下载 FreeRTOS
 

出色的 RTOS & 嵌入式软件

最新资讯
FreeRTOS-Plus-TCP 现具有统一的 IPv4 和 IPv6 功能,支持多接口。
为基于 FreeRTOS 的固件实现防砖化 MCU FOTA:
宣布停止支持 FreeRTOS 202012 LTS。
FreeRTOS 网站现已提供简体中文版本
新的 FreeRTOS Long Term Support 版本现已发布。

FreeRTOS_ReleaseUDPPayloadBuffer()

[FreeRTOS-Plus-TCP API 引用]

FreeRTOS_IP.h
void FreeRTOS_ReleaseUDPPayloadBuffer( void *pvBuffer );
		

FreeRTOS_ReleaseUDPPayloadBuffer() 用于向 TCP 堆栈 返回与零拷贝接口一起使用的缓冲区。

用于传输数据的零拷贝接口的描述,请参阅 FreeRTOS_sendto() 文档页面

用于接收数据的零拷贝接口的描述,请参阅 FreeRTOS_recvfrom() 文档页面

如果出现以下情况,则需要将缓冲区返回到堆栈:

  1. 缓冲区通过调用 FreeRTOS_recvfrom() 获取,并且它所包含 的数据已不再需要使用,或者

  2. 缓冲区通过调用 获取, 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.