Loading...
Searching...
No Matches
imquic_moq_context Struct Reference

MoQ context. More...

#include <moq.h>

Collaboration diagram for imquic_moq_context:

Data Fields

imquic_connectionconn
 Associated QUIC connection.
GList * supported_versions
 Peer versions.
imquic_moq_version version
 Negotiated version.
gboolean do_grease
 Whether we should add GREASE to our SETUP options.
char * peer_implementation
 MoQ implementation of our peer, if provided.
uint8_t * auth
 Auth data to use when connecting (clients only)
size_t authlen
 Size of the auth data to use when connecting (clients only)
gboolean auth_set
 Whether the auth data has been set.
gboolean is_server
 Whether this is a QUIC server or client.
gboolean has_control_stream
 Whether a MoQ control stream has been established.
uint64_t control_stream_id
 ID(s) of the control stream (legacy bidirectional, or new unidirectional)
uint64_t remote_control_stream_id
gboolean sent_setup
 Whether we sent and received a SETUP.
gboolean recvd_setup
GHashTable * streams
 QUIC streams handled by the stack.
GHashTable * streams_by_reqid
 Map of request streams, indexed by Request ID.
GHashTable * subscriptions
 Subscriptions this connection will send objects to, indexed by track_alias.
GHashTable * subscriptions_by_id
 Subscriptions this connection will send objects to, indexed by request_id.
GHashTable * requests
 Map of Request IDs and what they were for.
GHashTable * update_requests
 Map of Request IDs to Existing Request IDs, for updates.
uint64_t expected_request_id
 Current Request IDs we expect and we can send.
uint64_t next_request_id
uint64_t max_request_id
 Maximum Request IDs we can send and the one we accept.
uint64_t local_max_request_id
uint64_t max_auth_token_cache_size
 Maximum Request IDs we can send and the one we accept.
uint64_t local_max_auth_token_cache_size
imquic_bufferbuffer
 Buffer to process incoming messages.
imquic_mutex mutex
 Mutex.
volatile gint connected
 Whether we have established a connection.
volatile gint check_pending
 Check if it's time to handle pending streams.
volatile gint got_goaway
 Whether we have received a GOAWAY.
volatile gint destroyed
 Whether this instance has been destroyed (reference counting)
imquic_refcount ref
 Reference counter.

Detailed Description

MoQ context.

Field Documentation

◆ auth

uint8_t* imquic_moq_context::auth

Auth data to use when connecting (clients only)

◆ auth_set

gboolean imquic_moq_context::auth_set

Whether the auth data has been set.

◆ authlen

size_t imquic_moq_context::authlen

Size of the auth data to use when connecting (clients only)

◆ buffer

imquic_buffer* imquic_moq_context::buffer

Buffer to process incoming messages.

◆ check_pending

volatile gint imquic_moq_context::check_pending

Check if it's time to handle pending streams.

◆ conn

imquic_connection* imquic_moq_context::conn

Associated QUIC connection.

◆ connected

volatile gint imquic_moq_context::connected

Whether we have established a connection.

◆ control_stream_id

uint64_t imquic_moq_context::control_stream_id

ID(s) of the control stream (legacy bidirectional, or new unidirectional)

◆ destroyed

volatile gint imquic_moq_context::destroyed

Whether this instance has been destroyed (reference counting)

◆ do_grease

gboolean imquic_moq_context::do_grease

Whether we should add GREASE to our SETUP options.

◆ expected_request_id

uint64_t imquic_moq_context::expected_request_id

Current Request IDs we expect and we can send.

◆ got_goaway

volatile gint imquic_moq_context::got_goaway

Whether we have received a GOAWAY.

◆ has_control_stream

gboolean imquic_moq_context::has_control_stream

Whether a MoQ control stream has been established.

◆ is_server

gboolean imquic_moq_context::is_server

Whether this is a QUIC server or client.

◆ local_max_auth_token_cache_size

uint64_t imquic_moq_context::local_max_auth_token_cache_size

◆ local_max_request_id

uint64_t imquic_moq_context::local_max_request_id

◆ max_auth_token_cache_size

uint64_t imquic_moq_context::max_auth_token_cache_size

Maximum Request IDs we can send and the one we accept.

◆ max_request_id

uint64_t imquic_moq_context::max_request_id

Maximum Request IDs we can send and the one we accept.

◆ mutex

imquic_mutex imquic_moq_context::mutex

Mutex.

◆ next_request_id

uint64_t imquic_moq_context::next_request_id

◆ peer_implementation

char* imquic_moq_context::peer_implementation

MoQ implementation of our peer, if provided.

◆ recvd_setup

gboolean imquic_moq_context::recvd_setup

◆ ref

imquic_refcount imquic_moq_context::ref

Reference counter.

◆ remote_control_stream_id

uint64_t imquic_moq_context::remote_control_stream_id

◆ requests

GHashTable* imquic_moq_context::requests

Map of Request IDs and what they were for.

◆ sent_setup

gboolean imquic_moq_context::sent_setup

Whether we sent and received a SETUP.

◆ streams

GHashTable* imquic_moq_context::streams

QUIC streams handled by the stack.

◆ streams_by_reqid

GHashTable* imquic_moq_context::streams_by_reqid

Map of request streams, indexed by Request ID.

◆ subscriptions

GHashTable* imquic_moq_context::subscriptions

Subscriptions this connection will send objects to, indexed by track_alias.

◆ subscriptions_by_id

GHashTable* imquic_moq_context::subscriptions_by_id

Subscriptions this connection will send objects to, indexed by request_id.

◆ supported_versions

GList* imquic_moq_context::supported_versions

Peer versions.

◆ update_requests

GHashTable* imquic_moq_context::update_requests

Map of Request IDs to Existing Request IDs, for updates.

◆ version

imquic_moq_version imquic_moq_context::version

Negotiated version.


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