|
ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
|
ACIP protocol packet handlers implementation. More...
Go to the source code of this file.
Typedefs | |
| typedef asciichat_error_t(* | acip_client_handler_func_t) (const void *payload, size_t payload_len, const acip_client_callbacks_t *callbacks) |
| Client-side packet handler function pointer type. | |
| typedef asciichat_error_t(* | acip_server_handler_func_t) (const void *payload, size_t payload_len, void *client_ctx, const acip_server_callbacks_t *callbacks) |
| Server-side packet handler function pointer type. | |
Functions | |
| asciichat_error_t | acip_handle_client_packet (acip_transport_t *transport, packet_type_t type, const void *payload, size_t payload_len, const acip_client_callbacks_t *callbacks) |
| Handle incoming packet on client side. | |
| asciichat_error_t | acip_handle_server_packet (acip_transport_t *transport, packet_type_t type, const void *payload, size_t payload_len, void *client_ctx, const acip_server_callbacks_t *callbacks) |
| Handle incoming packet on server side. | |
ACIP protocol packet handlers implementation.
Implements packet dispatching for both client and server sides. Uses O(1) array-based dispatch instead of O(n) switch statements. Parses packet payloads and dispatches to registered callbacks.
Definition in file handlers.c.
| typedef asciichat_error_t(* acip_client_handler_func_t) (const void *payload, size_t payload_len, const acip_client_callbacks_t *callbacks) |
Client-side packet handler function pointer type.
All client packet handlers follow this signature for O(1) array dispatch.
| payload | Packet payload data |
| payload_len | Payload length in bytes |
| callbacks | Application callbacks structure |
Definition at line 39 of file handlers.c.
| typedef asciichat_error_t(* acip_server_handler_func_t)(const void *payload, size_t payload_len, void *client_ctx, const acip_server_callbacks_t *callbacks) |
Server-side packet handler function pointer type.
All server packet handlers follow this signature for O(1) array dispatch.
| payload | Packet payload data |
| payload_len | Payload length in bytes |
| client_ctx | Per-client context (e.g., client_info_t*) |
| callbacks | Application callbacks structure |
Definition at line 53 of file handlers.c.
| asciichat_error_t acip_handle_client_packet | ( | acip_transport_t * | transport, |
| packet_type_t | type, | ||
| const void * | payload, | ||
| size_t | payload_len, | ||
| const acip_client_callbacks_t * | callbacks | ||
| ) |
Handle incoming packet on client side.
Dispatches packet to appropriate callback based on type. Transport-agnostic - works with TCP, WebSocket, etc.
| transport | Transport instance |
| type | Packet type |
| payload | Packet payload |
| payload_len | Payload length |
| callbacks | Application callbacks |
Definition at line 119 of file handlers.c.
References ASCIICHAT_OK, ERROR_INVALID_PARAM, log_warn, and SET_ERRNO.
Referenced by acip_client_receive_and_dispatch().
| asciichat_error_t acip_handle_server_packet | ( | acip_transport_t * | transport, |
| packet_type_t | type, | ||
| const void * | payload, | ||
| size_t | payload_len, | ||
| void * | client_ctx, | ||
| const acip_server_callbacks_t * | callbacks | ||
| ) |
Handle incoming packet on server side.
Dispatches packet to appropriate callback based on type. Transport-agnostic - works with TCP, WebSocket, etc.
| transport | Transport instance |
| type | Packet type |
| payload | Packet payload |
| payload_len | Payload length |
| client_ctx | Per-client context (e.g., client_info_t*) |
| callbacks | Application callbacks |
Definition at line 534 of file handlers.c.
References ASCIICHAT_OK, ERROR_INVALID_PARAM, log_warn, and SET_ERRNO.
Referenced by acip_server_receive_and_dispatch().