硬汉嵌入式论坛

 找回密码
 立即注册
查看: 774|回复: 0
收起左侧

[NetX] ThreadX NetXDUO的TCP相关宏定义控制

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2021-12-2 14:46:28 | 显示全部楼层 |阅读模式

TCP 配置选项

NX_DISABLE_RESET_DISCONNECT        定义后,当提供的超时值指定为 NX_NO_WAIT 时,将禁止在断开连接期间进行重置处理。

NX_DISABLE_TCP_INFO        定义后,此选项用于禁用 TCP 信息收集。

NX_DISABLE_TCP_RX_CHECKSUM        定义后,将禁用接收到的 TCP 数据包上的校验和逻辑。 仅当链路层具有可靠的校验和或 CRC 处理,或者接口驱动程序能够验证硬件中的 TCP 校验和,且应用程序不使用 IPsec 时,此选项才很有用。

NX_DISABLE_TCP_TX_CHECKSUM        定义后,将禁用用于发送 TCP 数据包的校验和逻辑。 仅当接收网络节点接收到禁用了 TCP 校验和逻辑,或者基础网络驱动程序能够生成 TCP 校验和,且应用程序不使用 IPsec 时,此选项才很有用。

NX_ENABLE_TCP_KEEPALIVE        定义后,此选项用于启用可选的 TCP KeepAlive 计时器。 默认设置未启用。

NX_ENABLE_TCP_MSS_CHECK        定义后,可以在接受 TCP 连接之前验证对等 MSS 的最小值。 若要使用此功能,必须定义符号 NX_ENABLE_TCP_MSS_MINIMUM。 默认情况下不启用此选项。

NX_ENABLE_TCP_QUEUE_DEPTH_UPDATE_NOTIFY        定义后,允许应用程序安装一个回调函数,当 TCP 传输队列深度不再为最大值时,将调用该函数。 此回调可指示 TCP 套接字已准备好传输更多数据。 默认情况下,未启用此选项。

NX_ENABLE_TCP_WINDOW_SCALING        启用 TCP 应用程序的窗口缩放选项。 定义后,在 TCP 连接阶段会协商窗口缩放选项,且应用程序可以指定大于 64 K 的窗口大小。 未启用默认设置(未定义)。

NX_MAX_LISTEN_REQUESTS        指定服务器侦听请求的最大数量。 默认值为 10,在 nx_api.h 中定义。 应用程序可以在包含 nx_api.h 之前定义该值,以替代默认值。

NX_TCP_ACK_EVERY_N_PACKETS        指定发送 ACK 之前要接收的 TCP 数据包的数量。 注意,如果启用了 NX_TCP_IMMEDIATE_ACK,但未启用 NX_TCP_ACK_EVERY_N_PACKETS,则此值将自动设置为 1,以实现向后兼容性。

NX_TCP_ACK_TIMER_RATE        指定如何划分系统时钟周期 (NX_IP_PERIODIC_RATE) 的数量,以计算 TCP 延迟 ACK 处理的计时器速率。 默认值为 5(表示 200ms),在 nx_tcp.h 中定义。 应用程序可以在包含 nx_api.h 之前定义该值,以替代默认值。

NX_TCP_ENABLE_KEEPALIVE        已重命名为 NX_ENABLE_TCP_KEEPALIVE。 尽管此设计仍受支持,但建议使用新设计以使用 NX_ENABLE_TCP_KEEPALIVE。

NX_TCP_ENABLE_MSS_CHECK        已重命名为 NX_ENABLE_TCP_MSS_CHECK。尽管它仍受支持,但建议使用新设计以使用 NX_ENABLE_TCP_MSS_CHECK。

NX_TCP_ENABLE_WINDOW_SCALING        已重命名为 NX_ENABLE_TCP_WINDOW_SCALING。尽管它仍受支持,但建议使用新设计以使用 NX_ENABLE_TCP_WINDOW_SCALING。

NX_TCP_FAST_TIMER_RATE        指定如何划分 NetX Duo 的内部时钟周期 (NX_IP_PERIODIC_RATE) 的数量,以计算快速 TCP 计时器速率。 快速 TCP 计时器用于驱动各种 TCP 计时器,包括延迟 ACK 计时器。 默认值为 10,表示 100ms(假设 ThreadX 计时器在 10ms 时运行)。 此值在 nx_tcp.h 中定义。 应用程序可以在包含 nx_api.h 之前定义该值,以替代默认值。

NX_TCP_IMMEDIATE_ACK        定义后,将启用可选的 TCP 即时 ACK 响应处理。 定义此符号等效于将 NX_TCP_ACK_EVERY_N_PACKETS 定义为 1。

NX_TCP_KEEPALIVE_INITIAL        指定在 KeepAlive 计时器激活之前处于非活动状态的秒数。 默认值为 7200(表示 2 小时),在 nx_tcp.h 中定义。 应用程序可以在包含 nx_api.h 之前定义该值,以替代默认值。

NX_TCP_KEEPALIVE_RETRIES        指定在连接被视为中断之前允许 KeepAlive 重试的次数。 默认值为 10(表示 10 次重试),在 nx_tcp.h 中定义。 应用程序可以在包含 nx_api.h 之前定义该值,以替代默认值。

NX_TCP_KEEPALIVE_RETRY        指定在连接的另一方没有响应时,KeepAlive 计时器重试之间间隔的秒数。 默认值为 75(表示重试之间间隔 75 秒),在 nx_tcp.h 中定义。 应用程序可以在包含 nx_api.h 之前定义该值,以替代默认值。

NX_TCP_MAX_OUT_OF_ORDER_PACKETS        用于定义可在 TCP 套接字接收队列中保留的无序 TCP 数据包最大数量的符号。 此符号可用于限制在 TCP 接收套接字中排队的数据包数量,防止数据包池耗尽。 默认情况下未定义此符号,因此在 TCP 套接字中排队的无序数据包数没有限制。

NX_TCP_MAXIMUM_RETRIES        指定在连接被视为中断之前允许的数据传输重试次数。 默认值为 10(表示 10 次重试),在 nx_tcp.h 中定义。 应用程序可以在包含 nx_api.h 之前定义该值,以替代默认值。

NX_TCP_MAXIMUM_RX_QUEUE        用于定义 TCP 套接字最大接收队列的符号。 此功能由 NX_ENABLE_LOW_WATERMARK 启用。

NX_TCP_MAXIMUM_TX_QUEUE        指定 TCP 发送请求被挂起或拒绝之前 TCP 传输队列的最大深度。 默认值为 20,这表示在任意给定时间,传输队列中最多可以有 20 个数据包。 请注意,数据包将保留在传输队列中,直到从连接的另一端接收到涵盖部分或全部数据包数据的 ACK。 此常量在 nx_tcp.h 中定义。 应用程序可以在包含 nx_api.h 之前定义该值,以替代默认值。

NX_TCP_MSS_MINIMUM        定义 NetX Duo TCP 模块接受的最小 MSS 值的符号。 此功能由 NX_ENABLE_TCP_MSS_CHECK 启用。

NX_TCP_QUEUE_DEPTH_UPDATE_NOTIFY_ENABLE        已重命名为 NX_ENABLE_TCP_QUEUE_DEPTH_UPDATE_NOTIFY。 尽管它仍受支持,但建议使用新设计以使用 NX_ENABLE_TCP_QUEUE_DEPTH_UPDATE_NOTIFY。

NX_TCP_RETRY_SHIFT        指定重试之间的重新传输超时期限如何变化。 如果此值为 0,则初始重新传输超时与后续重新传输超时相同。 如果此值为 1,则每个连续重新传输时长为前一个的 2 倍。 如果此值为 2,则每个后续的重新传输超时时长为前一个的 4 倍。 默认值为 0,在 nx_tcp.h 中定义。 应用程序可以在包含 nx_api.h 之前定义该值,以替代默认值。

NX_TCP_TRANSMIT_TIMER_RATE        指定如何划分系统时钟周期 (NX_IP_PERIODIC_RATE) 的数量,以计算 TCP 传输重试处理的计时器速率。 默认值为 1,表示 1 秒,在 nx_tcp.h 中定义。 应用程序可以在包含 nx_api.h 之前定义该值,以替代默认值。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 03:22 , Processed in 0.140674 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表