Browse Source

docs: record conn_mgr recovery validation and check timeout limitation

master
evgeny 2 weeks ago
parent
commit
91a69b939c
  1. 31
      doc/tasks.md

31
doc/tasks.md

@ -13,20 +13,23 @@
Исправление общее для Qt и Android. DEBUG-категория `debug` раз в секунду Исправление общее для Qt и Android. DEBUG-категория `debug` раз в секунду
показывает исходный RTT, RTT в мс, транспортного соседа и метрики аудио. показывает исходный RTT, RTT в мс, транспортного соседа и метрики аудио.
[ ] **Восстановление путей conn_mgr на протяжении жизни handle** — план: [+] **Восстановление путей conn_mgr на протяжении жизни handle** — начальный
разделить начальный TIMEOUT и срок отдельного цикла проб. После потери прямого TIMEOUT отделён от срока цикла проб. Поздний обрыв запускает новый цикл;
пути сразу использовать живой резерв, запустить новый DIRECT/LOCAL/REVERSE; рабочий резерв и NCD сохраняются, при отсутствии резерва INDIRECT стартует сразу.
при отсутствии пригодного посредника сразу повторить INDIRECT. Доставку через Циклы ограничены 15с, паузы 1→2→4→8→15с; новая версия узла или локальные сокеты
рабочего посредника сохранять до READY прямого пути. Пока есть handles и нет обходят паузу. Прямой READY останавливает поиск и получает приоритет.
прямого READY, повторять ограниченные циклы с паузой 1→2→4→8→15с; новая версия Исходящие request_id и входящие сроки независимы; устаревшие ответы игнорируются.
адресов или изменение локальных сокетов запускает пробу без ожидания этой паузы. UP/DOWN отражают общую доступность, TIMEOUT приходит один раз до первого UP.
NCD удерживать, создавать заново только после CLOSED; существующие UDP/TCP-пробы Последний close отменяет восстановление, включая закрытие из callback.
не дублировать и не отменять. Рабочие посредники и router-очереди не сбрасывать. Проверены десять сетевых сценариев с реальными данными: поздний обрыв,
Новые request_id каждого обмена, идемпотентные повторы, отдельный срок обработки повторные циклы, смена адресов/сокетов, потеря маршрута посредника, старый ACK,
входящего обмена; старые ответы не меняют новый выбор. UP/DOWN — только изменение начальный TIMEOUT с поздним UP и close. ASAN без ошибок; собраны Qt и Android APK.
общей доступности, TIMEOUT — один раз при неудаче первого подключения. Алгоритм: `src/routing_layer/conn_mgr_doc.md`.
Закрытие последнего handle отменяет восстановление. Проверить поздний обрыв,
несколько циклов, смену адресов, потерю посредника, устаревшие ответы и close. [ ] **Общий лимит check.sh после clean** — 01.10.2026: расчёт по времени предыдущего
прогона дал 205с вместе с полной сборкой и оборвал проверку после успешных тестов
до `test_uasync_socket_race`. Повторный запуск использует готовую сборку и больший
лимит. Разделить бюджет сборки и запуска тестов либо учитывать clean при расчёте.
[ ] **Паузы аудио Qt при звонке с SM** — 01.10.2026, звонок [ ] **Паузы аудио Qt при звонке с SM** — 01.10.2026, звонок
`939a3ea36f3eeac3`, прямой LAN TCP `192.168.40.250:44604 ↔ 192.168.40.247:44173`. `939a3ea36f3eeac3`, прямой LAN TCP `192.168.40.250:44604 ↔ 192.168.40.247:44173`.

Loading…
Cancel
Save