ascii-chat 0.8.38
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
discovery_session_t Struct Reference

Discovery session context. More...

#include <src/discovery/session.h>

Data Fields

discovery_state_t state
 
asciichat_error_t error
 
uint8_t session_id [16]
 
uint8_t participant_id [16]
 
uint8_t initiator_id [16]
 
char session_string [SESSION_STRING_BUFFER_SIZE]
 
bool is_initiator
 
bool is_host
 
uint8_t identity_pubkey [32]
 Ed25519 public key for this participant.
 
uint8_t identity_seckey [64]
 Ed25519 secret key for signing.
 
socket_t acds_socket
 
char acds_address [64]
 
uint16_t acds_port
 
uint8_t host_id [16]
 
char host_address [64]
 
uint16_t host_port
 
uint8_t session_type
 0 = DIRECT_TCP, 1 = WEBRTC
 
char turn_username [128]
 
char turn_password [128]
 
negotiate_ctx_t negotiate
 
ring_consensus_t ring
 
host_liveness_t liveness
 
migration_ctx_t migration
 
struct webrtc_peer_managerpeer_manager
 WebRTC peer connection manager (NULL for TCP sessions)
 
bool webrtc_transport_ready
 True when DataChannel is open and transport created.
 
bool webrtc_connection_initiated
 True when we've called webrtc_peer_manager_connect()
 
int webrtc_retry_attempt
 Current retry attempt number (0 = initial, 1+ = retries)
 
uint64_t webrtc_last_attempt_time_ms
 Timestamp of last connection attempt (monotonic time)
 
stun_server_t * stun_servers
 STUN servers from ACDS.
 
size_t stun_count
 Number of STUN servers.
 
turn_server_t * turn_servers
 TURN servers from ACDS.
 
size_t turn_count
 Number of TURN servers.
 
session_host_thost_ctx
 
session_participant_tparticipant_ctx
 
void(* on_state_change )(discovery_state_t new_state, void *user_data)
 
void(* on_session_ready )(const char *session_string, void *user_data)
 
void(* on_error )(asciichat_error_t error, const char *message, void *user_data)
 
void * callback_user_data
 
discovery_should_exit_fn should_exit_callback
 
void * exit_callback_data
 

Detailed Description

Discovery session context.

Definition at line 134 of file session.h.

Field Documentation

◆ acds_address

char discovery_session_t::acds_address[64]

Definition at line 153 of file session.h.

Referenced by discovery_session_create().

◆ acds_port

uint16_t discovery_session_t::acds_port

Definition at line 154 of file session.h.

Referenced by discovery_session_create().

◆ acds_socket

◆ callback_user_data

void* discovery_session_t::callback_user_data

Definition at line 201 of file session.h.

Referenced by discovery_session_create(), and discovery_session_process().

◆ error

asciichat_error_t discovery_session_t::error

Definition at line 137 of file session.h.

Referenced by discovery_session_process().

◆ exit_callback_data

void* discovery_session_t::exit_callback_data

Definition at line 205 of file session.h.

Referenced by discovery_session_create(), and discovery_session_start().

◆ host_address

char discovery_session_t::host_address[64]

◆ host_ctx

◆ host_id

uint8_t discovery_session_t::host_id[16]

◆ host_port

uint16_t discovery_session_t::host_port

◆ identity_pubkey

uint8_t discovery_session_t::identity_pubkey[32]

Ed25519 public key for this participant.

Definition at line 148 of file session.h.

Referenced by discovery_session_create().

◆ identity_seckey

uint8_t discovery_session_t::identity_seckey[64]

Ed25519 secret key for signing.

Definition at line 149 of file session.h.

Referenced by discovery_session_create().

◆ initiator_id

uint8_t discovery_session_t::initiator_id[16]

Definition at line 142 of file session.h.

◆ is_host

◆ is_initiator

bool discovery_session_t::is_initiator

◆ liveness

host_liveness_t discovery_session_t::liveness

Definition at line 173 of file session.h.

Referenced by discovery_session_check_host_alive(), and discovery_session_create().

◆ migration

◆ negotiate

negotiate_ctx_t discovery_session_t::negotiate

Definition at line 167 of file session.h.

Referenced by discovery_session_process().

◆ on_error

void(* discovery_session_t::on_error) (asciichat_error_t error, const char *message, void *user_data)

Definition at line 200 of file session.h.

Referenced by discovery_session_create().

◆ on_session_ready

void(* discovery_session_t::on_session_ready) (const char *session_string, void *user_data)

Definition at line 199 of file session.h.

Referenced by discovery_session_create(), and discovery_session_process().

◆ on_state_change

void(* discovery_session_t::on_state_change) (discovery_state_t new_state, void *user_data)

Definition at line 198 of file session.h.

Referenced by discovery_session_create().

◆ participant_ctx

◆ participant_id

uint8_t discovery_session_t::participant_id[16]

◆ peer_manager

struct webrtc_peer_manager* discovery_session_t::peer_manager

WebRTC peer connection manager (NULL for TCP sessions)

Definition at line 179 of file session.h.

Referenced by discovery_session_create(), discovery_session_destroy(), and discovery_session_process().

◆ ring

◆ session_id

uint8_t discovery_session_t::session_id[16]

◆ session_string

char discovery_session_t::session_string[SESSION_STRING_BUFFER_SIZE]

◆ session_type

uint8_t discovery_session_t::session_type

0 = DIRECT_TCP, 1 = WEBRTC

Definition at line 160 of file session.h.

Referenced by discovery_session_check_host_alive(), and discovery_session_process().

◆ should_exit_callback

discovery_should_exit_fn discovery_session_t::should_exit_callback

Definition at line 204 of file session.h.

Referenced by discovery_session_create(), and discovery_session_start().

◆ state

◆ stun_count

size_t discovery_session_t::stun_count

Number of STUN servers.

Definition at line 189 of file session.h.

Referenced by discovery_session_create(), and discovery_session_destroy().

◆ stun_servers

stun_server_t* discovery_session_t::stun_servers

STUN servers from ACDS.

Definition at line 188 of file session.h.

Referenced by discovery_session_create(), and discovery_session_destroy().

◆ turn_count

size_t discovery_session_t::turn_count

Number of TURN servers.

Definition at line 191 of file session.h.

Referenced by discovery_session_create(), and discovery_session_destroy().

◆ turn_password

char discovery_session_t::turn_password[128]

Definition at line 164 of file session.h.

◆ turn_servers

turn_server_t* discovery_session_t::turn_servers

TURN servers from ACDS.

Definition at line 190 of file session.h.

Referenced by discovery_session_create(), and discovery_session_destroy().

◆ turn_username

char discovery_session_t::turn_username[128]

Definition at line 163 of file session.h.

◆ webrtc_connection_initiated

bool discovery_session_t::webrtc_connection_initiated

True when we've called webrtc_peer_manager_connect()

Definition at line 181 of file session.h.

Referenced by discovery_session_create(), and discovery_session_process().

◆ webrtc_last_attempt_time_ms

uint64_t discovery_session_t::webrtc_last_attempt_time_ms

Timestamp of last connection attempt (monotonic time)

Definition at line 183 of file session.h.

Referenced by discovery_session_create(), and discovery_session_process().

◆ webrtc_retry_attempt

int discovery_session_t::webrtc_retry_attempt

Current retry attempt number (0 = initial, 1+ = retries)

Definition at line 182 of file session.h.

Referenced by discovery_session_create(), and discovery_session_process().

◆ webrtc_transport_ready

bool discovery_session_t::webrtc_transport_ready

True when DataChannel is open and transport created.

Definition at line 180 of file session.h.

Referenced by discovery_session_check_host_alive(), discovery_session_create(), and discovery_session_process().


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