ascii-chat 0.6.0
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
acds_handlers.h
Go to the documentation of this file.
1
12#pragma once
13
16#include "asciichat_errno.h"
17#include <stddef.h>
18
19// =============================================================================
20// ACDS Handler Callbacks
21// =============================================================================
22
34typedef struct {
36 void (*on_session_create)(const acip_session_create_t *req, int client_socket, const char *client_ip, void *app_ctx);
37
39 void (*on_session_lookup)(const acip_session_lookup_t *req, int client_socket, const char *client_ip, void *app_ctx);
40
42 void (*on_session_join)(const acip_session_join_t *req, int client_socket, const char *client_ip, void *app_ctx);
43
45 void (*on_session_leave)(const acip_session_leave_t *req, int client_socket, const char *client_ip, void *app_ctx);
46
48 void (*on_webrtc_sdp)(const acip_webrtc_sdp_t *sdp, int client_socket, const char *client_ip, void *app_ctx);
49
51 void (*on_webrtc_ice)(const acip_webrtc_ice_t *ice, int client_socket, const char *client_ip, void *app_ctx);
52
54 void (*on_discovery_ping)(const void *payload, size_t payload_len, int client_socket, const char *client_ip,
55 void *app_ctx);
56
58 void *app_ctx;
60
77 size_t payload_len, int client_socket, const char *client_ip,
78 const acip_acds_callbacks_t *callbacks);
asciichat_error_t acip_handle_acds_packet(acip_transport_t *transport, packet_type_t type, const void *payload, size_t payload_len, int client_socket, const char *client_ip, const acip_acds_callbacks_t *callbacks)
Handle incoming ACDS packet with O(1) dispatch.
⚠️‼️ Error and/or exit() when things go bad.
acip_session_join_t
acip_session_lookup_t
acip_webrtc_ice_t
acip_webrtc_sdp_t
acip_session_create_t
acip_session_leave_t
asciichat_error_t
Error and exit codes - unified status values (0-255)
Definition error_codes.h:46
packet_type_t
Network protocol packet type enumeration.
Definition packet.h:281
ACIP protocol message structures and helpers.
ACDS packet handler callbacks.
void * app_ctx
Application context (passed to all callbacks)
Transport instance structure.
Definition transport.h:169
Transport abstraction layer for ACIP protocol.