Expand description
Draft-18 MoQT endpoint.
Major changes from draft-17:
Required Request ID Deltafield removed from every request message.SubscribeNamespacelost itssubscribe_optionsfield; namespace subscriptions only produce NAMESPACE / NAMESPACE_DONE. The newSubscribeTracksrequest type subscribes to PUBLISH messages and carries the FORWARD parameter.PublishOkcollapsed intoRequestOk(REQUEST_OK at type 0x07);RequestOkgains a trailing Track Properties block.GoAwaygains an optionalrequest_id(control stream only).RequestErrorgains an optional Redirect structure (carried whenerror_code == REDIRECT).
Re-exportsΒ§
use std::collections::HashMap;πuse std::collections::HashSet;πuse std::sync::Arc;πuse std::sync::Mutex;πuse crate::draft18::fetch::FetchError;πuse crate::draft18::fetch::FetchState;πuse crate::draft18::fetch::FetchStateMachine;πuse crate::draft18::namespace::NamespaceError;πuse crate::draft18::namespace::PublishNamespaceState;πuse crate::draft18::namespace::PublishNamespaceStateMachine;πuse crate::draft18::namespace::SubscribeNamespaceState;πuse crate::draft18::namespace::SubscribeNamespaceStateMachine;πuse crate::draft18::publish::PublishError as PublishFlowError;πuse crate::draft18::publish::PublishState;πuse crate::draft18::publish::PublishStateMachine;πuse crate::draft18::session::request_id::RequestIdAllocator;πuse crate::draft18::session::request_id::RequestIdError;πuse crate::draft18::session::request_id::Role;πuse crate::draft18::session::setup;πuse crate::draft18::session::setup::SetupError;πuse crate::draft18::session::state::SessionError;πuse crate::draft18::session::state::SessionState;πuse crate::draft18::session::state::SessionStateMachine;πuse crate::draft18::subscription::SubscriptionError;πuse crate::draft18::subscription::SubscriptionState;πuse crate::draft18::subscription::SubscriptionStateMachine;πuse crate::draft18::track_status::TrackStatusError;πuse crate::draft18::track_status::TrackStatusState;πuse crate::draft18::track_status::TrackStatusStateMachine;πuse crate::malformed_tracks::MalformedTrackCondition;πuse crate::malformed_tracks::MalformedTracks;πuse crate::track_locations::ObjectLocation;πuse crate::track_locations::ObjectRole;πuse crate::track_locations::TrackLocations;πuse crate::track_locations::TrackObjects;πuse moqtap_codec::draft18::error_codes::PublishDoneStatusCode;πuse moqtap_codec::draft18::error_codes::RequestErrorCode;πuse moqtap_codec::draft18::error_codes::SessionErrorCode;πuse moqtap_codec::draft18::message;πuse moqtap_codec::draft18::message::ControlMessage;πuse moqtap_codec::draft18::message::Fetch;πuse moqtap_codec::draft18::message::FetchPayload;πuse moqtap_codec::draft18::message::FetchType;πuse moqtap_codec::draft18::message::GoAway;πuse moqtap_codec::draft18::message::MessageType;πuse moqtap_codec::draft18::message::Publish;πuse moqtap_codec::draft18::message::PublishBlocked;πuse moqtap_codec::draft18::message::PublishDone;πuse moqtap_codec::draft18::message::PublishNamespace;πuse moqtap_codec::draft18::message::RequestError;πuse moqtap_codec::draft18::message::RequestOk;πuse moqtap_codec::draft18::message::RequestUpdate;πuse moqtap_codec::draft18::message::Setup;πuse moqtap_codec::draft18::message::Subscribe;πuse moqtap_codec::draft18::message::SubscribeNamespace;πuse moqtap_codec::draft18::message::SubscribeOk;πuse moqtap_codec::draft18::message::SubscribeTracks;πuse moqtap_codec::kvp::KeyValuePair;πuse moqtap_codec::kvp::KvpValue;πuse moqtap_codec::varint::Moqt18;πuse moqtap_codec::varint::VarInt;πuse moqtap_codec::types::*;π
StructsΒ§
- Endpoint
- Fetch
Track π - The track one fetch is for, which the fetchβs own state machine does not hold.
- Track
Binding π - A Track Alias the peer has attached to a Full Track Name, and the request whose lifetime the attachment follows.
EnumsΒ§
- Binding
Kind π - Which of the two sequences Section 5.1 names established the subscription that owns a binding, and so which state machine says whether it still has one.
- Endpoint
Error - Errors that can occur during endpoint operations.
ConstantsΒ§
- TRACK_
NAMESPACE_ πPREFIX - Parameter Type of TRACK_NAMESPACE_PREFIX.
FunctionsΒ§
- prefixes_
overlap π - Whether two namespace prefixes overlap.
- updated_
prefix π - The Track Namespace Prefix a REQUEST_UPDATE asks a namespace subscription
to move to, and
Nonewhen it asks for no such move.