ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
acip_acds_callbacks_t Struct Reference

ACDS packet handler callbacks. More...

#include <include/ascii-chat/network/acip/acds_handlers.h>

Data Fields

void(* on_session_create )(const acip_session_create_t *req, acip_transport_t *transport, const char *client_ip, void *app_ctx)
 Called when client requests session creation.
 
void(* on_session_lookup )(const acip_session_lookup_t *req, acip_transport_t *transport, const char *client_ip, void *app_ctx)
 Called when client looks up session info.
 
void(* on_session_join )(const acip_session_join_t *req, acip_transport_t *transport, const char *client_ip, void *app_ctx)
 Called when client joins a session.
 
void(* on_session_leave )(const acip_session_leave_t *req, acip_transport_t *transport, const char *client_ip, void *app_ctx)
 Called when client leaves a session.
 
void(* on_webrtc_sdp )(const acip_webrtc_sdp_t *sdp, size_t payload_len, acip_transport_t *transport, const char *client_ip, void *app_ctx)
 Called when client sends WebRTC SDP offer/answer.
 
void(* on_webrtc_ice )(const acip_webrtc_ice_t *ice, size_t payload_len, acip_transport_t *transport, const char *client_ip, void *app_ctx)
 Called when client sends WebRTC ICE candidate.
 
void(* on_discovery_ping )(const void *payload, size_t payload_len, acip_transport_t *transport, const char *client_ip, void *app_ctx)
 Called when client sends discovery ping.
 
void(* on_host_announcement )(const acip_host_announcement_t *announcement, acip_transport_t *transport, const char *client_ip, void *app_ctx)
 Called when client announces they are hosting (discovery mode)
 
void(* on_host_lost )(const acip_host_lost_t *host_lost, acip_transport_t *transport, const char *client_ip, void *app_ctx)
 Called when participant reports host has disconnected (discovery mode)
 
void(* on_network_quality )(const void *payload, size_t payload_len, acip_transport_t *transport, const char *client_ip, void *app_ctx)
 Called when client sends NAT network quality for negotiation (discovery mode)
 
void * app_ctx
 Application context (passed to all callbacks)
 

Detailed Description

ACDS packet handler callbacks.

Discovery server implements these callbacks to handle incoming packets. NULL callbacks are skipped (no-op).

All callbacks receive:

  • transport: Transport abstraction for sending responses
  • client_ip: IP address string of the client
  • app_ctx: Application context (e.g., acds_server_t*)

Per-client state can be accessed via transport->user_data.

Definition at line 37 of file acds_handlers.h.

Field Documentation

◆ app_ctx

void* acip_acds_callbacks_t::app_ctx

Application context (passed to all callbacks)

Definition at line 74 of file acds_handlers.h.

Referenced by acds_client_handler(), and acds_websocket_client_handler().

◆ on_discovery_ping

void(* acip_acds_callbacks_t::on_discovery_ping) (const void *payload, size_t payload_len, acip_transport_t *transport, const char *client_ip, void *app_ctx)

Called when client sends discovery ping.

Definition at line 59 of file acds_handlers.h.

◆ on_host_announcement

void(* acip_acds_callbacks_t::on_host_announcement) (const acip_host_announcement_t *announcement, acip_transport_t *transport, const char *client_ip, void *app_ctx)

Called when client announces they are hosting (discovery mode)

Definition at line 63 of file acds_handlers.h.

◆ on_host_lost

void(* acip_acds_callbacks_t::on_host_lost) (const acip_host_lost_t *host_lost, acip_transport_t *transport, const char *client_ip, void *app_ctx)

Called when participant reports host has disconnected (discovery mode)

Definition at line 67 of file acds_handlers.h.

◆ on_network_quality

void(* acip_acds_callbacks_t::on_network_quality) (const void *payload, size_t payload_len, acip_transport_t *transport, const char *client_ip, void *app_ctx)

Called when client sends NAT network quality for negotiation (discovery mode)

Definition at line 70 of file acds_handlers.h.

◆ on_session_create

void(* acip_acds_callbacks_t::on_session_create) (const acip_session_create_t *req, acip_transport_t *transport, const char *client_ip, void *app_ctx)

Called when client requests session creation.

Definition at line 39 of file acds_handlers.h.

◆ on_session_join

void(* acip_acds_callbacks_t::on_session_join) (const acip_session_join_t *req, acip_transport_t *transport, const char *client_ip, void *app_ctx)

Called when client joins a session.

Definition at line 45 of file acds_handlers.h.

◆ on_session_leave

void(* acip_acds_callbacks_t::on_session_leave) (const acip_session_leave_t *req, acip_transport_t *transport, const char *client_ip, void *app_ctx)

Called when client leaves a session.

Definition at line 48 of file acds_handlers.h.

◆ on_session_lookup

void(* acip_acds_callbacks_t::on_session_lookup) (const acip_session_lookup_t *req, acip_transport_t *transport, const char *client_ip, void *app_ctx)

Called when client looks up session info.

Definition at line 42 of file acds_handlers.h.

◆ on_webrtc_ice

void(* acip_acds_callbacks_t::on_webrtc_ice) (const acip_webrtc_ice_t *ice, size_t payload_len, acip_transport_t *transport, const char *client_ip, void *app_ctx)

Called when client sends WebRTC ICE candidate.

Definition at line 55 of file acds_handlers.h.

◆ on_webrtc_sdp

void(* acip_acds_callbacks_t::on_webrtc_sdp) (const acip_webrtc_sdp_t *sdp, size_t payload_len, acip_transport_t *transport, const char *client_ip, void *app_ctx)

Called when client sends WebRTC SDP offer/answer.

Definition at line 51 of file acds_handlers.h.


The documentation for this struct was generated from the following file: