ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
src/acds/server.h
Go to the documentation of this file.
1#pragma once
2
26#include <stdint.h>
27#include <stdbool.h>
28#include <sqlite3.h>
29#include "common.h"
31#include "platform/socket.h"
32#include "network/tcp/server.h"
33#include "thread_pool.h"
34#include "acds/main.h"
35#include "acds/session.h"
36
49
56typedef struct {
58
59 // Identity
60 uint8_t identity_public[32];
61 uint8_t identity_secret[64];
62
63 // Session management
65
66 // Persistence
67 sqlite3 *db;
68
69 // Rate limiting
71
72 // Background worker threads (cleanup, etc.)
74 atomic_bool shutdown;
75
76 // Configuration
79
91
102
112
122void *acds_client_handler(void *arg);
๐Ÿ”Œ Cross-platform abstraction layer umbrella header for ascii-chat
๐Ÿ” ASCII-Chat Discovery Service (acds) main entry point
unsigned char uint8_t
Definition common.h:56
asciichat_error_t
Error and exit codes - unified status values (0-255)
Definition error_codes.h:46
๐ŸŽฏ Session registry for discovery service (lock-free RCU implementation)
Cross-platform socket interface for ascii-chat.
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 session_id[16]
uint8_t participant_id[16]
Per-client connection data.
bool joined_session
Whether client has successfully joined a session.
Discovery server configuration.
Definition acds/main.h:71
Discovery server state.
acds_config_t config
Runtime configuration.
atomic_bool shutdown
Shutdown flag for worker threads.
tcp_server_t tcp_server
TCP server abstraction.
sqlite3 * db
SQLite database handle.
session_registry_t * sessions
In-memory session registry.
struct rate_limiter_s * rate_limiter
SQLite-backed rate limiter.
thread_pool_t * worker_pool
Thread pool for background workers.
Rate limiter structure.
Definition rate_limit.c:63
Session registry (lock-free RCU)
Definition session.h:92
TCP server state.
Thread pool structure.
๐Ÿงต Generic thread pool abstraction for managing worker threads