dm: прямой обмен сообщениями (DM) + soundtouch + архитектура звонков
- src/dm/: dm_core/dm_crypto/dm_mailbox — прямой обмен сообщениями (DM) - lib/soundtouch-master/: vendored SoundTouch (изменение темпа/высоты аудио) - doc/dm_arch.md, doc/chat_call_arch.md: архитектура DM и звонков - tests: test_dm.c, test_dm_e2e.c - chat: рефакторинг chat_* модулей, member_sync, invite_build - chatgui/chatgui-android: синхронизация с новым API чата - lib/u_async, debug_config, utun_instance: сопутствующие изменения
This commit is contained in:
1 parent
761f64cf76
commit
73fe99b33f
123 files changed
+14095
-1270
No files matched your search
@@ -29,9 +29,16 @@ extern "C" {
|
||||
#include "etcp_api.h"
|
||||
#include "config_parser.h"
|
||||
#include "topo_group.h"
|
||||
#include "chat/chat_setting.h"
|
||||
#include "chat/chat_event.h"
|
||||
|
||||
// Forward declarations
|
||||
struct utun_config;
|
||||
struct chat_core_ctx;
|
||||
struct chat_sync;
|
||||
struct join_key_entry; /* chat_join.c */
|
||||
struct dm_state;
|
||||
struct dm_mb_state;
|
||||
struct uasync_s;
|
||||
struct ROUTE_TABLE;
|
||||
struct ETCP_CONN;
|
||||
@@ -186,6 +193,16 @@ struct UTUN_INSTANCE {
|
||||
struct CONN_MGR* conn_mgr; // Connection Manager (может быть NULL)
|
||||
struct DB_SYNC* db_sync; // Distributed DB sync (может быть NULL)
|
||||
|
||||
// Chat/DM subsystem (per-instance contexts; were global singletons)
|
||||
struct chat_core_ctx* chat_core; // chat_core.c (was g_cc)
|
||||
struct chat_sync* chat_sync; // chat_sync.c (was g_cs)
|
||||
struct join_key_entry* join_keys; // chat_join.c (was g_keys; собственный init/destroy)
|
||||
struct dm_state* dm; // dm/dm_core.c (was g_dm)
|
||||
struct dm_mb_state* dm_mailbox; // dm/dm_mailbox.c (was g_mb)
|
||||
struct chat_setting_state chat_settings; // chat_setting.c (was globals)
|
||||
chat_event_handler_fn chat_event_handler; // chat_event.c (was g_handler)
|
||||
void* headless; // chat_headless_control.c (was g_hc)
|
||||
|
||||
// E2E encryption cache — per-peer sc_context_t with derived session key
|
||||
#define E2E_CTX_CACHE_SIZE 8
|
||||
struct { uint64_t peer_node_id; struct secure_channel ctx; uint8_t valid; } e2e_ctx_cache[E2E_CTX_CACHE_SIZE];
|
||||
|
||||
Reference in new issue
Block a user