|
ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
|
Server context - encapsulates all server state. More...
#include <src/server/main.h>
Data Fields | |
| tcp_server_t * | tcp_server |
| TCP server managing connections. | |
| rate_limiter_t * | rate_limiter |
| Connection and packet rate limiter. | |
| client_manager_t * | client_manager |
| Client registry and state. | |
| rwlock_t * | client_manager_rwlock |
| RW lock protecting client manager. | |
| atomic_bool * | server_should_exit |
| Shutdown flag. | |
| mixer_t * | audio_mixer |
| Multi-client audio mixer. | |
| server_stats_t * | stats |
| Server statistics. | |
| mutex_t * | stats_mutex |
| Mutex protecting stats. | |
| bool | encryption_enabled |
| Whether encryption is enabled. | |
| private_key_t * | server_private_key |
| Server's private key. | |
| public_key_t * | client_whitelist |
| Whitelisted client public keys. | |
| size_t | num_whitelisted_clients |
| Number of whitelisted clients. | |
Server context - encapsulates all server state.
This structure holds all server-wide state that was previously stored in global variables. It's passed to client handlers via tcp_server user_data, reducing global state and improving modularity.
Definition at line 81 of file server/main.h.
| mixer_t* server_context_t::audio_mixer |
Multi-client audio mixer.
Definition at line 96 of file server/main.h.
| client_manager_t* server_context_t::client_manager |
Client registry and state.
Definition at line 89 of file server/main.h.
| rwlock_t* server_context_t::client_manager_rwlock |
RW lock protecting client manager.
Definition at line 90 of file server/main.h.
| public_key_t* server_context_t::client_whitelist |
Whitelisted client public keys.
Definition at line 105 of file server/main.h.
| bool server_context_t::encryption_enabled |
Whether encryption is enabled.
Definition at line 103 of file server/main.h.
| size_t server_context_t::num_whitelisted_clients |
Number of whitelisted clients.
Definition at line 106 of file server/main.h.
| rate_limiter_t* server_context_t::rate_limiter |
Connection and packet rate limiter.
Definition at line 86 of file server/main.h.
| private_key_t* server_context_t::server_private_key |
Server's private key.
Definition at line 104 of file server/main.h.
| atomic_bool* server_context_t::server_should_exit |
Shutdown flag.
Definition at line 93 of file server/main.h.
| server_stats_t* server_context_t::stats |
Server statistics.
Definition at line 99 of file server/main.h.
| mutex_t* server_context_t::stats_mutex |
Mutex protecting stats.
Definition at line 100 of file server/main.h.
| tcp_server_t* server_context_t::tcp_server |
TCP server managing connections.
Definition at line 83 of file server/main.h.
Referenced by create_client_render_threads(), and server_main().