void * FreeRTOS_GetUDPPayloadBuffer_Multi( size_t uxRequestedSizeBytes,
uint8_t ucIPType )
Obtains a buffer from the TCP/IP stack for use with the zero copy interface.
The zero copy interface for transmitting data is described on the
FreeRTOS_sendto() documentation page.
- The size of the buffer being requested. The size is specified in bytes.
- The maximum time the calling RTOS task is prepared to wait for a buffer if one is not immediately available.
If a buffer is not available then the calling RTOS task will be held in the Blocked state (so other tasks can
execute) until either a buffer becomes available or the block time expires.
The block time is specified in ticks. Milliseconds can be converted to ticks by dividing the time in milliseconds
To prevent deadlocks the maximum block time is capped to ipconfigMAX_SEND_BLOCK_TIME_TICKS.
ipconfigMAX_SEND_BLOCK_TIME_TICKS is defined in FreeRTOSIPConfig.h
- The type of buffer being requested - ipTYPE_IPv4 (0x40) or ipTYPE_IPv6 (0x60)
If a buffer was obtained then a pointer to the obtained buffer is returned.
If a buffer could not be obtained then NULL is returned.
The FreeRTOS_sendto() documentation page contains an example
zero copy send operation that includes a call to FreeRTOS_GetUDPPayloadBuffer_Multi().
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.