ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
peer_manager.c File Reference

Go to the source code of this file.

Data Structures

struct  peer_entry_t
 Per-peer connection state. More...
 
struct  pending_ice_candidate
 
struct  webrtc_peer_manager
 WebRTC peer manager structure. More...
 

Macros

#define MAX_PENDING_ICE_CANDIDATES   64
 

Typedefs

typedef struct pending_ice_candidate pending_ice_candidate_t
 
typedef struct webrtc_peer_manager webrtc_peer_manager_t
 WebRTC peer manager structure.
 

Functions

asciichat_error_t webrtc_peer_manager_create (const webrtc_peer_manager_config_t *config, const webrtc_signaling_callbacks_t *signaling_callbacks, webrtc_peer_manager_t **manager_out)
 Create a WebRTC peer manager.
 
void webrtc_peer_manager_destroy (webrtc_peer_manager_t *manager)
 Destroy peer manager and close all connections.
 
asciichat_error_t webrtc_peer_manager_handle_sdp (webrtc_peer_manager_t *manager, const acip_webrtc_sdp_t *sdp)
 Handle incoming SDP message from ACDS.
 
asciichat_error_t webrtc_peer_manager_handle_ice (webrtc_peer_manager_t *manager, const acip_webrtc_ice_t *ice)
 Handle incoming ICE candidate from ACDS.
 
asciichat_error_t webrtc_peer_manager_connect (webrtc_peer_manager_t *manager, const uint8_t session_id[16], const uint8_t participant_id[16])
 Initiate connection to remote peer (joiner role only)
 
bool webrtc_peer_manager_get_state (webrtc_peer_manager_t *manager, const uint8_t participant_id[16], webrtc_state_t *state_out)
 
asciichat_error_t webrtc_peer_manager_remove_peer (webrtc_peer_manager_t *manager, const uint8_t participant_id[16])
 
int webrtc_peer_manager_check_gathering_timeouts (webrtc_peer_manager_t *manager, uint32_t timeout_ms)
 Report slow ICE gathering and remove failed connections.
 

Macro Definition Documentation

◆ MAX_PENDING_ICE_CANDIDATES

#define MAX_PENDING_ICE_CANDIDATES   64

Definition at line 61 of file peer_manager.c.

Typedef Documentation

◆ pending_ice_candidate_t

◆ webrtc_peer_manager_t

WebRTC peer manager structure.