From 91d1a7994e3fac73566a86202677ff18d6dd1760 Mon Sep 17 00:00:00 2001 From: evgeny Date: Wed, 14 Oct 2026 16:52:31 +0200 Subject: [PATCH] Record stream role lookup measurements and architecture decisions --- doc/tasks.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/doc/tasks.md b/doc/tasks.md index 9830819d..3a0ab745 100644 --- a/doc/tasks.md +++ b/doc/tasks.md @@ -14,10 +14,14 @@ Desktop/Android используют общий stream_media_open с проверкой выбранной эпохи и откатом нового owner при ошибке. Дополнительный reader-объект не нужен: владение и курсор уже находятся в STREAM_HANDLE. -[ ] **Live: оценить оставшиеся оптимизации архитектурного плана** — 14.10.2026: - Измерить стоимость получения кандидатов и повторных проверок участников; оптимизировать подтверждённые затраты. - Кэш авторизации требует полной инвалидации при изменении участников, подписантов и ключей канала. - Отделять relay от network только при упрощении владения; не выносить общие внутренние структуры ради размера файла. +[+] **Live: оценить оставшиеся оптимизации архитектурного плана** — 14.10.2026: + stream_member_supernode читает adm_tags конкретного node_id при deleted=0, без списка канала, сортировки и снимков узлов. + Синтетический замер SQLite в памяти: проверка роли 1024 участников — около 540 мс прежним способом против 2,9 мс рабочим API. + test_stream_service проверяет подписанные выдачу/отзыв роли, изоляцию каналов, absent/deleted и независимость от чужого snapshot. + Полная проверка корректного профиля stream_member_load занимает около 0,30 мс на этом стенде; проверки подписей сохранены. + Кэш авторизации не добавлен: он требует учёта участников, подписантов и ключей канала, одной версии профиля недостаточно. + Relay/network оставлены вместе: общий транспорт, учёт активных выдач и срок жизни подписки уже имеют единое владение. + Механический перенос потребовал бы дополнительных внутренних интерфейсов без упрощения жизненного цикла. [+] **Live: прямое превью Android без собственного decoder** — 14.10.2026: Камера одновременно выводит в encoder Surface и TextureView; собственное превью больше не открывает