CDI SDK
SDK for transporting chunks of data reliably and with low latency using a polled mode network driver.
Loading...
Searching...
No Matches
rx_reorder_packets.h
Go to the documentation of this file.
1// -------------------------------------------------------------------------------------------
2// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.
3// This file is part of the AWS CDI-SDK, licensed under the BSD 2-Clause "Simplified" License.
4// License details at: https://github.com/aws/aws-cdi-sdk/blob/mainline/LICENSE
5// -------------------------------------------------------------------------------------------
6
13#ifndef RX_REORDER_H__
14#define RX_REORDER_H__
15
16#include <stdint.h>
17
18#include "internal.h"
19
20//*********************************************************************************************************************
21//***************************************** START OF DEFINITIONS AND TYPES ********************************************
22//*********************************************************************************************************************
23
24//*********************************************************************************************************************
25//******************************************* START OF PUBLIC FUNCTIONS ***********************************************
26//*********************************************************************************************************************
27
41bool RxReorderPacketPayloadStateInit(CdiProtocolHandle protocol_handle, CdiPoolHandle payload_sgl_entry_pool_handle,
42 CdiPoolHandle reorder_entries_pool_handle, RxPayloadState* payload_state_ptr,
43 const CdiSgList* new_sglist_ptr, int initial_offset, int sequence_num);
44
64bool RxReorderPacket(CdiProtocolHandle protocol_handle, CdiPoolHandle payload_sgl_entry_pool_handle,
65 CdiPoolHandle reorder_entries_pool_handle, RxPayloadState* payload_state_ptr,
66 const CdiSgList* new_sglist_ptr, int initial_offset, int sequence_num);
67
75void RxReorderPacketFreeLists(CdiReorderList* reorder_list_ptr, CdiPoolHandle payload_sgl_entry_pool_handle,
76 CdiPoolHandle reorder_entries_pool_handle);
77
78#endif // RX_REORDER_H__
The declarations in this header file correspond to the definitions in internal.c.
void RxReorderPacketFreeLists(CdiReorderList *reorder_list_ptr, CdiPoolHandle payload_sgl_entry_pool_handle, CdiPoolHandle reorder_entries_pool_handle)
removes all lists and sgls used in processing the out of order packets
Definition rx_reorder_packets.c:538
bool RxReorderPacketPayloadStateInit(CdiProtocolHandle protocol_handle, CdiPoolHandle payload_sgl_entry_pool_handle, CdiPoolHandle reorder_entries_pool_handle, RxPayloadState *payload_state_ptr, const CdiSgList *new_sglist_ptr, int initial_offset, int sequence_num)
Adds initial entry to payload_state_ptr->reorder_list_ptr.
Definition rx_reorder_packets.c:557
bool RxReorderPacket(CdiProtocolHandle protocol_handle, CdiPoolHandle payload_sgl_entry_pool_handle, CdiPoolHandle reorder_entries_pool_handle, RxPayloadState *payload_state_ptr, const CdiSgList *new_sglist_ptr, int initial_offset, int sequence_num)
Adds an entry to the payload sgl. Also checks for and maintains outstanding packets that are received...
Definition rx_reorder_packets.c:584
This structure represents the current state of a memory pool.
Definition pool.c:46
Structure used to hold negotiated protocol version information.
Definition protocol.h:242
Structure containing top, bottom pointers and sequence numbers of sgls that comprise payload....
Definition private.h:220
This structure defines a scatter-gather list (SGL) which is used to represent an array of data compri...
Definition cdi_core_api.h:728
This defines a structure that contains all of the state information for the receiving side of a paylo...
Definition private.h:244