|
ascii-chat 0.8.38
Real-time terminal-based video chat with ASCII art conversion
|
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_manager * | peer_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_t * | host_ctx |
| session_participant_t * | participant_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 |
| char discovery_session_t::acds_address[64] |
Definition at line 153 of file session.h.
Referenced by discovery_session_create().
| uint16_t discovery_session_t::acds_port |
Definition at line 154 of file session.h.
Referenced by discovery_session_create().
| socket_t discovery_session_t::acds_socket |
Definition at line 152 of file session.h.
Referenced by discovery_session_become_host(), discovery_session_create(), discovery_session_destroy(), discovery_session_handle_host_disconnect(), discovery_session_process(), and discovery_session_stop().
| void* discovery_session_t::callback_user_data |
Definition at line 201 of file session.h.
Referenced by discovery_session_create(), and discovery_session_process().
| asciichat_error_t discovery_session_t::error |
Definition at line 137 of file session.h.
Referenced by discovery_session_process().
| void* discovery_session_t::exit_callback_data |
Definition at line 205 of file session.h.
Referenced by discovery_session_create(), and discovery_session_start().
| char discovery_session_t::host_address[64] |
Definition at line 158 of file session.h.
Referenced by discovery_session_connect_to_future_host(), and discovery_session_process().
| session_host_t* discovery_session_t::host_ctx |
Definition at line 194 of file session.h.
Referenced by discovery_session_become_host(), discovery_session_create(), discovery_session_destroy(), discovery_session_get_host(), and discovery_session_process().
| uint8_t discovery_session_t::host_id[16] |
Definition at line 157 of file session.h.
Referenced by discovery_session_connect_to_future_host(), discovery_session_handle_host_disconnect(), and discovery_session_process().
| uint16_t discovery_session_t::host_port |
Definition at line 159 of file session.h.
Referenced by discovery_session_connect_to_future_host(), and discovery_session_process().
| 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().
| 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().
| bool discovery_session_t::is_host |
Definition at line 145 of file session.h.
Referenced by discovery_session_become_host(), discovery_session_check_host_alive(), discovery_session_is_host(), discovery_session_process(), and discovery_session_start_ring_round().
| bool discovery_session_t::is_initiator |
Definition at line 144 of file session.h.
Referenced by discovery_session_create(), discovery_session_process(), and discovery_session_start().
| 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_ctx_t discovery_session_t::migration |
Definition at line 176 of file session.h.
Referenced by discovery_session_become_host(), discovery_session_check_host_alive(), discovery_session_connect_to_future_host(), discovery_session_handle_host_disconnect(), and discovery_session_process().
| negotiate_ctx_t discovery_session_t::negotiate |
Definition at line 167 of file session.h.
Referenced by discovery_session_process().
| 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().
| 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().
| 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().
| session_participant_t* discovery_session_t::participant_ctx |
Definition at line 195 of file session.h.
Referenced by discovery_session_check_host_alive(), discovery_session_connect_to_future_host(), discovery_session_create(), discovery_session_destroy(), discovery_session_get_participant(), discovery_session_process(), and discovery_session_start().
| uint8_t discovery_session_t::participant_id[16] |
Definition at line 141 of file session.h.
Referenced by discovery_session_become_host(), discovery_session_handle_host_disconnect(), discovery_session_process(), and discovery_session_stop().
| 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_consensus_t discovery_session_t::ring |
Definition at line 170 of file session.h.
Referenced by discovery_session_connect_to_future_host(), discovery_session_get_future_host(), discovery_session_handle_host_disconnect(), discovery_session_init_ring(), discovery_session_is_future_host(), and discovery_session_start_ring_round().
| uint8_t discovery_session_t::session_id[16] |
Definition at line 140 of file session.h.
Referenced by discovery_session_become_host(), discovery_session_handle_host_disconnect(), discovery_session_process(), and discovery_session_stop().
| char discovery_session_t::session_string[SESSION_STRING_BUFFER_SIZE] |
Definition at line 143 of file session.h.
Referenced by discovery_session_create(), discovery_session_get_string(), discovery_session_process(), and discovery_session_start().
| 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().
| 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().
| discovery_state_t discovery_session_t::state |
Definition at line 136 of file session.h.
Referenced by discovery_session_create(), discovery_session_get_state(), discovery_session_is_active(), discovery_session_process(), and discovery_session_start().
| 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_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().
| 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_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().
| 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().
| 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().
| 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().
| 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().