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::draft16::fetch::FetchError;πuse crate::draft16::fetch::FetchState;πuse crate::draft16::fetch::FetchStateMachine;πuse crate::draft16::namespace::NamespaceError;πuse crate::draft16::namespace::PublishNamespaceState;πuse crate::draft16::namespace::PublishNamespaceStateMachine;πuse crate::draft16::namespace::SubscribeNamespaceState;πuse crate::draft16::namespace::SubscribeNamespaceStateMachine;πuse crate::draft16::publish::PublishError as PublishFlowError;πuse crate::draft16::publish::PublishState;πuse crate::draft16::publish::PublishStateMachine;πuse crate::draft16::session::request_id::RequestIdAllocator;πuse crate::draft16::session::request_id::RequestIdError;πuse crate::draft16::session::request_id::Role;πuse crate::draft16::session::setup;πuse crate::draft16::session::setup::SetupError;πuse crate::draft16::session::state::SessionError;πuse crate::draft16::session::state::SessionState;πuse crate::draft16::session::state::SessionStateMachine;πuse crate::draft16::subscription::SubscriptionError;πuse crate::draft16::subscription::SubscriptionState;πuse crate::draft16::subscription::SubscriptionStateMachine;πuse crate::draft16::track_status::TrackStatusError;πuse crate::draft16::track_status::TrackStatusState;πuse crate::draft16::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::draft16::error_codes::RequestErrorCode;πuse moqtap_codec::draft16::error_codes::SessionErrorCode;πuse moqtap_codec::draft16::message;πuse moqtap_codec::draft16::message::ClientSetup;πuse moqtap_codec::draft16::message::ControlMessage;πuse moqtap_codec::draft16::message::Fetch;πuse moqtap_codec::draft16::message::FetchCancel;πuse moqtap_codec::draft16::message::FetchPayload;πuse moqtap_codec::draft16::message::FetchType;πuse moqtap_codec::draft16::message::GoAway;πuse moqtap_codec::draft16::message::MaxRequestId;πuse moqtap_codec::draft16::message::MessageType;πuse moqtap_codec::draft16::message::PublishDone;πuse moqtap_codec::draft16::message::PublishNamespace;πuse moqtap_codec::draft16::message::PublishNamespaceCancel;πuse moqtap_codec::draft16::message::PublishNamespaceDone;πuse moqtap_codec::draft16::message::RequestError;πuse moqtap_codec::draft16::message::RequestOk;πuse moqtap_codec::draft16::message::RequestUpdate;πuse moqtap_codec::draft16::message::RequestsBlocked;πuse moqtap_codec::draft16::message::ServerSetup;πuse moqtap_codec::draft16::message::Subscribe;πuse moqtap_codec::draft16::message::SubscribeNamespace;πuse moqtap_codec::draft16::message::SubscribeOk;πuse moqtap_codec::draft16::message::Unsubscribe;π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 one fetch is for, which the fetchβs own state machine does not hold. A fetch names no Track Alias, so this is the only place a fetchβs track is written down; for a Joining Fetch, which names no track either, this is the joined subscriptionβs track resolved when the fetch was made.
- 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
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.
- Updated
Request π - The kinds Section 9.2.2βs qualifiers distinguish between.
ConstantsΒ§
- FORWARD_
PARAMETER π - Section 9.2.2.8, βfor a subscriptionβ.
- NEW_
GROUP_ πREQUEST_ PARAMETER - Section 9.2.2.9, βfor a subscriptionβ.
- SUBSCRIBER_
PRIORITY_ πPARAMETER - Section 9.2.2.3, βfor a subscription or FETCHβ.
- SUBSCRIPTION_
FILTER_ πPARAMETER - Section 9.2.2.5, βfor a subscriptionβ.
FunctionsΒ§
- prefixes_
overlap π - Whether two namespace prefixes overlap.