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 crate::draft11::fetch::FetchError;๐use crate::draft11::fetch::FetchState;๐use crate::draft11::fetch::FetchStateMachine;๐use crate::draft11::namespace::AnnounceState;๐use crate::draft11::namespace::AnnounceStateMachine;๐use crate::draft11::namespace::NamespaceError;๐use crate::draft11::namespace::SubscribeAnnouncesState;๐use crate::draft11::namespace::SubscribeAnnouncesStateMachine;๐use crate::draft11::session::request_id::RequestIdAllocator;๐use crate::draft11::session::request_id::RequestIdError;๐use crate::draft11::session::request_id::Role;๐use crate::draft11::session::setup;๐use crate::draft11::session::setup::SetupError;๐use crate::draft11::session::state::SessionError;๐use crate::draft11::session::state::SessionState;๐use crate::draft11::session::state::SessionStateMachine;๐use crate::draft11::subscription::SubscriptionError;๐use crate::draft11::subscription::SubscriptionState;๐use crate::draft11::subscription::SubscriptionStateMachine;๐use crate::draft11::track_status::TrackStatusError;๐use crate::draft11::track_status::TrackStatusState;๐use crate::draft11::track_status::TrackStatusStateMachine;๐use crate::forwarding_preference::ObjectForwardingPreference;๐use crate::forwarding_preference::TrackForwardingPreferences;๐use crate::track_locations::EndOfTrackPlacement;๐use crate::track_locations::ObjectLocation;๐use crate::track_locations::ObjectRole;๐use crate::track_locations::TrackLocations;๐use crate::track_locations::TrackObjects;๐use moqtap_codec::draft11::error_codes::FetchErrorCode;๐use moqtap_codec::draft11::error_codes::SessionErrorCode;๐use moqtap_codec::draft11::error_codes::SubscribeAnnouncesErrorCode;๐use moqtap_codec::draft11::error_codes::SubscribeErrorCode;๐use moqtap_codec::draft11::message;๐use moqtap_codec::draft11::message::Announce;๐use moqtap_codec::draft11::message::AnnounceCancel;๐use moqtap_codec::draft11::message::AnnounceError;๐use moqtap_codec::draft11::message::AnnounceOk;๐use moqtap_codec::draft11::message::ClientSetup;๐use moqtap_codec::draft11::message::ControlMessage;๐use moqtap_codec::draft11::message::Fetch;๐use moqtap_codec::draft11::message::FetchCancel;๐use moqtap_codec::draft11::message::FetchPayload;๐use moqtap_codec::draft11::message::FetchType;๐use moqtap_codec::draft11::message::GoAway;๐use moqtap_codec::draft11::message::MaxRequestId;๐use moqtap_codec::draft11::message::RequestsBlocked;๐use moqtap_codec::draft11::message::ServerSetup;๐use moqtap_codec::draft11::message::Subscribe;๐use moqtap_codec::draft11::message::SubscribeAnnounces;๐use moqtap_codec::draft11::message::SubscribeAnnouncesError;๐use moqtap_codec::draft11::message::SubscribeAnnouncesOk;๐use moqtap_codec::draft11::message::SubscribeDone;๐use moqtap_codec::draft11::message::SubscribeError;๐use moqtap_codec::draft11::message::SubscribeOk;๐use moqtap_codec::draft11::message::SubscribeUpdate;๐use moqtap_codec::draft11::message::TrackStatus;๐use moqtap_codec::draft11::message::TrackStatusRequest;๐use moqtap_codec::draft11::message::Unannounce;๐use moqtap_codec::draft11::message::Unsubscribe;๐use moqtap_codec::draft11::message::UnsubscribeAnnounces;๐use moqtap_codec::kvp::KeyValuePair;๐use moqtap_codec::kvp::KvpValue;๐use moqtap_codec::varint::VarInt;๐use moqtap_codec::types::*;๐
Structsยง
- Endpoint
- Unified draft-11 MoQT endpoint wrapping session lifecycle, request ID allocation, and all per-flow state machines (subscriptions, fetches, announces, subscribe-announces, track statuses).
- Inbound
Announce ๐ - An announcement the peer made with ANNOUNCE.
- Inbound
Fetch ๐ - A FETCH the peer sent, and how far the fetch it opened has got.
- Inbound
Subscribe ๐ - A SUBSCRIBE the peer sent, and how far the subscription it opened has got.
- Inbound
Subscribe ๐Announces - A SUBSCRIBE_ANNOUNCES 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_REQUEST.
- Track
Binding ๐ - A Track Alias attached to a Full Track Name, and the request whose lifetime the attachment follows.
Enumsยง
- Binding
Kind ๐ - Which end sent the SUBSCRIBE a binding came from, and so which record says whether its subscription is still standing.
- Endpoint
Error - Errors that can occur during draft-11 endpoint operations.
Functionsยง
- prefixes_
overlap ๐ - Whether two namespace prefixes overlap.
Type Aliasesยง
- Namespace
Key ๐ - Key identifying a namespace (used for Announce maps).