CDI SDK
SDK for transporting chunks of data reliably and with low latency using a polled mode network driver.
|
The declarations in this header file correspond to the definitions in adapter_efa_probe.c. More...
#include "adapter_api.h"
#include "adapter_control_interface.h"
#include "private.h"
#include "protocol.h"
Go to the source code of this file.
Data Structures | |
struct | TxEndpointProbeState |
This defines a structure that contains all of the state information for the sending side of a single flow. More... | |
struct | RxEndpointProbeState |
This defines a structure that contains all of the state information for the receiving side of a single flow. More... | |
struct | ProbeEndpointState |
This defines a structure that contains all of the state information for the sending side of a single flow. Its contents are opaque to the calling program. More... | |
struct | ProbePacketWorkRequest |
Structure used to hold a transmit packet work request. The lifespan of a work request starts when a packet is queued to be sent and ends when a message is received that is has either been successfully sent or a failure has occurred. More... | |
struct | ControlCommand |
Structure used to hold a control command. More... | |
Typedefs | |
typedef struct ProbeEndpointState | ProbeEndpointState |
Type used as the handle (pointer to an opaque structure) for a probe connection. Each handle represents a instance of a probe connection. | |
typedef ProbeEndpointState * | ProbeEndpointHandle |
Forward declaration to create pointer to probe connection state when used. | |
Enumerations | |
enum | ProbeState { kProbeStateIdle , kProbeStateSendReset , kProbeStateSendProtocolVersion , kProbeStateResetting , kProbeStateResetDone , kProbeStateWaitForStart , kProbeStateEfaStart , kProbeStateEfaProbe , kProbeStateEfaTxProbeAcks , kProbeStateEfaConnected , kProbeStateEfaConnectedPing , kProbeStateEfaReset , kProbeStateDestroy } |
This enumeration is used in the TxEndpointProbeState and RxEndpointProbeState structures to indicate the current probe state for an application connection. NOTE: Any changes made here MUST also be made to "probe_mode_key_array". More... | |
enum | ControlCommandType { kCommandTypeStateChange , kCommandTypeRxPacket } |
This enumeration is used to define the type of command specified in the ControlCommand structure. More... | |
Functions | |
CdiReturnStatus | ProbeEndpointCreate (AdapterEndpointHandle app_adapter_endpoint_handle, CdiLogHandle log_handle, ProbeEndpointHandle *ret_handle_ptr) |
CdiReturnStatus | ProbeEndpointError (ProbeEndpointHandle handle) |
void | ProbeEndpointReset (ProbeEndpointHandle handle) |
CdiReturnStatus | ProbeEndpointResetDone (ProbeEndpointHandle handle) |
CdiReturnStatus | ProbeEndpointStart (ProbeEndpointHandle handle) |
void | ProbeEndpointStop (ProbeEndpointHandle handle) |
void | ProbeEndpointDestroy (ProbeEndpointHandle handle) |
The declarations in this header file correspond to the definitions in adapter_efa_probe.c.
typedef struct ProbeEndpointState ProbeEndpointState |
Type used as the handle (pointer to an opaque structure) for a probe connection. Each handle represents a instance of a probe connection.
Forward declaration of structure to create pointers.
enum ControlCommandType |
This enumeration is used to define the type of command specified in the ControlCommand structure.
Enumerator | |
---|---|
kCommandTypeStateChange | Command contains a value from the ProbeState enumeration. |
kCommandTypeRxPacket | Command contains a packet SGL that was received using the control interface. |
enum ProbeState |
This enumeration is used in the TxEndpointProbeState and RxEndpointProbeState structures to indicate the current probe state for an application connection. NOTE: Any changes made here MUST also be made to "probe_mode_key_array".
CdiReturnStatus ProbeEndpointCreate | ( | AdapterEndpointHandle | app_adapter_endpoint_handle, |
CdiLogHandle | log_handle, | ||
ProbeEndpointHandle * | ret_handle_ptr ) |
Create an instance of a new probe for the specifiec endpoint.
app_adapter_endpoint_handle | Application adapter endpoint handle. |
log_handle | Handle of log related to the specified endpoint. |
ret_handle_ptr | Pointer to returned probe endpoint handle. |
void ProbeEndpointDestroy | ( | ProbeEndpointHandle | handle | ) |
Destroy a probe endpoint.
handle | Handle of the probe endpoint to destroy. |
CdiReturnStatus ProbeEndpointError | ( | ProbeEndpointHandle | handle | ) |
Disables the EFA endpoint and puts the probe into connection reset state. The probe will then attempt to reset the remote connection and re-establish the connection. Once the connection has been re-established, the user-registered connection callback function will be invoked.
handle | Handle of probe related to the endpoint error. |
void ProbeEndpointReset | ( | ProbeEndpointHandle | handle | ) |
Reset a probe endpoint.
handle | Handle of probe related to the endpoint. |
CdiReturnStatus ProbeEndpointResetDone | ( | ProbeEndpointHandle | handle | ) |
The Endpoint Manager is in the final process of completing a reset of the endpoint by calling CdiAdapterResetEndpoint(), which uses this function to notify probe that the endpoint reset is done.
handle | Handle of probe related to the endpoint. |
CdiReturnStatus ProbeEndpointStart | ( | ProbeEndpointHandle | handle | ) |
The Endpoint Manager is in the final process of starting an endpoint by calling CdiAdapterStartEndpoint(), which uses this function to notify probe that the endpoint can be started.
handle | Handle of probe related to the endpoint. |
void ProbeEndpointStop | ( | ProbeEndpointHandle | handle | ) |
Stop a probe endpoint and wait for its thread to exit.
handle | Handle of the probe endpoint to stop. |