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 crate::draft08::fetch::FetchError; ๐Ÿ”’
use crate::draft08::fetch::FetchState; ๐Ÿ”’
use crate::draft08::fetch::FetchStateMachine; ๐Ÿ”’
use crate::draft08::namespace::AnnounceState; ๐Ÿ”’
use crate::draft08::namespace::AnnounceStateMachine; ๐Ÿ”’
use crate::draft08::namespace::NamespaceError; ๐Ÿ”’
use crate::draft08::namespace::SubscribeAnnouncesState; ๐Ÿ”’
use crate::draft08::namespace::SubscribeAnnouncesStateMachine; ๐Ÿ”’
use crate::draft08::session::setup; ๐Ÿ”’
use crate::draft08::session::setup::SetupError; ๐Ÿ”’
use crate::draft08::session::state::SessionError; ๐Ÿ”’
use crate::draft08::session::state::SessionState; ๐Ÿ”’
use crate::draft08::session::state::SessionStateMachine; ๐Ÿ”’
use crate::draft08::session::subscribe_id::SubscribeIdAllocator; ๐Ÿ”’
use crate::draft08::session::subscribe_id::SubscribeIdError; ๐Ÿ”’
use crate::draft08::subscription::SubscriptionError; ๐Ÿ”’
use crate::draft08::subscription::SubscriptionState; ๐Ÿ”’
use crate::draft08::subscription::SubscriptionStateMachine; ๐Ÿ”’
use crate::draft08::track_status::TrackStatusError; ๐Ÿ”’
use crate::draft08::track_status::TrackStatusState; ๐Ÿ”’
use crate::draft08::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::draft08::error_codes::SessionErrorCode; ๐Ÿ”’
use moqtap_codec::draft08::error_codes::SubscribeErrorCode; ๐Ÿ”’
use moqtap_codec::draft08::message; ๐Ÿ”’
use moqtap_codec::draft08::message::Announce; ๐Ÿ”’
use moqtap_codec::draft08::message::AnnounceCancel; ๐Ÿ”’
use moqtap_codec::draft08::message::AnnounceError; ๐Ÿ”’
use moqtap_codec::draft08::message::AnnounceOk; ๐Ÿ”’
use moqtap_codec::draft08::message::ClientSetup; ๐Ÿ”’
use moqtap_codec::draft08::message::ControlMessage; ๐Ÿ”’
use moqtap_codec::draft08::message::Fetch; ๐Ÿ”’
use moqtap_codec::draft08::message::FetchCancel; ๐Ÿ”’
use moqtap_codec::draft08::message::FetchType; ๐Ÿ”’
use moqtap_codec::draft08::message::GoAway; ๐Ÿ”’
use moqtap_codec::draft08::message::MaxSubscribeId; ๐Ÿ”’
use moqtap_codec::draft08::message::ServerSetup; ๐Ÿ”’
use moqtap_codec::draft08::message::Subscribe; ๐Ÿ”’
use moqtap_codec::draft08::message::SubscribeAnnounces; ๐Ÿ”’
use moqtap_codec::draft08::message::SubscribeAnnouncesError; ๐Ÿ”’
use moqtap_codec::draft08::message::SubscribeAnnouncesOk; ๐Ÿ”’
use moqtap_codec::draft08::message::SubscribeDone; ๐Ÿ”’
use moqtap_codec::draft08::message::SubscribeError; ๐Ÿ”’
use moqtap_codec::draft08::message::SubscribeOk; ๐Ÿ”’
use moqtap_codec::draft08::message::SubscribeUpdate; ๐Ÿ”’
use moqtap_codec::draft08::message::SubscribesBlocked; ๐Ÿ”’
use moqtap_codec::draft08::message::TrackStatus; ๐Ÿ”’
use moqtap_codec::draft08::message::TrackStatusRequest; ๐Ÿ”’
use moqtap_codec::draft08::message::Unannounce; ๐Ÿ”’
use moqtap_codec::draft08::message::Unsubscribe; ๐Ÿ”’
use moqtap_codec::draft08::message::UnsubscribeAnnounces; ๐Ÿ”’
use moqtap_codec::kvp::KeyValuePair; ๐Ÿ”’
use moqtap_codec::varint::VarInt; ๐Ÿ”’
use moqtap_codec::types::*; ๐Ÿ”’

Structsยง

Endpoint
Unified draft-08 MoQT endpoint wrapping session lifecycle, subscribe ID allocation, and all per-flow state machines (subscriptions, fetches, announces, subscribe-announces, track statuses).
InboundAnnounce ๐Ÿ”’
An announcement the peer made with ANNOUNCE.
InboundFetch ๐Ÿ”’
A FETCH the peer sent, and how far the fetch it opened has got.
InboundSubscribe ๐Ÿ”’
A SUBSCRIBE the peer sent, and how far the subscription it opened has got.
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 attached to a Full Track Name, and nothing else: the subscription whose lifetime the attachment follows is the mapโ€™s key.

Enumsยง

EndpointError
Errors that can occur during draft-08 endpoint operations.
Role
Which side of the session this endpoint is.
SubscribeSide
Which end of the session opened a subscription.

Functionsยง

prefixes_overlap ๐Ÿ”’
Whether two namespace prefixes overlap.

Type Aliasesยง

NamespaceKey ๐Ÿ”’
Key identifying a namespace (used for Announce / SubscribeAnnounces maps).
TrackKey ๐Ÿ”’
Key identifying a track (namespace + track name).