Clarify local media catalog seeding and channel cleanup contracts

This commit is contained in:
evgeny committed 2026-10-22 21:20:21 +02:00
1 parent 8230eb4de7
commit 71d3b017e6
1 file changed
+5 -3
+5 -3
View File
@@ -35,7 +35,7 @@ struct UTUN_INSTANCE;
struct media_super_peer {
uint64_t peer_node_id; // Эти два поля подряд — 16-байтный ключ очереди.
uint64_t group_id;
uint64_t group_id; // CHAT-группа, отдельное владение даже при том же peer_node_id.
struct media_pkt_sync_req request; // Неизменяемый запрос до успешного commit/отмены.
struct media_pkt_sync_req response; // Один ожидающий выдачи запрос пира; ответы вычисляются из БД.
uint64_t deadline_tb; // Дедлайн запроса, idle-сверки или повторного открытия CM.
@@ -141,7 +141,8 @@ void media_delivery_stream_done(struct UTUN_INSTANCE* inst);
// ── Анонсы доступности блоков ──
/* Автор анонсирует свои блоки суперузлам CHAT-группы (HAVE_BLOCK), чтобы первый
* скачивающий мог найти держателя через QUERY. Вызывается после регистрации медиа. */
* скачивающий мог найти держателя через QUERY. Вызывается после регистрации медиа.
* Собственные зарегистрированные блоки добавляются в локальный каталог и без удалённых суперузлов. */
void media_delivery_announce_media(struct UTUN_INSTANCE* inst, uint64_t group_id,
const uint8_t* media_id, const uint8_t* block_ids,
int num_blocks);
@@ -159,7 +160,8 @@ void media_delivery_announce_local_blocks(struct UTUN_INSTANCE* inst);
// ── Отмена работы канала ──
/* Отменить всё активное, что связано с каналом (локальное удаление канала):
* загрузки с group_id, их relay-контексты и super_peers этой группы. */
* загрузки с group_id, их relay-контексты и super_peers этой группы.
* Каталог группы и её RX-курсоры удаляются одной транзакцией; ошибка очистки логируется. */
void media_delivery_cancel_channel(struct UTUN_INSTANCE* inst, uint64_t group_id);
/* Зарезервировать путь в общей базе перед любой подготовкой файла; NULL — занят/ошибка.