pub struct AnnounceStateMachine {
state: AnnounceState,
}Expand description
State machine for the ANNOUNCE flow (draft-12). Idle → Pending → Active → Done.
Fields§
§state: AnnounceStateImplementations§
Source§impl AnnounceStateMachine
impl AnnounceStateMachine
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new machine in AnnounceState::Idle.
Sourcepub fn state(&self) -> AnnounceState
pub fn state(&self) -> AnnounceState
Returns the current state.
Sourcepub fn on_announce_sent(&mut self) -> Result<(), NamespaceError>
pub fn on_announce_sent(&mut self) -> Result<(), NamespaceError>
Idle → Pending (ANNOUNCE sent).
Sourcepub fn on_announce_ok(&mut self) -> Result<(), NamespaceError>
pub fn on_announce_ok(&mut self) -> Result<(), NamespaceError>
Pending → Active (ANNOUNCE_OK received).
Sourcepub fn on_announce_error(&mut self) -> Result<(), NamespaceError>
pub fn on_announce_error(&mut self) -> Result<(), NamespaceError>
Pending → Done (ANNOUNCE_ERROR received).
Sourcepub fn on_unannounce(&mut self) -> Result<(), NamespaceError>
pub fn on_unannounce(&mut self) -> Result<(), NamespaceError>
Active → Done (UNANNOUNCE sent — publisher withdrawing).
Sourcepub fn on_announce_cancel(&mut self) -> Result<(), NamespaceError>
pub fn on_announce_cancel(&mut self) -> Result<(), NamespaceError>
Active → Done (ANNOUNCE_CANCEL received — subscriber cancelling).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AnnounceStateMachine
impl RefUnwindSafe for AnnounceStateMachine
impl Send for AnnounceStateMachine
impl Sync for AnnounceStateMachine
impl Unpin for AnnounceStateMachine
impl UnsafeUnpin for AnnounceStateMachine
impl UnwindSafe for AnnounceStateMachine
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