Expand description
Outbound MoQT connection with MoQT framing over QUIC.
Re-exportsΒ§
use std::collections::VecDeque;πuse std::sync::Mutex;πuse bytes::Buf;πuse bytes::Bytes;πuse bytes::BytesMut;πuse crate::draft16::endpoint::Endpoint;πuse crate::draft16::endpoint::EndpointError;πuse crate::draft16::event::ClientEvent;πuse crate::draft16::event::Direction;πuse crate::draft16::event::StreamKind;πuse crate::draft16::observer::ConnectionObserver;πuse crate::draft16::session::request_id::Role;πuse crate::draft16::session::setup;πuse crate::malformed_tracks::MalformedTrackCondition;πuse crate::track_locations::ObjectLocation;πuse crate::track_locations::ObjectRole;πuse crate::track_locations::TrackObjects;πuse crate::transport::RecvStream;πuse crate::transport::SendStream;πuse crate::transport::Transport;πuse crate::transport::TransportError;πuse moqtap_codec::dispatch::AnyControlMessage;πuse moqtap_codec::dispatch::AnyDatagramHeader;πuse moqtap_codec::dispatch::AnyFetchHeader;πuse moqtap_codec::dispatch::AnySubgroupHeader;πuse moqtap_codec::draft16::data_stream::FetchHeader;πuse moqtap_codec::draft16::data_stream::FetchObjectHeader;πuse moqtap_codec::draft16::data_stream::SubgroupObject;πuse moqtap_codec::draft16::data_stream::SubgroupObjectReader;πuse moqtap_codec::draft16::error_codes::DataStreamResetErrorCode;πuse moqtap_codec::draft16::message::ControlMessage;πuse moqtap_codec::draft16::message::MessageType;πuse moqtap_codec::draft16::message::RequestError;πuse moqtap_codec::draft16::message::RequestOk;πuse moqtap_codec::error::CodecError;πuse moqtap_codec::kvp::KeyValuePair;πuse moqtap_codec::varint::VarInt;πuse moqtap_codec::version::DraftVersion;πuse moqtap_codec::types::*;π
StructsΒ§
- Client
Config - Configuration for a MoQT client connection.
- Connection
- A live MoQT connection over QUIC or WebTransport, combining the endpoint state machine with actual network I/O.
- Framed
Recv Stream - A framed reader for a recv stream. Handles MoQT varint-length decoding.
- Framed
Send Stream - A framed writer for a send stream. Handles MoQT length-prefixed framing.
- Namespace
Stream - One SUBSCRIBE_NAMESPACE and everything answering it, on a bidirectional stream of their own.
- Pending
Inbound π - Holds a peer-opened stream pair while its first message is being read, and puts it back on the connectionβs queue if that read is abandoned.
EnumsΒ§
- Connection
Error - Errors from the connection layer.
- Request
Origin - Which side opened the bidirectional stream a namespace subscription travels on.
- Transport
Type - Transport type for the connection.
ConstantsΒ§
- MAX_
QUIC_ πVARINT - The largest value a QUIC application error code can carry,
2^62 - 1. - MOQT_
ALPN - The ALPN identifier draft-16 uses on raw QUIC,
moqt-16. - STREAM_
ABANDONED π - The application error code a namespace subscriptionβs stream is abandoned
with when this endpoint never served it:
INTERNAL_ERROR, 0x0.
FunctionsΒ§
- empty_
datagram_ πextensions ConnectionError::EmptyDatagramExtensionsfor a datagram the header decoder refused asInvalidField, when its empty extension block was the fault.- malformed_
track_ πcondition - The Malformed Track condition a codec refusal on a data path is, on this
draft, or
Nonefor a refusal that is not one. - object_
role π - What an Object Status makes of an object here.
- varint_
len π - Determine the encoded length of a varint from its first byte.