void *FreeRTOS_GetUDPPayloadBuffer( size_t xRequestedSizeBytes, TickType_t xBlockTimeTicks );
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
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 by
To prevent deadlocks the maximum block time is capped to
is defined in FreeRTOSIPConfig.h
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().
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.