refactor(NET): 源码注释去阶段化 + 网络两份文档重构 + 不稳根因图更新
- 源码注释:删去自愈收敛阶段 1/1.5/3等 scaffolding 称谓,改为语义引用 (E-02 收口 / F-NET-2/3/4 / docs/网络/网络自愈架构设计.md §5.2 E13); 涉及 net_socket/.h、net_events、net_listener、net_pending、net_types、 net_config、ch395f、time_sync、iec104_serv、ui_net_sink、lftpd、 simulator/sim/net_socket_sim、board/host 测试与探针 - 文档重构:网络自愈架构设计.md 与 Net层阻塞模型架构设计.md 改为现状口径 (删历史节与阶段叙事),NET/README.md、docs/README.md 同步 - 工具与配图:gen_net_instability_svg.py 与 docs/images/网络不稳根因总览.svg 随源码口径一并更新 - 门禁:@build 0 错误 0 警告
This commit is contained in:
@@ -79,7 +79,7 @@ void net_bench_cmd_log(char tag, int sock, int detail) {
|
||||
#endif
|
||||
|
||||
|
||||
/* 对账+pump 合并周期(自愈收敛阶段 3:原 200ms 对账 / 100ms pump 合一) */
|
||||
/* 对账与监听重建合一周期(原 200ms 对账 / 100ms 重建合一) */
|
||||
#define NET_RECONCILE_PERIOD_MS 100U
|
||||
/* 同一 socket 两次动手的最小间隔(防抖成风暴) */
|
||||
#define NET_RECONCILE_COOLDOWN_MS 1000U
|
||||
@@ -242,7 +242,7 @@ void handle_disconnect_event(net_sock_t *p_sock) {
|
||||
* 而 TCP 槽 0x00 且本层 ESTABLISHED = 逻辑矛盾(活连接应 0x04):陈旧 DISCONNECT
|
||||
* (拆链完成滞后锁存,TRAP-NET-12)与"真断开恰被旧拆链覆写槽"在 D20 上不可分辨
|
||||
* (结构性失明,F-NET-15 Q1)。处置:不吃边沿,置可疑电平返回,交对账①
|
||||
* (ESTABLISHED + 芯片 TCP==CLOSED)电平去抖再入本函数(自愈收敛阶段 3 合并
|
||||
* (ESTABLISHED + 芯片 TCP==CLOSED)电平去抖再入本函数(对账与重建合一
|
||||
* 后=4×100ms,NET_RECON_STABLE_DEATH,让位租约 400ms 不变 + 冷却):
|
||||
* flag==1 旁路本门 → 正常释放;连接真活则租约内
|
||||
* 会话正常完成(风暴链掐断,E9a n30 0/50 实证)。
|
||||
@@ -426,7 +426,7 @@ static void fire_event(net_sock_t *p_sock, net_event_t event) {
|
||||
* 返回值:无
|
||||
* 限定条件:netTask 上下文(net_accept_locked 内调用,其开头已 net_poll(),
|
||||
* 驱动缓存新鲜度有保证)
|
||||
* 函数说明:1. 自愈收敛阶段 3(F-MS-9):判据改读**驱动状态缓存**(零 SPI;唯一
|
||||
* 函数说明:1. F-MS-9:判据改读**驱动状态缓存**(零 SPI;唯一
|
||||
* 刷新点=net_poll),**探针去抖删除**——原去抖防的两类瞬态已
|
||||
* 结构性消除:"刚 listen 尚未生效"显示 TCP=00 永不命中 ESTABLISHED
|
||||
* 门(E2:LISTEN 可见 100% <=10ms 无长尾);拆链窗假 ESTABLISHED
|
||||
@@ -456,7 +456,7 @@ void net_lost_connect_probe(net_sock_t *p_sock) {
|
||||
p_sock->lost_conn_seen = 0U;
|
||||
return;
|
||||
}
|
||||
/* 自愈收敛阶段 3(F-MS-9):去抖已删(判据读缓存,两类瞬态结构性消除,
|
||||
/* F-MS-9:去抖已删(判据读缓存,两类瞬态结构性消除,
|
||||
* 见函数头注释 1);lost_conn_seen 仅作 M3 可疑电平标志用,动手前清零 */
|
||||
p_sock->lost_conn_seen = 0U;
|
||||
/* 留痕:事件未收到自愈命中 */
|
||||
@@ -468,7 +468,7 @@ void net_lost_connect_probe(net_sock_t *p_sock) {
|
||||
|
||||
|
||||
/*
|
||||
* 函数功能:芯片/本层 socket 状态周期对账(TRAP-NET-17 事件面未收到自愈,E14 复核:非芯片丢事件是被读清消费)+ 监听器 pump(N-32 P2)—— 自愈收敛阶段 3 合并为单一 100ms tick(docs/网络/网络自愈架构设计.md §4.1)
|
||||
* 函数功能:芯片/本层 socket 状态周期对账(TRAP-NET-17 事件面未收到自愈,E14 复核:非芯片丢事件是被读清消费)+ 监听器重建 —— 合并为单一 100ms tick(docs/网络/网络自愈架构设计.md §4.1)
|
||||
* 入口参数:无
|
||||
* 出口参数:无
|
||||
* 返回值:无
|
||||
@@ -556,7 +556,7 @@ void net_reconcile_tick(void) {
|
||||
stable_need = NET_RECON_STABLE_DEATH;
|
||||
} else if ((c.open != CH395F_SOCKET_CLOSED) &&
|
||||
(c.tcp_state == CH395F_TCP_LISTEN)) {
|
||||
/* ⑤(F-NET-2 缺口,自愈收敛阶段1):芯片静默回收——本层 ESTABLISHED
|
||||
/* ⑤(F-NET-2 缺口):芯片静默回收——本层 ESTABLISHED
|
||||
* 而芯片已自行把 Socket 收回 LISTEN(0x05/0x01,**不发 DISCONNECT
|
||||
* 中断**,run8 台架实证)→ RESYNC 语义 */
|
||||
bad = 5;
|
||||
@@ -633,7 +633,7 @@ void net_reconcile_tick(void) {
|
||||
handle_disconnect_event(p_sock);
|
||||
} else if (bad == 5) {
|
||||
/* 类型⑤:静默回收 → RESYNC 语义(原 NET_MSG_RESYNC_LISTEN 分派体
|
||||
* 原样并入,自愈收敛阶段1;纪律同 U11:**不发任何芯片命令**——
|
||||
* 原样并入;纪律同 U11:**不发任何芯片命令**——
|
||||
* 重下发 close/重监听会摧毁芯片侧健康监听器 → 端口永拒,
|
||||
* run8 实证 170s 拒绝) */
|
||||
DBG_INFO("sock%d reconcile: chip re-listened w/o DISCONNECT (0x%02X/0x%02X) -> resync",
|
||||
|
||||
Reference in New Issue
Block a user