evgeny
7817bb96aa
etcp_router: START/RST handshake для переживания рестарта пира
...
Раньше START ставился один раз при первой отправке и терялся в ретрансмите,
а принимающая сторона молча авто-синкала rx_seq на любой первый пакет —
после рестарта пира/среднего узла seq рассинхронизировались (тихий data loss
или no-ACK close). Теперь:
- Клиент: флаг start_sent «новый» до первого ACK; пока он стоит, первый
seq (0) шлётся со START, включая ретрансмит. Первый принятый ACK
(tx_acked>0) сбрасывает флаг. При рестарте conn флаг снова «новый».
- Сервер: после рестарта peer_sync_done=0 («ждёт START»). Не-START пакет →
отправка RST (через recv_conn). START → синк rx_seq + ACK → обычный режим.
- RST на принимающей стороне теперь сбрасывает локальное состояние
(etcp_router_conn_restart), а не закрывает conn.
Тесты unit обновлены: первый data-пакет сессии инжектится со START.
2026-09-05 15:03:44 +03:00
..
2026-08-07 00:48:27 +03:00
2026-09-03 13:49:09 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-09-03 13:49:09 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-16 12:10:33 +03:00
2026-08-07 00:48:27 +03:00
2026-09-04 13:21:24 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-09 08:19:20 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-16 09:19:09 +03:00
2026-08-07 00:48:27 +03:00
2026-08-16 09:19:09 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-09-04 13:21:24 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-13 19:14:14 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-09-04 13:21:24 +03:00
2026-09-05 15:03:44 +03:00
2026-09-03 13:49:09 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-09-03 13:49:09 +03:00
2026-08-07 00:48:27 +03:00
2026-08-16 09:19:09 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-09-03 23:24:50 +03:00
2026-08-07 00:48:27 +03:00
2026-09-03 23:24:50 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-09-04 09:02:46 +03:00
2026-08-15 14:39:14 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-09-03 13:49:09 +03:00
2026-08-07 00:48:27 +03:00
2026-08-16 12:10:33 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-09-04 13:21:24 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-16 10:10:58 +03:00
2026-08-16 10:10:58 +03:00
2026-08-07 00:48:27 +03:00
2026-08-16 10:10:58 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-09-03 13:49:09 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00
2026-09-03 13:49:09 +03:00
2026-08-09 14:06:34 +03:00
2026-08-07 00:48:27 +03:00
2026-08-07 00:48:27 +03:00