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::draft23::endpoint::Endpoint;πuse crate::draft23::endpoint::EndpointError;πuse crate::draft23::endpoint::FetchExistence;πuse crate::draft23::endpoint::TrackExistence;πuse crate::draft23::event::ClientEvent;πuse crate::draft23::event::Direction;πuse crate::draft23::event::StreamKind;πuse crate::draft23::fill::LocationFilter;πuse crate::draft23::observer::ConnectionObserver;πuse crate::draft23::session::request_id::Role;πuse crate::draft23::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::draft23::data_stream::FetchHeader;πuse moqtap_codec::draft23::data_stream::FetchObject;πuse moqtap_codec::draft23::data_stream::FetchObjectHeader;πuse moqtap_codec::draft23::data_stream::FetchObjectReader;πuse moqtap_codec::draft23::data_stream::GroupOrder;πuse moqtap_codec::draft23::data_stream::SubgroupObject;πuse moqtap_codec::draft23::data_stream::SubgroupObjectReader;πuse moqtap_codec::draft23::error_codes::SessionErrorCode;πuse moqtap_codec::draft23::error_codes::StreamResetErrorCode;πuse moqtap_codec::draft23::message::max_control_message_size;πuse moqtap_codec::draft23::message::ControlMessage;πuse moqtap_codec::draft23::message::MessageType;πuse moqtap_codec::draft23::message::Namespace;πuse moqtap_codec::draft23::message::NamespaceDone;πuse moqtap_codec::draft23::message::PublishSkipped;πuse moqtap_codec::draft23::message::RequestError;πuse moqtap_codec::draft23::message::RequestOk;πuse moqtap_codec::draft23::message::SubscribeOk;πuse moqtap_codec::draft23::message::DEFAULT_MAX_CONTROL_MESSAGE_SIZE;π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.
- 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.
- Request
Stream - One request and its answer, on a bidirectional stream of their own.
EnumsΒ§
- Connection
Error - Errors from the connection layer.
- Request
Kind - Which of the seven message types draft-23 Section 6.3 lets a bidirectional stream begin with opened a request stream.
- Request
Origin - Which side opened the bidirectional stream a request travels on.
- Transport
Type - Transport type for the connection.
ConstantsΒ§
- CONTROL_
STREAM_ TYPE - The unidirectional stream type that marks one direction of the control plane, and the SETUP message type. On draft-23 they are one number, 0x2F00: Section 6.4.1 (Unidirectional Stream Types) lists it as the type of a SETUP stream, and Section 9.1 gives it as the SETUP messageβs own type field.
- FETCH_
STREAM_ πTYPE - The unidirectional stream type of FETCH_HEADER, 0x05 (draft-23 Section 6.4.1).
- MAX_
QUIC_ πVARINT - The largest value a QUIC application error code can carry,
2^62 - 1. - MOQT_
ALPN - The ALPN identifier draft-23 uses on raw QUIC,
moqt-23. - REQUEST_
CANCELLED - The application error code a request stream is reset with when the
requester abandons it:
CANCELLED, 0x1. - REQUEST_
UNANSWERED - The application error code a request stream the peer opened is reset
with when this endpoint abandons it:
INTERNAL_ERROR, 0x0.
FunctionsΒ§
- belongs_
on_ πa_ request_ stream - Whether draft-23 Table 5 places this message on a request stream that is already open.
- 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.
- starts_
a_ request_ stream - Whether
tyis one of the seven message types draft-23 Section 6.3 lets a bidirectional stream begin with.