|
ascii-chat 0.8.38
Real-time terminal-based video chat with ASCII art conversion
|
Internal session host structure. More...
Data Fields | |
| int | port |
| Port to listen on. | |
| char | ipv4_address [64] |
| IPv4 bind address. | |
| char | ipv6_address [64] |
| IPv6 bind address. | |
| int | max_clients |
| Maximum clients. | |
| bool | encryption_enabled |
| Encryption enabled. | |
| char | key_path [512] |
| Key path. | |
| char | password [256] |
| Password. | |
| session_host_callbacks_t | callbacks |
| Event callbacks. | |
| void * | user_data |
| User data for callbacks. | |
| socket_t | socket_v4 |
| IPv4 listen socket. | |
| socket_t | socket_v6 |
| IPv6 listen socket. | |
| bool | running |
| Server is running. | |
| session_host_client_t * | clients |
| Client array. | |
| int | client_count |
| Current client count. | |
| uint32_t | next_client_id |
| Next client ID counter. | |
| mutex_t | clients_mutex |
| Client list mutex. | |
| asciichat_thread_t | accept_thread |
| Accept thread handle. | |
| bool | accept_thread_running |
| Accept thread is running. | |
| asciichat_thread_t | receive_thread |
| Receive thread handle. | |
| bool | receive_thread_running |
| Receive thread is running. | |
| asciichat_thread_t | render_thread |
| Render thread handle (for video mixing and audio distribution) | |
| bool | render_thread_running |
| Render thread is running. | |
| session_audio_ctx_t * | audio_ctx |
| Audio context for mixing (host only) | |
| opus_codec_t * | opus_decoder |
| Opus decoder for decoding incoming Opus audio. | |
| opus_codec_t * | opus_encoder |
| Opus encoder for encoding mixed audio for broadcast. | |
| bool | initialized |
| Context is initialized. | |
Internal session host structure.
Contains server state, client list, and callback configuration.
| asciichat_thread_t session_host::accept_thread |
Accept thread handle.
Definition at line 132 of file host.c.
Referenced by session_host_start(), and session_host_stop().
| bool session_host::accept_thread_running |
Accept thread is running.
Definition at line 135 of file host.c.
Referenced by session_host_start(), and session_host_stop().
| session_audio_ctx_t* session_host::audio_ctx |
Audio context for mixing (host only)
Definition at line 150 of file host.c.
Referenced by session_host_destroy(), session_host_start_render(), and session_host_stop_render().
| session_host_callbacks_t session_host::callbacks |
Event callbacks.
Definition at line 105 of file host.c.
Referenced by session_host_add_client(), session_host_add_memory_participant(), session_host_create(), session_host_remove_client(), session_host_start(), and session_host_stop().
| int session_host::client_count |
Current client count.
Definition at line 123 of file host.c.
Referenced by session_host_add_client(), session_host_add_memory_participant(), session_host_create(), session_host_get_client_count(), session_host_remove_client(), and session_host_stop().
| session_host_client_t* session_host::clients |
Client array.
Definition at line 120 of file host.c.
Referenced by session_host_add_client(), session_host_add_memory_participant(), session_host_broadcast_frame(), session_host_client_has_transport(), session_host_create(), session_host_destroy(), session_host_find_client(), session_host_get_client_ids(), session_host_get_client_transport(), session_host_inject_audio(), session_host_inject_frame(), session_host_remove_client(), session_host_send_frame(), session_host_set_client_transport(), and session_host_stop().
| mutex_t session_host::clients_mutex |
Client list mutex.
Definition at line 129 of file host.c.
Referenced by session_host_add_client(), session_host_add_memory_participant(), session_host_broadcast_frame(), session_host_client_has_transport(), session_host_create(), session_host_destroy(), session_host_find_client(), session_host_get_client_ids(), session_host_get_client_transport(), session_host_inject_audio(), session_host_inject_frame(), session_host_remove_client(), session_host_send_frame(), session_host_set_client_transport(), and session_host_stop().
| bool session_host::encryption_enabled |
| bool session_host::initialized |
Context is initialized.
Definition at line 159 of file host.c.
Referenced by session_host_add_client(), session_host_add_memory_participant(), session_host_broadcast_frame(), session_host_client_has_transport(), session_host_create(), session_host_destroy(), session_host_find_client(), session_host_get_client_count(), session_host_get_client_ids(), session_host_get_client_transport(), session_host_inject_audio(), session_host_inject_frame(), session_host_is_running(), session_host_remove_client(), session_host_send_frame(), session_host_set_client_transport(), session_host_start(), session_host_start_render(), session_host_stop(), and session_host_stop_render().
| char session_host::ipv4_address[64] |
IPv4 bind address.
Definition at line 87 of file host.c.
Referenced by session_host_create(), and session_host_start().
| char session_host::ipv6_address[64] |
| char session_host::key_path[512] |
| int session_host::max_clients |
Maximum clients.
Definition at line 93 of file host.c.
Referenced by session_host_add_client(), session_host_add_memory_participant(), session_host_broadcast_frame(), session_host_client_has_transport(), session_host_create(), session_host_destroy(), session_host_find_client(), session_host_get_client_ids(), session_host_get_client_transport(), session_host_inject_audio(), session_host_inject_frame(), session_host_remove_client(), session_host_send_frame(), session_host_set_client_transport(), and session_host_stop().
| uint32_t session_host::next_client_id |
Next client ID counter.
Definition at line 126 of file host.c.
Referenced by session_host_add_client(), session_host_add_memory_participant(), and session_host_create().
| opus_codec_t* session_host::opus_decoder |
Opus decoder for decoding incoming Opus audio.
Definition at line 153 of file host.c.
Referenced by session_host_destroy(), session_host_start_render(), and session_host_stop_render().
| opus_codec_t* session_host::opus_encoder |
Opus encoder for encoding mixed audio for broadcast.
Definition at line 156 of file host.c.
Referenced by session_host_start_render(), and session_host_stop_render().
| char session_host::password[256] |
Password.
Definition at line 102 of file host.c.
Referenced by session_host_create(), and session_host_destroy().
| int session_host::port |
Port to listen on.
Definition at line 84 of file host.c.
Referenced by session_host_create(), and session_host_start().
| asciichat_thread_t session_host::receive_thread |
Receive thread handle.
Definition at line 138 of file host.c.
Referenced by session_host_start(), and session_host_stop().
| bool session_host::receive_thread_running |
Receive thread is running.
Definition at line 141 of file host.c.
Referenced by session_host_start(), and session_host_stop().
| asciichat_thread_t session_host::render_thread |
Render thread handle (for video mixing and audio distribution)
Definition at line 144 of file host.c.
Referenced by session_host_start_render(), session_host_stop(), and session_host_stop_render().
| bool session_host::render_thread_running |
Render thread is running.
Definition at line 147 of file host.c.
Referenced by session_host_start_render(), session_host_stop(), and session_host_stop_render().
| bool session_host::running |
Server is running.
Definition at line 117 of file host.c.
Referenced by session_host_broadcast_frame(), session_host_create(), session_host_destroy(), session_host_is_running(), session_host_send_frame(), session_host_start(), session_host_start_render(), and session_host_stop().
| socket_t session_host::socket_v4 |
IPv4 listen socket.
Definition at line 111 of file host.c.
Referenced by session_host_create(), session_host_destroy(), session_host_start(), and session_host_stop().
| socket_t session_host::socket_v6 |
IPv6 listen socket.
Definition at line 114 of file host.c.
Referenced by session_host_create(), session_host_destroy(), and session_host_stop().
| void* session_host::user_data |
User data for callbacks.
Definition at line 108 of file host.c.
Referenced by session_host_add_client(), session_host_add_memory_participant(), session_host_create(), session_host_remove_client(), session_host_start(), and session_host_stop().