Document atomic local publication and bootstrap cleanup

This commit is contained in:
evgeny committed 2026-10-24 14:25:18 +02:00
1 parent 94aaf3c8e3
commit 7c7c316c3f
2 files changed
+9 -1

No files matched your search

+8
View File
@@ -21,6 +21,12 @@ Parser проверяет точную длину пакета и проходи
8-битный `ver` сохраняется как диагностический счётчик; свежесть определяется
только timestamp.
Локальный узел группы готовится до удаления прежнего `local_node`: сравниваются сами адреса
и префиксы подсетей, включая замену при прежнем количестве. При отказе памяти, подписи или
конфликте IPv4-маршрутов прежние узел и маршруты сохраняются. Подсети CHAT не публикуются.
`topo_group_update_my_nodeinfo` возвращает число IPv4-подсетей, для CHAT — 0, при ошибке — -1;
рассылку подготовленного NODEINFO выполняет вызывающий.
Живая телефонная занятость передаётся без изменения структуры NODEINFO: в существующем
`flags` бит `0x04` означает известное состояние, `0x08` — занятость звонком.
Это групповые флаги `TOPO_GROUP_NODE.phone_status`, как флаг рации `0x02`;
@@ -58,6 +64,8 @@ snapshot загрузка использует его. Локальная пуб
Уникальность определяется endpoint и видом адреса,
а не отображаемым классом NAT. Старый производный формат пересоздаётся;
bootstrap-загрузка без подписанного snapshot не подтверждает NAT-профиль.
Такая загрузка требует хотя бы одного адреса; отказ SQL/памяти освобождает все частичные списки
и возвращает NULL. Наличие валидного snapshot с пустым списком адресов, напротив, допустимо.
При удалении старых `nat_evidence`/`nat_checked` адреса и REALITY сохраняются для bootstrap,
старые профили сбрасываются, сериализованные snapshots инвалидируются.
Максимальные timestamp snapshots сохраняются, чтобы новая локальная публикация
+1 -1
View File
@@ -26,7 +26,7 @@ db, groups и входные строки/объекты остаются у в
| peers_<id> | Блок участника, блок владельца и локальные поля конкретного канала |
topo_node_sqlite_init создаёт общие таблицы/индексы, обрабатывает прежние форматы проекции адресов
и восстанавливает deleted из adm_tags. peers_<id> создаётся при channel_put;
и восстанавливает deleted из adm_tags. peers_&lt;id&gt; создаётся при channel_put;
member_local_init идемпотентно добавляет radio_muted.
В снимке timestamp — Unix microseconds и версия всей подписанной записи.