Browse Source

Document Reed-Solomon module and update streaming design

master
evgeny 2 days ago
parent
commit
9cc996b775
  1. 1
      AGENTS.md
  2. 1
      doc/.#stream.txt
  3. 18
      doc/stream.txt

1
AGENTS.md

@ -478,6 +478,7 @@ UASYNC/LL_QUEUE/MEMORY/TIMING объединены в SYS, NORMALIZER/BBR — в
- `timeout_heap.c/h` - Min-heap for timer management (used by u_async)
- `mem.c/h` - Memory wrappers with leak tracking (`u_malloc`/`u_free`/`u_calloc`/`u_strdup`)
- `serialize.c/h` - Binary serialization utilities
- `reed_solomon.c/h` - Кодирование и восстановление пачки данных Рида—Соломона с настраиваемым числом субблоков и избыточностью
- `swm_min.c/h` - Sliding window minimum (for RTT min tracking)
- `getmyip.c/h` - Локальный IP, который ОС выберет для UDP к заданному адресу (bind/connect/getsockname)
- `myip.c` - My IP helper (no header)

1
doc/.#stream.txt

@ -0,0 +1 @@
user@user-maibookpseries.1345709

18
doc/stream.txt

@ -1,10 +1,20 @@
Модуль стриминга. Архитектурные нюансы.
главная цель: узлы ищут более оптимальные пути доставки контента от источника до себя.
этап 1.
- реализуем в utun отдельным каталогом: src/stream
- источников стриминга может быть несколько в группе. для каждого источника в группе создается свой экземпляр. В этом экземпляре:
- отдельные списки хендлов подключений (ncd) для стриминга.
- узлы откуда берем трафик
- узлы куда отдаём трафик
формат передачи:
Источник формирует несколько потоков с разным битрейтом (до 3х штук).
Надо учитывать что узлы могут быть перегружены трафиком. 2 сигнала перегрузки: очередь отправки и поток uasync Не справляется с нагрузкой (uasync thread load).
- создаем отдельные списки подключений (ncd) для стриминга.
главная цель: узлы ищут более оптимальные пути доставки контента от источника до себя.
Надо учитывать что узлы могут быть перегружены трафиком. 2 сигнала перегрузки: очередь отправки и поток uasync Не справляется с нагрузкой.
надо сделать замер нагрузки на uasync.
- узлы учавствующие в стриминге анонсируют себя аналогично как сделано в рации.
У модуля свой фоновый опросчик связности и поиска хороших линков - он пробует связь с узлами стриминна кроме мобильных, и обновляет их rtt и флаг прямой доступности.

Loading…
Cancel
Save