29#include <ascii-chat/network/tcp/server.h>
30#include <ascii-chat/network/acip/acds.h>
31#include <ascii-chat/options/options.h>
32#include <ascii-chat/thread_pool.h>
33#include <ascii-chat/crypto/handshake/common.h>
35#include <ascii-chat/discovery/session.h>
69 uint8_t pending_session_keys[MAX_IDENTITY_KEYS][32];
98 uint8_t identity_public[32];
99 uint8_t identity_secret[64];
void * acds_client_handler(void *arg)
Per-client connection handler (thread entry point)
void acds_server_shutdown(acds_server_t *server)
Shutdown discovery server.
asciichat_error_t acds_server_init(acds_server_t *server, const acds_config_t *config)
Initialize discovery server.
asciichat_error_t acds_server_run(acds_server_t *server)
Run discovery server main loop.
uint8_t participant_id[16]
Per-client connection data.
acip_session_create_t pending_session
Pending session data (from first SESSION_CREATE)
bool handshake_complete
Whether crypto handshake has completed.
crypto_handshake_context_t handshake_ctx
Handshake context for encrypted communication.
bool joined_session
Whether client has successfully joined a session.
size_t num_pending_keys
Number of keys received so far.
bool in_multikey_session_create
True during multi-key SESSION_CREATE sequence.
Discovery server configuration.
acds_config_t config
Runtime configuration.
size_t num_active_migrations
Number of active migrations.
atomic_bool shutdown
Shutdown flag for worker threads.
tcp_server_t tcp_server
TCP server abstraction.
sqlite3 * db
SQLite database handle.
struct rate_limiter_s * rate_limiter
SQLite-backed rate limiter.
thread_pool_t * worker_pool
Thread pool for background workers.
In-memory host migration context.
uint64_t migration_start_ns
When migration started (nanoseconds since sokol_time setup)