|
cwist
Modern C web framework with libttak runtime
|
One peer: ICE state, DTLS session, SCTP association. More...
#include <webrtc_internal.h>

Public Member Functions | |
| _Atomic (cwist_webrtc_msg *) inbox | |
One peer: ICE state, DTLS session, SCTP association.
Definition at line 78 of file webrtc_internal.h.
| cwist_webrtc_conn::_Atomic | ( | cwist_webrtc_msg * | ) |
Foreign-thread sends (LIFO stack).
| atomic_size_t cwist_webrtc_conn::buffered |
Bytes queued by sends, not yet taken by SCTP.
Definition at line 83 of file webrtc_internal.h.
Referenced by cwist_webrtc_conn_buffered_amount(), and cwist_webrtc_conn_send().
| uint8_t* cwist_webrtc_conn::ch_bits |
2 bits per stream: bit0 opened by peer, bit1 OPEN sent.
Definition at line 113 of file webrtc_internal.h.
Referenced by cwist_sctp_conn_close(), and cwist_webrtc_conn_release().
| uint32_t cwist_webrtc_conn::ch_bits_len |
Size of ch_bits in bytes.
Definition at line 114 of file webrtc_internal.h.
Referenced by cwist_sctp_conn_close().
| cwist_reactor_post_t cwist_webrtc_conn::close_post |
Foreign-thread close post.
Definition at line 127 of file webrtc_internal.h.
Referenced by cwist_webrtc_conn_close().
| atomic_bool cwist_webrtc_conn::close_posted |
A foreign close post is in flight.
Definition at line 82 of file webrtc_internal.h.
Referenced by cwist_webrtc_conn_close().
| bool cwist_webrtc_conn::close_requested |
Close at the end of the current service pass.
Definition at line 90 of file webrtc_internal.h.
Referenced by cwist_sctp_conn_drain(), and cwist_webrtc_conn_close().
| uint64_t cwist_webrtc_conn::created_ns |
Creation time (handshake deadline).
Definition at line 124 of file webrtc_internal.h.
| cwist_webrtc_ctx* cwist_webrtc_conn::ctx |
Owning ctx (referenced).
Definition at line 79 of file webrtc_internal.h.
Referenced by cwist_sctp_conn_drain(), cwist_webrtc_conn_close(), cwist_webrtc_conn_dtls_out(), cwist_webrtc_conn_on_channel_open(), cwist_webrtc_conn_on_message(), cwist_webrtc_conn_release(), cwist_webrtc_conn_sctp_out(), cwist_webrtc_conn_send(), cwist_webrtc_connect(), and cwist_webrtc_handle_offer().
| atomic_bool cwist_webrtc_conn::detached |
Set at teardown; API calls fail fast.
Definition at line 81 of file webrtc_internal.h.
Referenced by cwist_sctp_conn_drain(), cwist_webrtc_conn_close(), and cwist_webrtc_conn_send().
| bool cwist_webrtc_conn::dirty |
On the ctx dirty list.
Definition at line 91 of file webrtc_internal.h.
| struct cwist_webrtc_conn* cwist_webrtc_conn::dirty_next |
Dirty-list link.
Definition at line 96 of file webrtc_internal.h.
Datagram being fed to the BIO, or NULL.
Definition at line 107 of file webrtc_internal.h.
| size_t cwist_webrtc_conn::dtls_in_len |
Length of dtls_in.
Definition at line 108 of file webrtc_internal.h.
| struct cwist_webrtc_conn* cwist_webrtc_conn::hnext |
Hash-bucket / parked-list link.
Definition at line 95 of file webrtc_internal.h.
| bool cwist_webrtc_conn::is_server_role |
true: answering (DTLS passive); false: offering.
Definition at line 85 of file webrtc_internal.h.
Referenced by cwist_sctp_assoc_established(), cwist_sctp_conn_drain(), and cwist_sctp_conn_open().
| cwist_reactor_post_t cwist_webrtc_conn::kick_post |
Drains the inbox on the owner thread.
Definition at line 128 of file webrtc_internal.h.
Referenced by cwist_webrtc_conn_send().
| uint64_t cwist_webrtc_conn::last_rx_ns |
Last datagram from the peer (liveness).
Definition at line 125 of file webrtc_internal.h.
| bool cwist_webrtc_conn::notified_open |
The close handler is owed a call.
Definition at line 92 of file webrtc_internal.h.
| bool cwist_webrtc_conn::parked |
Waiting for its first STUN check (remote unknown).
Definition at line 88 of file webrtc_internal.h.
| char cwist_webrtc_conn::peer_pwd[128] |
Remote ICE password (client role signs with it).
Definition at line 100 of file webrtc_internal.h.
Referenced by cwist_webrtc_connect(), and cwist_webrtc_handle_offer().
| char cwist_webrtc_conn::peer_ufrag[64] |
Remote ICE ufrag.
Definition at line 99 of file webrtc_internal.h.
Referenced by cwist_webrtc_connect(), and cwist_webrtc_handle_offer().
| cwist_webrtc_msg* cwist_webrtc_conn::pending_head |
Sends waiting for SCTP.
Definition at line 118 of file webrtc_internal.h.
Referenced by cwist_webrtc_conn_send().
| cwist_webrtc_msg* cwist_webrtc_conn::pending_tail |
Tail of the pending queue.
Definition at line 119 of file webrtc_internal.h.
| atomic_int cwist_webrtc_conn::refs |
Reference count; memory is freed at zero.
Definition at line 80 of file webrtc_internal.h.
Referenced by cwist_webrtc_conn_release(), and cwist_webrtc_conn_retain().
| cwist_reactor_post_t cwist_webrtc_conn::reg_post |
Registration post (offer/connect).
Definition at line 126 of file webrtc_internal.h.
Referenced by cwist_webrtc_connect(), and cwist_webrtc_handle_offer().
| bool cwist_webrtc_conn::registered |
In the ctx table or parked list.
Definition at line 87 of file webrtc_internal.h.
| struct sockaddr_in cwist_webrtc_conn::remote |
Nominated peer address.
Definition at line 94 of file webrtc_internal.h.
Referenced by cwist_webrtc_conn_dtls_out(), and cwist_webrtc_connect().
| uint8_t* cwist_webrtc_conn::rx_partial |
Reassembly buffer for a message delivered in pieces.
Definition at line 115 of file webrtc_internal.h.
Referenced by cwist_sctp_conn_close(), cwist_sctp_conn_drain(), and cwist_webrtc_conn_release().
| size_t cwist_webrtc_conn::rx_partial_cap |
Capacity of rx_partial.
Definition at line 117 of file webrtc_internal.h.
Referenced by cwist_sctp_conn_close().
| size_t cwist_webrtc_conn::rx_partial_len |
Bytes held in rx_partial.
Definition at line 116 of file webrtc_internal.h.
Referenced by cwist_sctp_conn_close(), and cwist_sctp_conn_drain().
Accepted association socket (server role).
Definition at line 112 of file webrtc_internal.h.
Referenced by cwist_sctp_assoc_established(), cwist_sctp_conn_close(), cwist_sctp_conn_drain(), and cwist_sctp_conn_input().
| bool cwist_webrtc_conn::sctp_ready |
SCTP association up; sends go straight to SCTP.
Definition at line 89 of file webrtc_internal.h.
Referenced by cwist_sctp_send(), and cwist_webrtc_conn_send().
Listening (server) or connected (client) socket.
Definition at line 111 of file webrtc_internal.h.
Referenced by cwist_sctp_assoc_established(), cwist_sctp_conn_close(), cwist_sctp_conn_drain(), cwist_sctp_conn_input(), and cwist_sctp_conn_open().
| SSL* cwist_webrtc_conn::ssl |
DTLS session (custom datagram BIO).
Definition at line 106 of file webrtc_internal.h.
Referenced by cwist_webrtc_conn_release(), and cwist_webrtc_conn_sctp_out().
| cwist_conn_state cwist_webrtc_conn::state |
Lifecycle state.
Definition at line 86 of file webrtc_internal.h.
| int cwist_webrtc_conn::stun_attempts |
Binding requests sent so far (client role).
Definition at line 102 of file webrtc_internal.h.
| uint32_t cwist_webrtc_conn::stun_rto_ms |
Current retransmit timeout (client role).
Definition at line 103 of file webrtc_internal.h.
| uint8_t cwist_webrtc_conn::stun_txid[12] |
Outstanding Binding request (client role).
Definition at line 101 of file webrtc_internal.h.
Referenced by cwist_webrtc_connect().
| cwist_reactor_timer_t cwist_webrtc_conn::timer |
STUN retransmit / DTLS / liveness / park expiry.
Definition at line 123 of file webrtc_internal.h.