CDI SDK
SDK for transporting chunks of data reliably and with low latency using a polled mode network driver.
|
Structure used to hold adapter endpoint state. More...
#include <adapter_api.h>
Data Fields | |
CdiListEntry | list_entry |
Allow these structures to live in a list in the adapter connection. | |
CdiEndpointHandle | cdi_endpoint_handle |
Handle of CDI endpoint associated with this adapter endpoint. | |
AdapterConnectionState * | adapter_con_state_ptr |
Pointer back to the adapter connection used by this endpoint. | |
MessageFromEndpoint | msg_from_endpoint_func_ptr |
Address of function used to queue packet messages from the endpoint. | |
void * | msg_from_endpoint_param_ptr |
Parameter passed to queue message function. | |
volatile CdiConnectionStatus | connection_status_code |
Current state of this endpoint. NOTE: Made volatile, since it is written to and read by different threads. The reader uses the value within a loop, so we don't want the value to be cached and held in a register. | |
CdiQueueHandle | tx_packet_queue_handle |
Circular queue of TxPacketState structures. | |
CdiSinglyLinkedList | tx_packet_waiting_list |
List of packets from packet queue waiting to be sent. | |
volatile uint32_t | tx_packets_in_process |
Number of Tx packets that are in process (sent but haven't received ACK/error response). | |
CdiAdapterEndpointStats * | endpoint_stats_ptr |
Address where to store adapter endpoint statistics. | |
CdiSignalType | start_signal |
Signal used to start adapter endpoint threads. A separate signal is used for the connection (see AdapterConnectionState.start_signal). | |
CdiSignalType | shutdown_signal |
Signal used to shutdown adapter endpoint threads. | |
CdiProtocolHandle | protocol_handle |
Handle of protocol being used. Value is NULL if none configured. | |
uint32_t | tx_in_flight_ref_count |
Number of Tx payloads/packets in flight. When a payload is being queued to transmit, the count is incremented by one. As each packet within a payload is being queued, the value is also incremented by 1. After each packet has been ACKed, this value is decremented by 1. In addition, when the last packet of a payload has been ACKed the value is decremented by 1. This is done to ensure that the value remains non-zero until all the packets of a payload have been ACKed. | |
int | maximum_payload_bytes |
The maximum number of bytes that can be sent in a packet through this connection. The number is computed by subtracting the number of bytes required for transmitting a packet through the medium supported by the connection from the maximum number of bytes in a packet on the medium. In other words, this is the maximum number of bytes that the scatter-gather list provided to CdiAdapterSendPacket() can contain. | |
int | maximum_tx_sgl_entries |
The maximum number of SGL entries that can be used to represent a single Tx packet of data. | |
int | msg_prefix_size |
The size of any required message prefix buffer space that an application must provide in front of all message send and receive buffers for use by the provider. The contents of the prefix space should be treated as opaque. This will be zero for providers that don't support prefix mode. | |
void * | type_specific_ptr |
Adapter specific endpoint data. | |
Structure used to hold adapter endpoint state.