CDI SDK
SDK for transporting chunks of data reliably and with low latency using a polled mode network driver.
|
This header file contains definitions of types and the one global variable used internally by the SDK's implementation. These are details that do not need to be exposed to the user programs via the API. More...
#include <stdbool.h>
#include "configuration.h"
#include "cdi_avm_api.h"
#include "cdi_logger_api.h"
#include "cdi_os_api.h"
#include "cdi_pool_api.h"
#include "cdi_queue_api.h"
#include "cloudwatch_sdk_metrics.h"
#include "fifo_api.h"
#include "list_api.h"
#include "payload.h"
#include "singly_linked_list_api.h"
Go to the source code of this file.
Data Structures | |
struct | CdiGlobalContext |
Structure to hold variables that would otherwise be global in order to keep them contained in one manageable location. All members will be explicitly zeroed at program startup. More... | |
struct | AppPayloadCallbackData |
This defines a structure that contains all of the data required to use the application registered payload callback functions. More... | |
struct | TxPayloadState |
This defines a structure that contains all of the state information for sending a single payload. More... | |
struct | TxConState |
This defines a structure that contains all of the state information for the sending side of a single flow. More... | |
struct | RxPayloadWorkRequestState |
This defines a structure that contains all of the state information for the receiving side of a payload's work request. The lifespan of the data begins when packet #0 (CDI header) of a Rx CDI packet is received and ends when the user-registered CdiRawRxCallback() Rx callback function is invoked. More... | |
struct | CdiReorderList |
Structure containing top, bottom pointers and sequence numbers of sgls that comprise payload. when the entire payload is received, this will be one list. More... | |
struct | RxPayloadState |
This defines a structure that contains all of the state information for the receiving side of a payload. The data is only required internally by the RxPacketReceive() function and not used elsewhere. More... | |
struct | RxConState |
This defines a structure that contains all of the state information for an rx connection. The data is only required internally by receive connections. More... | |
struct | TxEndpointState |
This defines a structure that contains the state information for the sending side's endpoint of a single flow. More... | |
struct | RxEndpointState |
This defines a structure that contains the state information for an Rx endpoint. The data is only required internally by the RxPacketReceive() API and not used elsewhere. More... | |
struct | CdiEndpointState |
Structure definition behind the connection handles shared with the user's application program. Its contents are opaque to the user's program where it only has a pointer to a declared but not defined structure. More... | |
struct | CdiConnectionState |
Structure definition behind the connection handles shared with the user's application program. Its contents are opaque to the user's program where it only has a pointer to a declared but not defined structure. More... | |
struct | MemoryLinearState |
This defines a structure used to contain all of the state information for a linear buffer. More... | |
struct | CdiMemoryState |
Structure definition behind the Scatter-Gather List internal data handles shared with the user's application program. Its contents are opaque to the user's program where it only has a pointer to a declared but not defined structure. More... | |
Typedefs | |
typedef struct EndpointManagerGlobalState * | EndpointManagerGlobalHandle |
Forward reference of structure to create pointers later. | |
typedef struct CdiAdapterState | CdiAdapterState |
Forward reference of structure to create pointers later. | |
typedef struct AdapterConnectionState | AdapterConnectionState |
Forward reference of structure to create pointers later. | |
typedef struct AdapterEndpointState | AdapterEndpointState |
Forward reference of structure to create pointers later. | |
typedef struct AdapterEndpointState * | AdapterEndpointHandle |
Forward reference of structure to create pointers later. | |
typedef struct CdiConnectionState | CdiConnectionState |
Forward reference of structure to create pointers later. | |
typedef struct CdiEndpointState | CdiEndpointState |
Forward reference of structure to create pointers later. | |
typedef struct EndpointManagerState | EndpointManagerState |
Forward reference of structure to create pointers later. | |
typedef struct EndpointManagerState * | EndpointManagerHandle |
Forward reference of structure to create pointers later. | |
typedef struct StatisticsState | StatisticsState |
Forward reference of structure to create pointers later. | |
typedef struct StatisticsState * | StatisticsHandle |
Forward reference of structure to create pointers later. | |
typedef struct CdiStatsCallbackState * | CdiStatsCallbackHandle |
Forward reference of structure to create pointers later. | |
typedef struct ReceiveBufferState | ReceiveBufferState |
Forward reference of structure to create pointers later. | |
typedef struct ReceiveBufferState * | ReceiveBufferHandle |
Forward reference of structure to create pointers later. | |
typedef struct TxPayloadState | TxPayloadState |
Forward reference of structure to create pointers later. | |
typedef void(* | CdiCallback) (const void *param_ptr) |
Generic type used to pass Tx/Rx callbacks to internal functions. | |
typedef struct CdiMemoryState | CdiMemoryState |
Forward reference of structure to create pointers later. | |
typedef struct SdkLogState * | SdkLogHandle |
Forward reference of structure to create pointers later. | |
typedef struct CdiReorderList | CdiReorderList |
Forward reference of structure to create pointers later. | |
Enumerations | |
enum | ConnectionHandleType { kHandleTypeTx = 0x5a , kHandleTypeRx = 0xa5 } |
This enumeration is used in the CdiConnectionState and CdiEndpointState structures to indicate which of the two state structures is contained in the union. Unusual numbers were chosen to decrease the likelihood of a pointer to a random location in memory from being interpreted as a valid handle. More... | |
enum | CdiPayloadState { kPayloadIdle = 0 , kPayloadPacketZeroPending , kPayloadInProgress , kPayloadError , kPayloadIgnore , kPayloadComplete } |
Enumeration used to maintain payload state. More... | |
enum | CdiBackPressureState { kCdiBackPressureNone , kCdiBackPressureActive } |
This enumeration is used to indicate the current backpressure state of a connection. More... | |
enum | { kMagicAdapter = 0xacd95f67 , kMagicConnection = 0xf98b0b0d , kMagicEndpoint = 0x725c4e3a , kMagicMemory = 0xdcf693e4 } |
Random numbers to aid in detecting invalid handles. | |
Variables | |
CdiGlobalContext | cdi_global_context |
The one global variable defined by the SDK containing all of its state information. | |
This header file contains definitions of types and the one global variable used internally by the SDK's implementation. These are details that do not need to be exposed to the user programs via the API.
typedef void(* CdiCallback) (const void *param_ptr) |
Generic type used to pass Tx/Rx callbacks to internal functions.
param_ptr | to callback type specific data. |
enum CdiBackPressureState |
enum CdiPayloadState |
Enumeration used to maintain payload state.
enum ConnectionHandleType |
This enumeration is used in the CdiConnectionState and CdiEndpointState structures to indicate which of the two state structures is contained in the union. Unusual numbers were chosen to decrease the likelihood of a pointer to a random location in memory from being interpreted as a valid handle.
Enumerator | |
---|---|
kHandleTypeTx | Transmitter type handle. |
kHandleTypeRx | Receiver type handle. |
|
extern |
The one global variable defined by the SDK containing all of its state information.
The one global variable defined by the SDK containing all of its state information.