pub struct PublishStateMachine {
state: PublishState,
}Expand description
Pure state machine for a MoQT publish request (publisher side). Transitions: Idle -> Publishing -> Active -> Done.
Fields§
§state: PublishStateImplementations§
Source§impl PublishStateMachine
impl PublishStateMachine
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new state machine in the PublishState::Idle state.
Sourcepub fn state(&self) -> PublishState
pub fn state(&self) -> PublishState
Returns the current state of the publish request.
Sourcepub fn on_publish_sent(&mut self) -> Result<(), PublishError>
pub fn on_publish_sent(&mut self) -> Result<(), PublishError>
Idle -> Publishing (PUBLISH sent).
Sourcepub fn on_publish_ok(&mut self) -> Result<(), PublishError>
pub fn on_publish_ok(&mut self) -> Result<(), PublishError>
Publishing -> Active (PUBLISH_OK received).
Sourcepub fn on_publish_error(&mut self) -> Result<(), PublishError>
pub fn on_publish_error(&mut self) -> Result<(), PublishError>
Publishing -> Done (REQUEST_ERROR received).
Sourcepub fn on_publish_done_sent(&mut self) -> Result<(), PublishError>
pub fn on_publish_done_sent(&mut self) -> Result<(), PublishError>
Active -> Done (PUBLISH_DONE sent by publisher).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PublishStateMachine
impl RefUnwindSafe for PublishStateMachine
impl Send for PublishStateMachine
impl Sync for PublishStateMachine
impl Unpin for PublishStateMachine
impl UnsafeUnpin for PublishStateMachine
impl UnwindSafe for PublishStateMachine
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