Skip to main content

Module endpoint

Module endpoint 

Source
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::draft13::fetch::FetchError; ๐Ÿ”’
use crate::draft13::fetch::FetchState; ๐Ÿ”’
use crate::draft13::fetch::FetchStateMachine; ๐Ÿ”’
use crate::draft13::namespace::AnnounceState; ๐Ÿ”’
use crate::draft13::namespace::AnnounceStateMachine; ๐Ÿ”’
use crate::draft13::namespace::NamespaceError; ๐Ÿ”’
use crate::draft13::namespace::SubscribeNamespaceState; ๐Ÿ”’
use crate::draft13::namespace::SubscribeNamespaceStateMachine; ๐Ÿ”’
use crate::draft13::publish::PublishError as PublishFlowError; ๐Ÿ”’
use crate::draft13::publish::PublishState; ๐Ÿ”’
use crate::draft13::publish::PublishStateMachine; ๐Ÿ”’
use crate::draft13::session::request_id::RequestIdAllocator; ๐Ÿ”’
use crate::draft13::session::request_id::RequestIdError; ๐Ÿ”’
use crate::draft13::session::request_id::Role; ๐Ÿ”’
use crate::draft13::session::setup; ๐Ÿ”’
use crate::draft13::session::setup::SetupError; ๐Ÿ”’
use crate::draft13::session::state::SessionError; ๐Ÿ”’
use crate::draft13::session::state::SessionState; ๐Ÿ”’
use crate::draft13::session::state::SessionStateMachine; ๐Ÿ”’
use crate::draft13::subscription::SubscriptionError; ๐Ÿ”’
use crate::draft13::subscription::SubscriptionState; ๐Ÿ”’
use crate::draft13::subscription::SubscriptionStateMachine; ๐Ÿ”’
use crate::draft13::track_status::TrackStatusError; ๐Ÿ”’
use crate::draft13::track_status::TrackStatusState; ๐Ÿ”’
use crate::draft13::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::EndOfTrackPlacement; ๐Ÿ”’
use crate::track_locations::ObjectLocation; ๐Ÿ”’
use crate::track_locations::ObjectRole; ๐Ÿ”’
use crate::track_locations::TrackFault; ๐Ÿ”’
use crate::track_locations::TrackLocations; ๐Ÿ”’
use crate::track_locations::TrackObjects; ๐Ÿ”’
use moqtap_codec::draft13::error_codes::FetchErrorCode; ๐Ÿ”’
use moqtap_codec::draft13::error_codes::SessionErrorCode; ๐Ÿ”’
use moqtap_codec::draft13::error_codes::SubscribeNamespaceErrorCode; ๐Ÿ”’
use moqtap_codec::draft13::message; ๐Ÿ”’
use moqtap_codec::draft13::message::Announce; ๐Ÿ”’
use moqtap_codec::draft13::message::AnnounceCancel; ๐Ÿ”’
use moqtap_codec::draft13::message::AnnounceError; ๐Ÿ”’
use moqtap_codec::draft13::message::AnnounceOk; ๐Ÿ”’
use moqtap_codec::draft13::message::ClientSetup; ๐Ÿ”’
use moqtap_codec::draft13::message::ControlMessage; ๐Ÿ”’
use moqtap_codec::draft13::message::Fetch; ๐Ÿ”’
use moqtap_codec::draft13::message::FetchCancel; ๐Ÿ”’
use moqtap_codec::draft13::message::FetchPayload; ๐Ÿ”’
use moqtap_codec::draft13::message::FetchType; ๐Ÿ”’
use moqtap_codec::draft13::message::GoAway; ๐Ÿ”’
use moqtap_codec::draft13::message::MaxRequestId; ๐Ÿ”’
use moqtap_codec::draft13::message::Publish; ๐Ÿ”’
use moqtap_codec::draft13::message::PublishError; ๐Ÿ”’
use moqtap_codec::draft13::message::PublishOk; ๐Ÿ”’
use moqtap_codec::draft13::message::RequestsBlocked; ๐Ÿ”’
use moqtap_codec::draft13::message::ServerSetup; ๐Ÿ”’
use moqtap_codec::draft13::message::Subscribe; ๐Ÿ”’
use moqtap_codec::draft13::message::SubscribeDone; ๐Ÿ”’
use moqtap_codec::draft13::message::SubscribeError; ๐Ÿ”’
use moqtap_codec::draft13::message::SubscribeNamespace; ๐Ÿ”’
use moqtap_codec::draft13::message::SubscribeNamespaceError; ๐Ÿ”’
use moqtap_codec::draft13::message::SubscribeNamespaceOk; ๐Ÿ”’
use moqtap_codec::draft13::message::SubscribeOk; ๐Ÿ”’
use moqtap_codec::draft13::message::SubscribeUpdate; ๐Ÿ”’
use moqtap_codec::draft13::message::TrackStatus; ๐Ÿ”’
use moqtap_codec::draft13::message::TrackStatusError as TrackStatusErrorMsg; ๐Ÿ”’
use moqtap_codec::draft13::message::TrackStatusOk; ๐Ÿ”’
use moqtap_codec::draft13::message::Unannounce; ๐Ÿ”’
use moqtap_codec::draft13::message::Unsubscribe; ๐Ÿ”’
use moqtap_codec::draft13::message::UnsubscribeNamespace; ๐Ÿ”’
use moqtap_codec::kvp::KeyValuePair; ๐Ÿ”’
use moqtap_codec::kvp::KvpValue; ๐Ÿ”’
use moqtap_codec::varint::VarInt; ๐Ÿ”’
use moqtap_codec::types::*; ๐Ÿ”’

Structsยง

Endpoint
Unified draft-13 MoQT endpoint wrapping session lifecycle, request ID allocation, and all per-flow state machines (subscriptions, fetches, announces, subscribe-namespaces, track statuses).
FetchTrack ๐Ÿ”’
The track a fetch this endpoint made asked for: the one a standalone FETCH names, or the one the subscription a Joining Fetch joins is for.
InboundAnnounce ๐Ÿ”’
An announcement the peer made with ANNOUNCE.
InboundFetch ๐Ÿ”’
A fetch the peer opened with FETCH.
InboundPublish ๐Ÿ”’
A subscription the peer opened with PUBLISH.
InboundSubscribe ๐Ÿ”’
A subscription the peer opened with SUBSCRIBE.
InboundSubscribeNamespace ๐Ÿ”’
A SUBSCRIBE_NAMESPACE the peer sent, and how far the namespace subscription it opens has got.
InboundTrackStatus ๐Ÿ”’
A track status the peer asked for with TRACK_STATUS.
TrackBinding ๐Ÿ”’
A Track Alias the peer has attached to a Full Track Name, and the request whose lifetime the attachment follows.

Enumsยง

BindingKind ๐Ÿ”’
Which of the two sequences Section 4.1 names established the subscription that owns a binding, and so which record says whether it still has one.
EndpointError
Errors that can occur during draft-13 endpoint operations.

Functionsยง

prefixes_overlap ๐Ÿ”’
Whether two namespace prefixes overlap.

Type Aliasesยง

NamespaceKey ๐Ÿ”’
Key identifying a namespace (used for Announce maps).