|
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_tx.h"#include "adapter_api.h"#include "adapter_efa_probe_control.h"#include "cdi_os_api.h"#include "endpoint_manager.h"#include "internal.h"#include "internal_utility.h"#include "payload.h"Macros | |
| #define | LEGACY_SEND_PING_COMMAND_FREQUENCY_MSEC (3000) |
| Legacy protocols before version 5 used 3000 for ping command frequency. | |
Functions | |
| static bool | EfaEnqueueSendProbePacket (ProbeEndpointState *probe_ptr) |
| static int | ProcessSendCommandRetry (ProbeEndpointState *probe_ptr, const char *remote_ip_str, int remote_dest_port, ProbeCommand command) |
| Process the state of command that can be resent multiple times, due to not receiving an ACK. | |
| void | ProbeTxEfaMessageFromEndpoint (void *param_ptr, Packet *packet_ptr, EndpointMessageType message_type) |
| void | ProbeTxControlMessageFromEndpoint (void *param_ptr, Packet *packet_ptr) |
| bool | ProbeTxControlProcessPacket (ProbeEndpointState *probe_ptr, const CdiDecodedProbeHeader *probe_hdr_ptr, uint64_t *wait_timeout_ms_ptr) |
| uint64_t | ProbeTxControlProcessProbeState (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 |
Send a probe packet using the EFA adapter interface to the endpoint associated with the probe connection. Only one packet is sent at a time, waiting for the packet's ACK before sending the next one. Probe doesn't send very many packets so no need to optimize and require additional DMA packet buffers.
| probe_ptr | Pointer to probe connection state data. |
| void ProbeTxControlMessageFromEndpoint | ( | void * | param_ptr, |
| Packet * | packet_ptr ) |
Process a control packet completion message from the transmitter probe control interface endpoint.
NOTE: This function is called from PollThread().
| param_ptr | Pointer to user parameter. |
| packet_ptr | Pointer to packet containing the control message. |
| bool ProbeTxControlProcessPacket | ( | ProbeEndpointState * | probe_ptr, |
| const CdiDecodedProbeHeader * | probe_hdr_ptr, | ||
| uint64_t * | wait_timeout_ms_ptr ) |
Process control message for Tx connection.
NOTE: This function is called from ProbeControlThread().
| probe_ptr | Pointer to probe endpoint state data. |
| probe_hdr_ptr | Pointer to control message header. |
| wait_timeout_ms_ptr | Pointer to current wait timeout. This function may alter the contents of the value. |
| uint64_t ProbeTxControlProcessProbeState | ( | ProbeEndpointState * | probe_ptr | ) |
Called when the wait timeout period has expired. Time to process the current Tx probe state.
NOTE: This function is called from ProbeControlThread().
| probe_ptr | Pointer to probe endpoint state data. |
| void ProbeTxEfaMessageFromEndpoint | ( | void * | param_ptr, |
| Packet * | packet_ptr, | ||
| EndpointMessageType | message_type ) |
Process a probe packet completion message from the transmitter EFA endpoint.
NOTE: This function is called from Poll().
| param_ptr | Pointer to user parameter. |
| packet_ptr | Pointer to packet. |
| message_type | Endpoint message type. |
|
static |
Process the state of command that can be resent multiple times, due to not receiving an ACK.
| probe_ptr | Pointer to probe endpoint state data. |
| remote_ip_str | Pointer to remote endpoint's IP string. |
| remote_dest_port | Remote endpoint's destination port. |
| command | Command to send. |