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::draft12::fetch::FetchError; ๐Ÿ”’
use crate::draft12::fetch::FetchState; ๐Ÿ”’
use crate::draft12::fetch::FetchStateMachine; ๐Ÿ”’
use crate::draft12::namespace::AnnounceState; ๐Ÿ”’
use crate::draft12::namespace::AnnounceStateMachine; ๐Ÿ”’
use crate::draft12::namespace::NamespaceError; ๐Ÿ”’
use crate::draft12::namespace::SubscribeAnnouncesState; ๐Ÿ”’
use crate::draft12::namespace::SubscribeAnnouncesStateMachine; ๐Ÿ”’
use crate::draft12::publish::PublishError as PublishFlowError; ๐Ÿ”’
use crate::draft12::publish::PublishState; ๐Ÿ”’
use crate::draft12::publish::PublishStateMachine; ๐Ÿ”’
use crate::draft12::session::request_id::RequestIdAllocator; ๐Ÿ”’
use crate::draft12::session::request_id::RequestIdError; ๐Ÿ”’
use crate::draft12::session::request_id::Role; ๐Ÿ”’
use crate::draft12::session::setup; ๐Ÿ”’
use crate::draft12::session::setup::SetupError; ๐Ÿ”’
use crate::draft12::session::state::SessionError; ๐Ÿ”’
use crate::draft12::session::state::SessionState; ๐Ÿ”’
use crate::draft12::session::state::SessionStateMachine; ๐Ÿ”’
use crate::draft12::subscription::SubscriptionError; ๐Ÿ”’
use crate::draft12::subscription::SubscriptionState; ๐Ÿ”’
use crate::draft12::subscription::SubscriptionStateMachine; ๐Ÿ”’
use crate::draft12::track_status::TrackStatusError; ๐Ÿ”’
use crate::draft12::track_status::TrackStatusState; ๐Ÿ”’
use crate::draft12::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::draft12::error_codes::FetchErrorCode; ๐Ÿ”’
use moqtap_codec::draft12::error_codes::SessionErrorCode; ๐Ÿ”’
use moqtap_codec::draft12::error_codes::SubscribeAnnouncesErrorCode; ๐Ÿ”’
use moqtap_codec::draft12::message; ๐Ÿ”’
use moqtap_codec::draft12::message::Announce; ๐Ÿ”’
use moqtap_codec::draft12::message::AnnounceCancel; ๐Ÿ”’
use moqtap_codec::draft12::message::AnnounceError; ๐Ÿ”’
use moqtap_codec::draft12::message::AnnounceOk; ๐Ÿ”’
use moqtap_codec::draft12::message::ClientSetup; ๐Ÿ”’
use moqtap_codec::draft12::message::ControlMessage; ๐Ÿ”’
use moqtap_codec::draft12::message::Fetch; ๐Ÿ”’
use moqtap_codec::draft12::message::FetchCancel; ๐Ÿ”’
use moqtap_codec::draft12::message::FetchPayload; ๐Ÿ”’
use moqtap_codec::draft12::message::FetchType; ๐Ÿ”’
use moqtap_codec::draft12::message::GoAway; ๐Ÿ”’
use moqtap_codec::draft12::message::MaxRequestId; ๐Ÿ”’
use moqtap_codec::draft12::message::Publish; ๐Ÿ”’
use moqtap_codec::draft12::message::PublishError; ๐Ÿ”’
use moqtap_codec::draft12::message::PublishOk; ๐Ÿ”’
use moqtap_codec::draft12::message::RequestsBlocked; ๐Ÿ”’
use moqtap_codec::draft12::message::ServerSetup; ๐Ÿ”’
use moqtap_codec::draft12::message::Subscribe; ๐Ÿ”’
use moqtap_codec::draft12::message::SubscribeAnnounces; ๐Ÿ”’
use moqtap_codec::draft12::message::SubscribeAnnouncesError; ๐Ÿ”’
use moqtap_codec::draft12::message::SubscribeAnnouncesOk; ๐Ÿ”’
use moqtap_codec::draft12::message::SubscribeDone; ๐Ÿ”’
use moqtap_codec::draft12::message::SubscribeError; ๐Ÿ”’
use moqtap_codec::draft12::message::SubscribeOk; ๐Ÿ”’
use moqtap_codec::draft12::message::SubscribeUpdate; ๐Ÿ”’
use moqtap_codec::draft12::message::TrackStatus; ๐Ÿ”’
use moqtap_codec::draft12::message::TrackStatusRequest; ๐Ÿ”’
use moqtap_codec::draft12::message::Unannounce; ๐Ÿ”’
use moqtap_codec::draft12::message::Unsubscribe; ๐Ÿ”’
use moqtap_codec::draft12::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-12 MoQT endpoint wrapping session lifecycle, request ID allocation, and all per-flow state machines (subscriptions, fetches, announces, subscribe-announces, 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.
InboundSubscribeAnnounces ๐Ÿ”’
A SUBSCRIBE_ANNOUNCES the peer sent, and how far the namespace subscription it opens has got.
InboundTrackStatus ๐Ÿ”’
A track status the peer asked for with TRACK_STATUS_REQUEST.
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-12 endpoint operations.

Functionsยง

prefixes_overlap ๐Ÿ”’
Whether two namespace prefixes overlap.

Type Aliasesยง

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