Clarify local media catalog seeding and channel cleanup contracts
This commit is contained in:
1 parent
8230eb4de7
commit
71d3b017e6
1 file changed
+5
-3
@@ -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 — занят/ошибка.
|
||||
|
||||
Reference in new issue
Block a user