Loading...
Searching...
No Matches
imquic_moq_stream Struct Reference

MoQ stream. More...

#include <moq.h>

Collaboration diagram for imquic_moq_stream:

Data Fields

uint64_t stream_id
 QUIC stream ID.
gboolean subscribe_namespace
gboolean namespace_publisher
volatile gint subscribe_namespace_state
imquic_moq_namespacenamespace_prefix
 In case this is for SUBSCRIBE_NAMESPACE, the namespace prefix.
imquic_moq_namespacelast_tuple
uint8_t namespace_prefix_size
 In case this is for SUBSCRIBE_NAMESPACE, how many tuples are in the namespace prefix.
imquic_moq_data_message_type type
 Delivery mode for this stream, in case it's used for objects.
uint64_t request_id
 ID of the subscription.
uint64_t track_alias
 Track alias.
uint64_t group_id
 Group ID.
uint64_t subgroup_id
 Subgroup ID.
uint64_t object_id
 Object ID.
imquic_moq_object_status object_status
 Object status.
uint8_t priority
 Publisher priority.
imquic_bufferbuffer
 Buffer to process incoming messages/objects.
gboolean got_objects
 Whether we got at least an object on this stream.
uint64_t last_group_id
 Last Group ID handled.
uint64_t last_subgroup_id
 Last Subgroup ID handled.
uint64_t last_object_id
 Last Object ID handled.
uint8_t last_priority
 Last priority handled.
gboolean closed
 Whether we closed this stream.

Detailed Description

MoQ stream.

Note
This is usually used for objects (e.g., via SUBGROUP_HEADER or FETCH), but starting in v16, namespace advertising uses streams too

Field Documentation

◆ buffer

imquic_buffer* imquic_moq_stream::buffer

Buffer to process incoming messages/objects.

◆ closed

gboolean imquic_moq_stream::closed

Whether we closed this stream.

◆ got_objects

gboolean imquic_moq_stream::got_objects

Whether we got at least an object on this stream.

◆ group_id

uint64_t imquic_moq_stream::group_id

Group ID.

◆ last_group_id

uint64_t imquic_moq_stream::last_group_id

Last Group ID handled.

◆ last_object_id

uint64_t imquic_moq_stream::last_object_id

Last Object ID handled.

◆ last_priority

uint8_t imquic_moq_stream::last_priority

Last priority handled.

◆ last_subgroup_id

uint64_t imquic_moq_stream::last_subgroup_id

Last Subgroup ID handled.

◆ last_tuple

imquic_moq_namespace * imquic_moq_stream::last_tuple

◆ namespace_prefix

imquic_moq_namespace* imquic_moq_stream::namespace_prefix

In case this is for SUBSCRIBE_NAMESPACE, the namespace prefix.

◆ namespace_prefix_size

uint8_t imquic_moq_stream::namespace_prefix_size

In case this is for SUBSCRIBE_NAMESPACE, how many tuples are in the namespace prefix.

◆ namespace_publisher

gboolean imquic_moq_stream::namespace_publisher

◆ object_id

uint64_t imquic_moq_stream::object_id

Object ID.

◆ object_status

imquic_moq_object_status imquic_moq_stream::object_status

Object status.

◆ priority

uint8_t imquic_moq_stream::priority

Publisher priority.

◆ request_id

uint64_t imquic_moq_stream::request_id

ID of the subscription.

◆ stream_id

uint64_t imquic_moq_stream::stream_id

QUIC stream ID.

◆ subgroup_id

uint64_t imquic_moq_stream::subgroup_id

Subgroup ID.

◆ subscribe_namespace

gboolean imquic_moq_stream::subscribe_namespace

◆ subscribe_namespace_state

volatile gint imquic_moq_stream::subscribe_namespace_state

◆ track_alias

uint64_t imquic_moq_stream::track_alias

Track alias.

◆ type

imquic_moq_data_message_type imquic_moq_stream::type

Delivery mode for this stream, in case it's used for objects.


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