FreeRTOS_IP.h
void FreeRTOS_ReleaseUDPPayloadBuffer( void *pvBuffer );
FreeRTOS_ReleaseUDPPayloadBuffer() 用于向 TCP 堆栈
返回与零拷贝接口一起使用的缓冲区。
用于传输数据的零拷贝接口的描述,请参阅
FreeRTOS_sendto() 文档页面。
用于接收数据的零拷贝接口的描述,请参阅
FreeRTOS_recvfrom() 文档页面。
如果出现以下情况,则需要将缓冲区返回到堆栈:
-
缓冲区通过调用 FreeRTOS_recvfrom() 获取,并且它所包含
的数据已不再需要使用,或者
-
缓冲区通过调用 获取,
FreeRTOS_GetUDPPayloadBuffer_Multi() 或
, FreeRTOS_GetUDPPayloadBuffer()
但无法将缓冲区传递到 TCP/IP 堆栈中(对使用
缓冲区的 FreeRTOS_sendto() 的调用失败)。
缓冲区也可重复使用,而不是返回到 TCP/IP 堆栈。
参数:
pvBuffer
|
返回到 TCP/IP 堆栈的缓冲区。
|
用法示例:
FreeRTOS_sendto() 文档页面
包含一个零拷贝发送操作示例,该示例展示了如何在发送操作失败时使用 FreeRTOS_ReleaseUDPPayloadBuffer()
。
FreeRTOS_recvfrom() 文档页面
包含一个示例,该示例展示了如何使用 FreeRTOS_ReleaseUDPPayloadBuffer() 释放
通过调用 FreeRTOS_recvfrom() 获取的缓冲区。
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.