|
ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
|
📡 Client protocol handler: packet reception, parsing, and dispatch with data thread coordination More...
Go to the source code of this file.
Functions | |
| bool | crypto_client_is_ready (void) |
| Check if crypto handshake is ready. | |
| const crypto_context_t * | crypto_client_get_context (void) |
| Get crypto context for encryption/decryption. | |
| int | crypto_client_decrypt_packet (const uint8_t *ciphertext, size_t ciphertext_len, uint8_t *plaintext, size_t plaintext_size, size_t *plaintext_len) |
| Decrypt a received packet. | |
| __attribute__ ((unused)) | |
| Data reception thread handle. | |
| const acip_client_callbacks_t * | protocol_get_acip_callbacks () |
| Get ACIP client callbacks for packet dispatch. | |
| int | protocol_start_connection () |
| Start protocol connection handling. | |
| void | protocol_stop_connection () |
| Stop protocol connection handling. | |
| bool | protocol_connection_lost () |
| Check if connection has been lost. | |
Variables | |
| remote_client_info_t | |
📡 Client protocol handler: packet reception, parsing, and dispatch with data thread coordination
The client protocol handler follows a producer-consumer pattern:
The protocol module manages a dedicated data reception thread:
Each packet type has a dedicated handler function:
Frame packets support optional zstd compression:
Protocol errors are classified and handled appropriately:
Uses shared buffer pool for efficient memory management:
Definition in file client/protocol.c.
| remote_client_info_t |
Definition at line 207 of file client/protocol.c.