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::draft14::fetch::FetchError; ๐Ÿ”’
use crate::draft14::fetch::FetchState; ๐Ÿ”’
use crate::draft14::fetch::FetchStateMachine; ๐Ÿ”’
use crate::draft14::namespace::NamespaceError; ๐Ÿ”’
use crate::draft14::namespace::PublishNamespaceState; ๐Ÿ”’
use crate::draft14::namespace::PublishNamespaceStateMachine; ๐Ÿ”’
use crate::draft14::namespace::SubscribeNamespaceState; ๐Ÿ”’
use crate::draft14::namespace::SubscribeNamespaceStateMachine; ๐Ÿ”’
use crate::draft14::publish::PublishError as PublishFlowError; ๐Ÿ”’
use crate::draft14::publish::PublishState; ๐Ÿ”’
use crate::draft14::publish::PublishStateMachine; ๐Ÿ”’
use crate::draft14::session::request_id::RequestIdAllocator; ๐Ÿ”’
use crate::draft14::session::request_id::RequestIdError; ๐Ÿ”’
use crate::draft14::session::request_id::Role; ๐Ÿ”’
use crate::draft14::session::setup; ๐Ÿ”’
use crate::draft14::session::setup::SetupError; ๐Ÿ”’
use crate::draft14::session::state::SessionError; ๐Ÿ”’
use crate::draft14::session::state::SessionState; ๐Ÿ”’
use crate::draft14::session::state::SessionStateMachine; ๐Ÿ”’
use crate::draft14::subscription::SubscriptionError; ๐Ÿ”’
use crate::draft14::subscription::SubscriptionState; ๐Ÿ”’
use crate::draft14::subscription::SubscriptionStateMachine; ๐Ÿ”’
use crate::draft14::track_status::TrackStatusError; ๐Ÿ”’
use crate::draft14::track_status::TrackStatusState; ๐Ÿ”’
use crate::draft14::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::draft14::error_codes::FetchErrorCode; ๐Ÿ”’
use moqtap_codec::draft14::error_codes::SessionErrorCode; ๐Ÿ”’
use moqtap_codec::draft14::error_codes::SubscribeNamespaceErrorCode; ๐Ÿ”’
use moqtap_codec::draft14::message; ๐Ÿ”’
use moqtap_codec::draft14::message::ClientSetup; ๐Ÿ”’
use moqtap_codec::draft14::message::ControlMessage; ๐Ÿ”’
use moqtap_codec::draft14::message::Fetch; ๐Ÿ”’
use moqtap_codec::draft14::message::FetchCancel; ๐Ÿ”’
use moqtap_codec::draft14::message::GoAway; ๐Ÿ”’
use moqtap_codec::draft14::message::MaxRequestId; ๐Ÿ”’
use moqtap_codec::draft14::message::PublishDone; ๐Ÿ”’
use moqtap_codec::draft14::message::PublishNamespace; ๐Ÿ”’
use moqtap_codec::draft14::message::PublishNamespaceCancel; ๐Ÿ”’
use moqtap_codec::draft14::message::PublishNamespaceDone; ๐Ÿ”’
use moqtap_codec::draft14::message::PublishNamespaceError; ๐Ÿ”’
use moqtap_codec::draft14::message::PublishNamespaceOk; ๐Ÿ”’
use moqtap_codec::draft14::message::RequestsBlocked; ๐Ÿ”’
use moqtap_codec::draft14::message::ServerSetup; ๐Ÿ”’
use moqtap_codec::draft14::message::Subscribe; ๐Ÿ”’
use moqtap_codec::draft14::message::SubscribeError; ๐Ÿ”’
use moqtap_codec::draft14::message::SubscribeNamespace; ๐Ÿ”’
use moqtap_codec::draft14::message::SubscribeNamespaceError; ๐Ÿ”’
use moqtap_codec::draft14::message::SubscribeNamespaceOk; ๐Ÿ”’
use moqtap_codec::draft14::message::SubscribeOk; ๐Ÿ”’
use moqtap_codec::draft14::message::SubscribeUpdate; ๐Ÿ”’
use moqtap_codec::draft14::message::Unsubscribe; ๐Ÿ”’
use moqtap_codec::draft14::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).
FetchTrack ๐Ÿ”’
The track a fetch this endpoint made asked for.
InboundFetch ๐Ÿ”’
A fetch the peer opened with FETCH.
InboundPublishNamespace ๐Ÿ”’
An announcement the peer made with PUBLISH_NAMESPACE.
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 5.1 names established the subscription that owns a binding, and so which state machine says whether it still has one.
EndpointError
Errors that can occur during endpoint operations.

Functionsยง

prefixes_overlap ๐Ÿ”’
Whether two namespace prefixes overlap.