CDI SDK
SDK for transporting chunks of data reliably and with low latency using a polled mode network driver.
Loading...
Searching...
No Matches
TestConnectionInfo Struct Reference

A structure for storing all info related to a specific connection, including test settings, connection configuration data from the SDK, and state information for the test connection. More...

#include <test_control.h>

Data Fields

CdiLogMethodData log_method_data
 CDI log method.
 
CdiAdapterHandle adapter_handle
 CDI adapter Handle.
 
CdiConnectionHandle connection_handle
 The connection handle returned by CdiRawTxCreate().
 
TestSettings test_settings
 Test settings data structure provided by the user.
 
CdiSignalType payload_callback_signal
 Signal to indicate when a payload has been delivered.
 
volatile bool payload_error
 true if Tx callback got a payload error.
 
CdiSignalType connection_state_change_signal
 Signal used for connection state changes.
 
volatile CdiConnectionStatus connection_status
 Current status of the connection.
 
void * adapter_tx_buffer_ptr
 Adapter's Tx buffer pointer.
 
uint64_t payload_start_time
 Payload start time, used by Tx Callback functions.
 
int payload_cb_count
 Number of times payload callback function has been invoked. NOTE: This variable is used by multiple threads and not declared volatile. It is used as an example of how to use the CdiOsAtomic...() API functions.
 
CdiThreadID ndi_thread_id
 NDI thread ID.
 
CdiReturnStatus ndi_thread_rs
 NDI thread return status.
 
CdiSignalType ndi_thread_signal
 NDI thread signal.
 
CdiPoolHandle ndi_frame_data_pool_handle
 Memory Pool Handle.
 
CdiFifoHandle payload_fifo_handle
 Payload FIFO Handle.
 
CdiFifoHandle callback_fifo_handle
 Callback FIFO Handle.
 
NDIlib_recv_instance_t pNDI_recv
 NDI receiver pointer.
 
NDIlib_send_instance_t pNDI_send
 NDI sender pointer.
 
CdiPoolHandle ndi_audio_pool_handle
 NDI audio pool handle.
 
CdiPoolHandle ndi_video_pool_handle
 NDI video pool handle.
 
CdiAvmBaselineConfig last_baseline_config [kCdiAvmAncillary]
 Baseline AVM configuration[CdiBaselineAvmPayloadType]. Used to log changes to AVM.
 
CdiPtpTimestamp connection_start_time
 Start time for the connection. For TX this is the time of the first payload sent. For RX it is the time from the PTP timestamp of the first payload received.
 
uint64_t total_audio_samples
 Total number of audio samples processed.
 
uint32_t total_video_frames
 Total number of video frames processed.
 
uint64_t total_video_duration_ns
 Total video duration in nanoseconds.
 
double cdi_video_period_fraction_ns
 Video CDI period fractional portion in nS.
 
double cdi_audio_period_fraction_ns
 Audio CDI period fractional portion in uS.
 
CdiCsID connection_handle_lock
 Lock used to protect access to connection connection_handle.
 
CdiEndpointHandle tx_stream_endpoint_handle_array [CDI_MAX_ENDPOINTS_PER_CONNECTION]
 
int my_index
 This connection's index;.
 
union { 
 
   CdiRxConfigData   rx 
 Rx Configuration data.
 
   CdiTxConfigData   tx 
 Tx Configuration data.
 
config_data 
 The config data structure returned by the CdiRawTxCreate or CdiRawRxCreate functions.
 
void * local_data_ptr
 Pointer to thread-local storage.
 
TestSettingstest_settings_ptr
 
CdiSignalType payload_done_signal
 
int payload_count
 The current total payload count.
 
int total_payloads
 The total number of requested payloads.
 
int current_stream_count
 The current stream counter. We will use this to track which stream we are operating on at a give time.
 
bool pass_status
 Flag to indicate if this connection has passed or failed its testing.
 
uint64_t num_payload_errors
 
CdiSignalType done_signal
 Signal to indicate when this connection is done testing (when payload_count matches total_payloads).
 
CdiThreadID thread_id
 Thread ID for this connection.
 
CdiSignalType connection_shutdown_signal
 Shutdown signal for this thread.
 
CdiConnectionStatus connection_status_stream_array [CDI_MAX_ENDPOINTS_PER_CONNECTION]
 Current status of the streams in a connection.
 
CdiFifoHandle fifo_handle
 
CdiLogHandle app_file_log_handle
 Test application Log file handle for this connection.
 
CdiLogHandle sdk_file_callback_log_handle
 SDK Log file handle for this connection.
 
CdiPoolHandle tx_user_data_pool_handle
 Handle of memory pool used to hold TestTxUserData structures.
 
uint64_t tx_late_payload_count
 Number of payloads that were transmitted late.
 
uint32_t transfer_time_max_overall
 Overall maximum time in microseconds to transmit a payload.
 
uint32_t transfer_time_min_overall
 Overall minimum time in microseconds to transmit a payload.
 
int number_stats
 Number of payload counter stats in payload_counter_stats_array.
 
CdiPayloadCounterStats payload_counter_stats_array [CDI_MAX_ENDPOINTS_PER_CONNECTION]
 A copy of the last stats. Updated at the end of TestStatisticsCallback().
 
int total_poll_thread_load
 Total CPU load for all endpoints associated with this connection.
 
TestConnectionStreamInfo stream_info [CDI_MAX_SIMULTANEOUS_TX_PAYLOADS_PER_CONNECTION]
 Array of stream info data structures for storing stream-specific variables.
 
uint64_t pattern_count
 Pattern counter used to generate unique value in each payload.
 
TestDynamicHandle test_dynamic_handle
 Instance of test dynamic component related to this connection.
 
int payload_received_count
 Number of payloads successfully received. NOTE: This variable is used by multiple threads and not declared volatile. It is used as an example of how to use the CdiOsAtomic...() API functions.
 
int rate_period_microseconds
 Calculated Tx rate period.
 

Detailed Description

A structure for storing all info related to a specific connection, including test settings, connection configuration data from the SDK, and state information for the test connection.

Field Documentation

◆ connection_handle

CdiConnectionHandle TestConnectionInfo::connection_handle

The connection handle returned by CdiRawTxCreate().

The connection handle returned by the Cdi...TxCreate or Cdi...RxCreate functions.

◆ fifo_handle

CdiFifoHandle TestConnectionInfo::fifo_handle

The connection handle returned by the CdiFifoCreate function, used for communicating between callback function and helper threads.

◆ num_payload_errors

uint64_t TestConnectionInfo::num_payload_errors

Counter to count payload transmission errors. Used to determine whether to quit or continue based on –keep_alive setting.

◆ payload_callback_signal

CdiSignalType TestConnectionInfo::payload_callback_signal

Signal to indicate when a payload has been delivered.

Signal to indicate when a payload has been received.

◆ payload_done_signal

CdiSignalType TestConnectionInfo::payload_done_signal

Signal to indicate when this connection is done with a payload. For a transmitter, this is set when confirmation of a payload being transmitted has been received via TestTxProcessCoreCallbackData(). For a receiver, it is set whenever a payload is received via TestRxProcessCoreCallbackData().

◆ payload_error

volatile bool TestConnectionInfo::payload_error

true if Tx callback got a payload error.

true if Rx callback got a payload error.

◆ test_settings_ptr

TestSettings* TestConnectionInfo::test_settings_ptr

Pointer to the test_settings data structure provided by the user to describe the test parameters for this connection.

◆ tx_stream_endpoint_handle_array

CdiEndpointHandle TestConnectionInfo::tx_stream_endpoint_handle_array[CDI_MAX_ENDPOINTS_PER_CONNECTION]

Array of Tx stream handles associated with this connection. Each handle is returned by the CdiAvmTxStreamEndpointCreate function.


The documentation for this struct was generated from the following files: