Loading...
Searching...
No Matches
imquic_connection Struct Reference

QUIC Connection. More...

#include <connection.h>

Collaboration diagram for imquic_connection:

Data Fields

char * name
 Name of this connection (for logging purposes)
picoquic_cnx_t * piconn
 Picoquic connection instance.
gboolean is_server
 Whether this is a server or a client connection (inherited from the endpoint)
gboolean just_started
 Whether this connection has just started (e.g., to decide whether we need to derive initial secrets)
gboolean have_params
 Whether we already received the peer QUIC transport parameters.
char initial_cid_str [41]
 Initial Connection ID as a string.
char * chosen_alpn
 Negotiated ALPN.
char * chosen_wt_protocol
 Negotiated WebTransport protocol.
uint64_t stream_next_uni
 Next unidirectional and bidirectional stream we can create (as actual ID, not QUIC one)
uint64_t stream_next_bidi
GHashTable * streams
 Map of streams we're handling.
GAsyncQueue * queued_events
 Queue of events in the loop and outgoing packets to send.
gboolean alpn_negotiated
 Whether an ALPN has been negotiated.
gboolean connected
 Whether this connection has been established.
gboolean established
imquic_network_endpointsocket
 Networking instance for this connection.
imquic_network_address peer
 Network address of the peer.
imquic_http3_connectionhttp3
 WebTransport context, if any.
imquic_sourceloop_source
 Loop source.
uint32_t dgram_id_in
 Incoming and outgoing datagram IDs.
uint32_t dgram_id_out
imquic_qlogqlog
 QLOG instance, if any.
imquic_mutex mutex
 Mutex.
volatile gint closing
 Whether this connection is being closed or has been closed.
volatile gint closed
volatile gint notified_close
volatile gint destroyed
 Whether this instance has been destroyed (reference counting)
imquic_refcount ref
 Reference counter.

Detailed Description

QUIC Connection.

Field Documentation

◆ alpn_negotiated

gboolean imquic_connection::alpn_negotiated

Whether an ALPN has been negotiated.

◆ chosen_alpn

char* imquic_connection::chosen_alpn

Negotiated ALPN.

◆ chosen_wt_protocol

char* imquic_connection::chosen_wt_protocol

Negotiated WebTransport protocol.

◆ closed

volatile gint imquic_connection::closed

◆ closing

volatile gint imquic_connection::closing

Whether this connection is being closed or has been closed.

◆ connected

gboolean imquic_connection::connected

Whether this connection has been established.

◆ destroyed

volatile gint imquic_connection::destroyed

Whether this instance has been destroyed (reference counting)

◆ dgram_id_in

uint32_t imquic_connection::dgram_id_in

Incoming and outgoing datagram IDs.

◆ dgram_id_out

uint32_t imquic_connection::dgram_id_out

◆ established

gboolean imquic_connection::established

◆ have_params

gboolean imquic_connection::have_params

Whether we already received the peer QUIC transport parameters.

◆ http3

imquic_http3_connection* imquic_connection::http3

WebTransport context, if any.

◆ initial_cid_str

char imquic_connection::initial_cid_str[41]

Initial Connection ID as a string.

Note
This is only meant for debugging purposes, e.g., QLOG correlation

◆ is_server

gboolean imquic_connection::is_server

Whether this is a server or a client connection (inherited from the endpoint)

◆ just_started

gboolean imquic_connection::just_started

Whether this connection has just started (e.g., to decide whether we need to derive initial secrets)

◆ loop_source

imquic_source* imquic_connection::loop_source

Loop source.

◆ mutex

imquic_mutex imquic_connection::mutex

Mutex.

◆ name

char* imquic_connection::name

Name of this connection (for logging purposes)

◆ notified_close

volatile gint imquic_connection::notified_close

◆ peer

imquic_network_address imquic_connection::peer

Network address of the peer.

◆ piconn

picoquic_cnx_t* imquic_connection::piconn

Picoquic connection instance.

◆ qlog

imquic_qlog* imquic_connection::qlog

QLOG instance, if any.

◆ queued_events

GAsyncQueue* imquic_connection::queued_events

Queue of events in the loop and outgoing packets to send.

◆ ref

imquic_refcount imquic_connection::ref

Reference counter.

◆ socket

imquic_network_endpoint* imquic_connection::socket

Networking instance for this connection.

◆ stream_next_bidi

uint64_t imquic_connection::stream_next_bidi

◆ stream_next_uni

uint64_t imquic_connection::stream_next_uni

Next unidirectional and bidirectional stream we can create (as actual ID, not QUIC one)

◆ streams

GHashTable* imquic_connection::streams

Map of streams we're handling.


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