Expand description
Unified endpoint state machine orchestrating all MoQT protocol flows.
Re-exportsยง
use std::collections::HashMap;๐use std::sync::Arc;๐use std::sync::Mutex;๐use std::sync::MutexGuard;๐use crate::draft15::fetch::FetchError;๐use crate::draft15::fetch::FetchState;๐use crate::draft15::fetch::FetchStateMachine;๐use crate::draft15::namespace::NamespaceError;๐use crate::draft15::namespace::PublishNamespaceState;๐use crate::draft15::namespace::PublishNamespaceStateMachine;๐use crate::draft15::namespace::SubscribeNamespaceState;๐use crate::draft15::namespace::SubscribeNamespaceStateMachine;๐use crate::draft15::publish::PublishError as PublishFlowError;๐use crate::draft15::publish::PublishState;๐use crate::draft15::publish::PublishStateMachine;๐use crate::draft15::session::request_id::RequestIdAllocator;๐use crate::draft15::session::request_id::RequestIdError;๐use crate::draft15::session::request_id::Role;๐use crate::draft15::session::setup;๐use crate::draft15::session::setup::SetupError;๐use crate::draft15::session::state::SessionError;๐use crate::draft15::session::state::SessionState;๐use crate::draft15::session::state::SessionStateMachine;๐use crate::draft15::subscription::SubscriptionError;๐use crate::draft15::subscription::SubscriptionState;๐use crate::draft15::subscription::SubscriptionStateMachine;๐use crate::draft15::track_status::TrackStatusError;๐use crate::draft15::track_status::TrackStatusState;๐use crate::draft15::track_status::TrackStatusStateMachine;๐use crate::forwarding_preference::ObjectForwardingPreference;๐use crate::forwarding_preference::TrackForwardingPreferences;๐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::draft15::error_codes::RequestErrorCode;๐use moqtap_codec::draft15::error_codes::SessionErrorCode;๐use moqtap_codec::draft15::message;๐use moqtap_codec::draft15::message::ClientSetup;๐use moqtap_codec::draft15::message::ControlMessage;๐use moqtap_codec::draft15::message::Fetch;๐use moqtap_codec::draft15::message::FetchCancel;๐use moqtap_codec::draft15::message::FetchPayload;๐use moqtap_codec::draft15::message::FetchType;๐use moqtap_codec::draft15::message::GoAway;๐use moqtap_codec::draft15::message::MaxRequestId;๐use moqtap_codec::draft15::message::PublishDone;๐use moqtap_codec::draft15::message::PublishNamespace;๐use moqtap_codec::draft15::message::PublishNamespaceCancel;๐use moqtap_codec::draft15::message::PublishNamespaceDone;๐use moqtap_codec::draft15::message::RequestError;๐use moqtap_codec::draft15::message::RequestOk;๐use moqtap_codec::draft15::message::RequestsBlocked;๐use moqtap_codec::draft15::message::ServerSetup;๐use moqtap_codec::draft15::message::Subscribe;๐use moqtap_codec::draft15::message::SubscribeNamespace;๐use moqtap_codec::draft15::message::SubscribeOk;๐use moqtap_codec::draft15::message::SubscribeUpdate;๐use moqtap_codec::draft15::message::Unsubscribe;๐use moqtap_codec::draft15::message::UnsubscribeNamespace;๐use moqtap_codec::kvp::KeyValuePair;๐use moqtap_codec::kvp::KvpValue;๐use moqtap_codec::varint::VarInt;๐use moqtap_codec::types::*;๐
Structsยง
- Endpoint
- Unified MoQT endpoint wrapping session lifecycle, request ID allocation, and all per-request state machines (subscriptions, fetches, namespaces).
- Fetch
Track ๐ - The track a fetch this endpoint made asked for.
- Inbound
Fetch ๐ - A fetch the peer opened with FETCH.
- Inbound
Publish ๐Namespace - An announcement the peer made with PUBLISH_NAMESPACE.
- Inbound
Subscribe ๐ - A subscription the peer opened with SUBSCRIBE.
- Inbound
Subscribe ๐Namespace - A SUBSCRIBE_NAMESPACE the peer sent, and how far the namespace subscription it opens has got.
- Inbound
Track ๐Status - A track status the peer asked for with TRACK_STATUS.
- 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.
Functionsยง
- prefixes_
overlap ๐ - Whether two namespace prefixes overlap.