pub struct SubscriptionStateMachine {
state: SubscriptionState,
}Expand description
Pure state machine for a MoQT subscription. Transitions: Idle → Subscribing → Active → Done.
Fields§
§state: SubscriptionStateImplementations§
Source§impl SubscriptionStateMachine
impl SubscriptionStateMachine
pub fn new() -> Self
pub fn state(&self) -> SubscriptionState
Sourcepub fn on_subscribe_sent(&mut self) -> Result<(), SubscriptionError>
pub fn on_subscribe_sent(&mut self) -> Result<(), SubscriptionError>
Idle → Subscribing (SUBSCRIBE sent).
Sourcepub fn on_subscribe_ok(&mut self) -> Result<(), SubscriptionError>
pub fn on_subscribe_ok(&mut self) -> Result<(), SubscriptionError>
Subscribing → Active (SUBSCRIBE_OK received).
Sourcepub fn on_subscribe_error(&mut self) -> Result<(), SubscriptionError>
pub fn on_subscribe_error(&mut self) -> Result<(), SubscriptionError>
Subscribing → Done (SUBSCRIBE_ERROR received).
Sourcepub fn on_unsubscribe(&mut self) -> Result<(), SubscriptionError>
pub fn on_unsubscribe(&mut self) -> Result<(), SubscriptionError>
Active → Done (UNSUBSCRIBE sent).
Sourcepub fn on_publish_done(&mut self) -> Result<(), SubscriptionError>
pub fn on_publish_done(&mut self) -> Result<(), SubscriptionError>
Active → Done (PUBLISH_DONE received).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SubscriptionStateMachine
impl RefUnwindSafe for SubscriptionStateMachine
impl Send for SubscriptionStateMachine
impl Sync for SubscriptionStateMachine
impl Unpin for SubscriptionStateMachine
impl UnsafeUnpin for SubscriptionStateMachine
impl UnwindSafe for SubscriptionStateMachine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more