Document complete membership queries separately from row presence

This commit is contained in:
evgeny committed 2026-10-24 16:50:41 +02:00
1 parent af50fde9d9
commit 4a00da31da
2 files changed
+4 -2

No files matched your search

+1 -1
View File
@@ -160,7 +160,7 @@ struct topo_connect_peer {
uint8_t client_type, supernode;
};
/* Все неудалённые участники, включая self; сначала connected, затем RTT/node_id.
/* Все полные неудалённые участники (source=0, deleted=0), включая self; сначала connected, затем RTT/node_id.
* 0/-1; массив принадлежит вызывающему и освобождается u_free(). */
int topo_node_sqlite_get_connect_peers(sqlite3* db, const char* channel_id,
struct topo_connect_peer** out, size_t* out_count);
+3 -1
View File
@@ -96,6 +96,8 @@ Placeholder не участвует в Merkle-хеше; сетевой форм
member_exists, member_in_channel, get_member_channels учитывают любое наличие строки,
в том числе source=1 и deleted=1. Это не проверка полной подписанной записи участника.
member_allowed требует source=0 и deleted=0: его используют допуск CHAT-сессий и запуск связи после INVITE_INFO.
Запись в БД должна быть проверена перед сохранением; SQL-запрос подписи повторно не проверяет.
member_get_join требует ровно 64 байта подписи; channel_get проверяет размер запрошенных ключей/подписи.
member_del физически удаляет строку без tombstone и пересчёта Merkle.
@@ -110,7 +112,7 @@ channel_delete удаляет peers/msg/feedback, канал с приватны
| API | Выборка |
| --- | --- |
| get_connect_peers | Все неудалённые участники канала, включая self; connected, затем известный RTT/RTT/node_id |
| get_connect_peers | Полные неудалённые участники (source=0, deleted=0), включая self; connected, затем известный RTT/RTT/node_id |
| get_connected_peers | connected=1, deleted=0 в указанном канале |
| get_supernode_peers | node_type=4, deleted=0 в указанном канале |
| get_public_peers | Глобальные адреса addr_type 1/2 с записью nodes, кроме self и удалённых в указанном канале |