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.
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 of the control stream.
GHashTable * streams
 QUIC streams handled by the stack.
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 * tns_subscriptions_by_id
 Track namespace subscriptions (served or asked), indexed by request_id.
GHashTable * requests
 Map of Request IDs and what they were for.
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_moq_bufferbuffer
 Buffer to process incoming messages.
imquic_mutex mutex
 Mutex.
volatile gint connected
 Whether we have established a connection.
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_moq_buffer* imquic_moq_context::buffer

Buffer to process incoming messages.

◆ 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 of the control stream.

◆ destroyed

volatile gint imquic_moq_context::destroyed

Whether this instance has been destroyed (reference counting)

◆ 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.

◆ ref

imquic_refcount imquic_moq_context::ref

Reference counter.

◆ requests

GHashTable* imquic_moq_context::requests

Map of Request IDs and what they were for.

◆ streams

GHashTable* imquic_moq_context::streams

QUIC streams handled by the stack.

◆ 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.

◆ tns_subscriptions_by_id

GHashTable* imquic_moq_context::tns_subscriptions_by_id

Track namespace subscriptions (served or asked), indexed by request_id.

◆ version

imquic_moq_version imquic_moq_context::version

Negotiated version.


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