Browse Source

Document supernode stream assistance and completed validation

master
evgeny 6 days ago
parent
commit
14e2cdc23d
  1. 6
      doc/stream.txt
  2. 10
      doc/tasks.md

6
doc/stream.txt

@ -902,7 +902,8 @@ READY будит selector и снимает старый backoff данного
После первой действующей выдачи запрос становится BOUND; дальнейшую потребность подтверждают обычные RENEW/аренда. После первой действующей выдачи запрос становится BOUND; дальнейшую потребность подтверждают обычные RENEW/аренда.
Если помощь не даёт прогресса потребителя 15 секунд и набор по-прежнему недостаточен, её выдачи закрываются, Если помощь не даёт прогресса потребителя 15 секунд и набор по-прежнему недостаточен, её выдачи закрываются,
selector пробует другого суперузла. Запросы/ответы не продлевают аренду raw-выдач. selector пробует другого суперузла. Запросы/ответы не продлевают аренду raw-выдач.
Состояние закрытого запроса сохраняется 60 секунд; оно также ограничивает частоту повторных попыток к тому же суперузлу. Состояние закрытого запроса сохраняется 60 секунд. Неуспех имеет такой же cooldown для этого суперузла;
после обычного закрытия успешной помощи новый nonce допускается сразу.
Один внутренний owner/экземпляр на точную эпоху обслуживает всех получателей. У него обычные buffer/FEC/selector, Один внутренний owner/экземпляр на точную эпоху обслуживает всех получателей. У него обычные buffer/FEC/selector,
но нет player и пользовательских callbacks, пока нет публичного viewer. Добавление viewer делит тот же буфер. но нет player и пользовательских callbacks, пока нет публичного viewer. Добавление viewer делит тот же буфер.
@ -925,4 +926,5 @@ Relay-only экземпляр не запрашивает новую помощ
test_stream_service проверяет отсутствие помощи при прямом успехе/паузе источника, автоматический fallback, test_stream_service проверяет отсутствие помощи при прямом успехе/паузе источника, автоматический fallback,
раздачу нескольким зрителям, общий owner с локальным viewer, остановку при уходе последнего, раздачу нескольким зрителям, общий owner с локальным viewer, остановку при уходе последнего,
поздний повтор запроса, исключение relay-only кандидатов и передачу пустого подписанного END. поздний повтор запроса до/после удаления tombstone, CANCEL до REQUEST, истечение READY без SUBSCRIBE,
откат неуспешного добавления viewer, исключение relay-only кандидатов и передачу пустого подписанного END.

10
doc/tasks.md

@ -4,6 +4,16 @@
## Текущие задачи ## Текущие задачи
[+] **Стриминг: помощь суперузлов по запросу** — 13.10.2026: автоматический запрос
при невозможности получения k субпотоков, внутреннее владение точной эпохой,
общий буфер со зрителями, аренды и остановка без downstream. Relay-only
экземпляры не удерживают друг друга. Подписанное управление с подтверждением
поколения, таймаут READY, защита от поздних запросов и пустой END.
Routed ID перенесён на 0x3C из-за конфликта с MEMBER_FILES; wire v4.
Исправлено владение CM handles репликации медиа при смене роли суперузла.
Контракт: `doc/stream.txt`, раздел 21. 148 тестов прошли, 1 пропущен;
`test_stream_service` и отдельный `--relay-only` завершились без утечек.
[ ] **Android: отмена асинхронного запуска до готовности ядра** — при проверке [ ] **Android: отмена асинхронного запуска до готовности ядра** — при проверке
мониторинга 12.10.2026 обнаружено: `NativeLib.stop()` пропускает native stop, мониторинга 12.10.2026 обнаружено: `NativeLib.stop()` пропускает native stop,
если `isReady()==false`, а `instance_lite_stop()` возвращается при `g_inst==NULL`. если `isReady()==false`, а `instance_lite_stop()` возвращается при `g_inst==NULL`.

Loading…
Cancel
Save