Loading...
Searching...
No Matches
imquic_moq_object Struct Reference

MoQ Object. More...

#include <moq.h>

Data Fields

uint64_t request_id
 MoQ request_id.
gboolean fill_fetch
 Whether this is fill FETCH related.
uint64_t track_alias
 MoQ track_alias.
uint64_t group_id
 MoQ group_id.
uint64_t subgroup_id
 MoQ subgroup_id.
uint64_t object_id
 MoQ object_id.
imquic_moq_object_status object_status
 MoQ object status.
gboolean priority_set
 Whether the object contains a priority.
uint8_t priority
 MoQ publisher priority.
GList * properties
 MoQ properties, if any.
uint8_t * payload_prefix
 MoQ object payload prefix, if needed.
size_t payload_prefix_len
 Size of the MoQ object payload prefix.
uint8_t * payload
 MoQ object payload.
size_t payload_len
 Size of the MoQ object payload.
imquic_moq_delivery delivery
 How to send this object (or how it was received).
gboolean first_of_subgroup
 Whether the first object in the stream contains the first object in the subgroup (added in v18).
gboolean end_of_stream
 Whether this signals the end of the stream.

Detailed Description

MoQ Object.

Note
This may contain info related to different MoQ versions, and so should be considered a higher level abstraction that the internal MoQ stack may (and often will) use and notify differently

Field Documentation

◆ delivery

imquic_moq_delivery imquic_moq_object::delivery

How to send this object (or how it was received).

◆ end_of_stream

gboolean imquic_moq_object::end_of_stream

Whether this signals the end of the stream.

◆ fill_fetch

gboolean imquic_moq_object::fill_fetch

Whether this is fill FETCH related.

Note
This is only used for outgoing objects, and is ignored before v20

◆ first_of_subgroup

gboolean imquic_moq_object::first_of_subgroup

Whether the first object in the stream contains the first object in the subgroup (added in v18).

◆ group_id

uint64_t imquic_moq_object::group_id

MoQ group_id.

◆ object_id

uint64_t imquic_moq_object::object_id

MoQ object_id.

◆ object_status

imquic_moq_object_status imquic_moq_object::object_status

MoQ object status.

◆ payload

uint8_t* imquic_moq_object::payload

MoQ object payload.

◆ payload_len

size_t imquic_moq_object::payload_len

Size of the MoQ object payload.

◆ payload_prefix

uint8_t* imquic_moq_object::payload_prefix

MoQ object payload prefix, if needed.

Note
At the moment, this is only needed when adding private properties with LOC. Notice that the prefix is ALWAYS empty when getting incoming objects from the stack, since the library doesn't know how to process the payload, and so you'll always only see the payload as a whole in that case, meaning it's up to you to demux the prefix. This mechanism is only here to make things easier when sending LOC objects without reallocating buffers

◆ payload_prefix_len

size_t imquic_moq_object::payload_prefix_len

Size of the MoQ object payload prefix.

◆ priority

uint8_t imquic_moq_object::priority

MoQ publisher priority.

◆ priority_set

gboolean imquic_moq_object::priority_set

Whether the object contains a priority.

◆ properties

GList* imquic_moq_object::properties

MoQ properties, if any.

◆ request_id

uint64_t imquic_moq_object::request_id

MoQ request_id.

◆ subgroup_id

uint64_t imquic_moq_object::subgroup_id

MoQ subgroup_id.

◆ track_alias

uint64_t imquic_moq_object::track_alias

MoQ track_alias.


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