Skip to main content

Module framer

Module framer 

Source
Expand description

Byte-exact object framing for MoQT data streams.

ObjectFramer turns the raw bytes of one unidirectional data stream into individually addressable objects without altering them: every item it yields is a slice of the bytes that were fed in, and concatenating those items reproduces the stream exactly.

Framing is opt-in because it costs latency and memory โ€” an object is only emitted once it is buffered whole. The proxy pays that cost only when something is observing; see session::pipe_data.

Re-exportsยง

pub use crate::types::BypassReason;
pub use crate::types::ObjectMeta;

Structsยง

ElideCursor
The state an elide leaves behind on a subgroup stream.
FetchGroupOrders
Every fetch this session has learned a Group Order for, keyed by the Request ID that names it on both the control plane and the data stream.
FramerConfig
Configuration for ObjectFramer.
ObjectFramer
Frames a unidirectional MoQT data stream into individually addressable objects while preserving the exact wire bytes.
PaddedBuf ๐Ÿ”’
A slice followed by a run of zero bytes.
PendingObject ๐Ÿ”’
The object the framer emitted most recently, whose forward-or-elide disposition has not been committed to the cursor yet.
SubgroupContext ๐Ÿ”’
Identity fields the stream header contributes to every object on a subgroup stream.

Enumsยง

FramerOut
One item produced by ObjectFramer::poll.
Meta ๐Ÿ”’
The codec-level framing of one object, either stream kind.
Probe ๐Ÿ”’
A reader clone whose decode succeeded and is ready to be adopted.
Stage ๐Ÿ”’
What the framer is currently decoding.

Constantsยง

UNBOUNDED_MEASURING_PAD ๐Ÿ”’
Padding width that puts every wire length a varint can express within measuring reach.
ZEROS ๐Ÿ”’
Backing bytes for PaddedBufโ€™s padded region.

Functionsยง

subgroup_context ๐Ÿ”’
The identity fields a subgroup header contributes to its objects.