Clarify LAN adapter thread, delivery and settings contracts

This commit is contained in:
evgeny committed 2026-10-27 03:20:41 +01:00
1 parent 8fefd510a6
commit 55328e18af
1 file changed
+6 -2
+6 -2
View File
@@ -1,6 +1,9 @@
/* Адаптер LAN discovery: готовые invite-ссылки и подписанные адреса известных узлов, без запуска JOIN.
* Адреса подтверждаются nonce-ответом только при отсутствии прямого UP и BGP-путей во всех группах.
* Ключи берутся из registry/SQLite и не передаются в открытых объявлениях; NODEINFO не изменяется. */
* Ключи берутся из registry/SQLite и не передаются в открытых объявлениях; NODEINFO не изменяется.
* Весь API и callbacks работают в uasync-потоке живого instance; stop — до освобождения ядра.
* LOCAL_INVITE передаёт проверенную ссылку обработчику chat_event; получение не запускает JOIN.
* LOCAL_DELIVERY подтверждает доставку ссылки устройству, а не вступление в канал. */
#ifndef CHAT_LOCAL_H
#define CHAT_LOCAL_H
@@ -16,7 +19,8 @@ int chat_local_start(struct UTUN_INSTANCE* inst);
/* Снять подписку и уничтожить транспорт чат-сервиса; NULL/repeat допустимы. */
void chat_local_stop(struct UTUN_INSTANCE* inst);
/* Применить local_invites_enabled/local_broadcasts_enabled из chat_setting без рестарта.
* При отсутствии транспорта ничего не делает. Возвращает 0/-1. */
* Receive проверяется при каждой доставке, broadcasts применяется к транспорту.
* При отсутствии транспорта ничего не делает. Возвращает 0/-1; сохранённые настройки не откатывает. */
int chat_local_apply_settings(struct UTUN_INSTANCE* inst);
/* Трамплины uasync. peers получает заимствованный inst; send освобождает u_malloc request. */
void chat_local_peers_trampoline(void* inst);