CDI SDK
SDK for transporting chunks of data reliably and with low latency using a polled mode network driver.
|
This file contains internal definitions and implementation used within the SDK to support functionality that is not part of the API. More...
#include "adapter_efa.h"
#include "adapter_efa_probe_rx.h"
#include "adapter_api.h"
#include "adapter_efa_probe_control.h"
#include "adapter_efa_probe_tx.h"
#include "endpoint_manager.h"
#include "internal_rx.h"
#include "internal_utility.h"
#include "cdi_os_api.h"
#include <arpa/inet.h>
Functions | |
static void | SaveRemoteEndpointInfo (CdiEndpointHandle cdi_endpoint_handle, const CdiDecodedProbeHeader *probe_hdr_ptr, const struct sockaddr_in *source_address_ptr) |
static ProbeEndpointState * | FindProbeEndpoint (AdapterConnectionHandle handle, const CdiDecodedProbeHeader *probe_hdr_ptr, const struct sockaddr_in *address_ptr) |
static void | DestroyRxEndpoint (ProbeEndpointState *probe_ptr) |
void | ProbeRxEfaMessageFromEndpoint (void *param_ptr, Packet *packet_ptr, EndpointMessageType message_type) |
void | ProbeRxControlMessageFromEndpoint (void *param_ptr, Packet *packet_ptr) |
bool | ProbeRxControlProcessPacket (ProbeEndpointState *probe_ptr, const CdiDecodedProbeHeader *probe_hdr_ptr, const struct sockaddr_in *source_address_ptr, uint64_t *wait_timeout_ms_ptr) |
uint64_t | ProbeRxControlProcessProbeState (ProbeEndpointState *probe_ptr) |
This file contains internal definitions and implementation used within the SDK to support functionality that is not part of the API.
|
static |
Destroy Rx endpoint.
probe_ptr | Pointer to probe endpoint state data. |
|
static |
Use the specified control packet to try and find an existing probe endpoint that matches the information contained in the packet. If a match is found, the handle of the matching probe endpoint is returned, otherwise NULL is returned.
handle | Handle of adpater connection. |
probe_hdr_ptr | Pointer to control packet header. |
address_ptr | Pointer to address structure (sockaddr_in). |
void ProbeRxControlMessageFromEndpoint | ( | void * | param_ptr, |
Packet * | packet_ptr ) |
Process a control packet completion message received from an endpoint.
NOTE: This function is called from SocketReceiveThread().
param_ptr | Pointer to probe endpoint state data (AdapterEndpointState*). |
packet_ptr | Pointer to packet containing the control message. |
bool ProbeRxControlProcessPacket | ( | ProbeEndpointState * | probe_ptr, |
const CdiDecodedProbeHeader * | probe_hdr_ptr, | ||
const struct sockaddr_in * | source_address_ptr, | ||
uint64_t * | wait_timeout_ms_ptr ) |
Process control message for Rx connection.
NOTE: This function is called from ProbeControlThread().
probe_ptr | Pointer to probe endpoint state data. |
probe_hdr_ptr | Pointer to control message header. |
source_address_ptr | Pointer to source address structure (sockaddr_in). |
wait_timeout_ms_ptr | Pointer to current wait timeout. This function may alter the contents of the value. |
uint64_t ProbeRxControlProcessProbeState | ( | ProbeEndpointState * | probe_ptr | ) |
Called when the wait timeout period has expired. Time to process the current Rx probe state.
NOTE: This function is called from ProbeControlThread().
probe_ptr | Pointer to probe endpoint state data. |
void ProbeRxEfaMessageFromEndpoint | ( | void * | param_ptr, |
Packet * | packet_ptr, | ||
EndpointMessageType | message_type ) |
Process a probe packet completion message from the receiver EFA endpoint.
NOTE: This function is called from PollThread().
param_ptr | Pointer to probe endpoint state data (ProbeEndpointState*). |
packet_ptr | Pointer to packet. |
message_type | Endpoint message type. |
|
static |
Save data from remote endpoint.
cdi_endpoint_handle | CDI endpoint handle. |
probe_hdr_ptr | Pointer to control packet header data. |
source_address_ptr | Pointer to source address structure (sockaddr_in). |