net_process_messages注释改为标准字段格式(功能/返回值/限定/说明),内容不变,二进制零差异
This commit is contained in:
@@ -497,25 +497,29 @@ static void net_reconcile_tick(void) {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* 函数功能:netTask 主循环核心 —— 自愈 tick 宿主 + 消息队列分派器。每轮
|
* 函数功能:netTask 主循环核心 —— 自愈 tick 宿主 + 消息队列分派器。每轮
|
||||||
* 先跑三个非阻塞自愈 tick(D10 重监听 / L3 挂起 recv / Trap 22
|
* 先跑三个非阻塞自愈 tick(D10 重监听 / L3 挂起 recv /
|
||||||
* 状态对账),再非阻塞排空队列按 msg.type 分派到 _locked 实现。
|
* Trap 22 状态对账),再非阻塞排空队列按 msg.type 分派到 _locked 实现。
|
||||||
|
* 返回值:无(void);消息结果经 xTaskNotify 通知值回传(成功=字节数/描述符,
|
||||||
|
* 失败=具体错误码),调用方 net_wait_result 拾取,对外统一 -1。
|
||||||
* 限定条件:必须在 netTask 上下文中调用(独占 CH395F 与 s_net_socks 访问权);
|
* 限定条件:必须在 netTask 上下文中调用(独占 CH395F 与 s_net_socks 访问权);
|
||||||
* 由 net_task.c 在 net_stack_bring_up 之后每次 1ms 循环调用。
|
* 由 net_task.c 在 net_stack_bring_up 之后每次 1ms 循环调用。
|
||||||
* 返回值 :void;结果经 xTaskNotify 通知值回传(成功=字节数/描述符,
|
* 函数说明:1. 三个自愈 tick 均非阻塞(绝不 osDelay 忙等,netTask 永不冻结),
|
||||||
* 失败=具体错误码);调用方 net_wait_result 拾取,对外统一 -1。
|
* 先于消息分派执行:
|
||||||
* 函数说明:
|
* - net_relisten_retry_tick(D10):断连后按 30ms
|
||||||
* ① 三个自愈 tick 均非阻塞(绝不 osDelay 忙等,netTask 永不冻结):
|
* (NET_RELISTEN_RETRY_MS)节拍重试 open+listen,2s
|
||||||
* - net_relisten_retry_tick(D10):断连后按 30ms(NET_RELISTEN_RETRY_MS)
|
* (NET_RELISTEN_DEADLINE_MS)总时限到期放弃留痕;本 fd
|
||||||
* 节拍重试 open+listen,2s(NET_RELISTEN_DEADLINE_MS)总时限到期放弃留痕;
|
* 有在途挂起 recv 时跳过(L3 保险);
|
||||||
* 本 fd 有在途挂起 recv 时跳过(L3 保险)。
|
* - net_pending_tick(L3):按节拍了结挂起 recv(数据/到点/
|
||||||
* - net_pending_tick(L3):按节拍了结挂起 recv(①数据 ②到点 ③断连);
|
* 断连);到点后 1s(NET_PENDING_WATCHDOG_MS)未了结 →
|
||||||
* 到点后 1s(NET_PENDING_WATCHDOG_MS)未了结 → 强制了结 + DBG_ERROR 留痕。
|
* 强制了结 + DBG_ERROR 留痕;
|
||||||
* - net_reconcile_tick(Trap 22):每 200ms(NET_RECONCILE_PERIOD_MS)对账,
|
* - net_reconcile_tick(Trap 22):每 200ms
|
||||||
* 连续 2 次失配去抖 + 1s 冷却,三类失同步自愈。
|
* (NET_RECONCILE_PERIOD_MS)对账,连续 2 次失配去抖 +
|
||||||
* ② net_msg_t 按值入队,netTask 侧副本调用方不可见 → 结果只能搭
|
* 1s 冷却,三类失同步自愈。
|
||||||
* 任务通知值回传;32 位整体即结果,不做位域压缩。
|
* 2. net_msg_t 按值入队,netTask 侧副本调用方不可见 → 结果只能搭
|
||||||
* ③ RECV 特例:无数据+阻塞 → 登记 pending 哨兵 NET_PENDING_REGISTERED
|
* 任务通知值回传;32 位整体即结果,不做位域压缩。
|
||||||
* (0x70000000),do_notify=0,回执推迟到 net_pending_tick 完成时。
|
* 3. RECV 特例:无数据+阻塞 → 登记 pending 哨兵
|
||||||
|
* NET_PENDING_REGISTERED(0x70000000),do_notify=0,回执
|
||||||
|
* 推迟到 net_pending_tick 完成时。
|
||||||
*/
|
*/
|
||||||
void net_process_messages(void) {
|
void net_process_messages(void) {
|
||||||
net_msg_t msg;
|
net_msg_t msg;
|
||||||
|
|||||||
Reference in New Issue
Block a user