Evgeny
0b385dca50
chatgui: обновление статуса/адресов узлов через чат-протокол
...
- merkle_sync: synced-флаг в сессии, MSG_ITEM_UPDATE(0x04), push_update() — рассылка лёгких дельт (online-статус) всем synced-соседям
- member_sync: apply_update в ops, node_updated_cb для GUI-нотификации внешних обновлений
- chat_sync: cs_on_peer_status_changed() — единая функция: БД + GUI + push_update + throttled member_sync_start (1/сек)
- cs_on_conn_down: исправлено — теперь сбрасывает nodes.online=0
- flush при destroy
3 months ago
Evgeny
ccd25813f6
refactor: extract merkle_sync — universal Merkle-tree sync module
...
- merkle_sync.h/c: tree (5-level prefix, SHA256 buckets), wire protocol
(HASHES/REQUEST/BATCH), sessions (10s timeout, 3 retries), async API
with done_cb
- member_sync: thin glue layer, implements 3 data model callbacks
(update_bucket_hash, get_items, apply_items) for chat members
- chat_sync: updated member_sync_start() calls with done_cb callback
- member_tree_hash table renamed to merkle_tree_hash
- member_sync.h public API preserved, internal tree/wire logic removed
3 months ago