pub struct Timer<PI> { /* private fields */ }
Expand description
A timer to be registered into the runtime
As the implementation of the protocol is an IO-less state machine, registering timers does not
happen within the protocol implementation. Instead, these Timer
structs are emitted as
OutEvent
s. The implementer must register the timer in its runtime to be emitted on the specified [Instant
],
and once triggered inject an InEvent::TimerExpired
into the protocol state.
Trait Implementations§
Auto Trait Implementations§
impl<PI> Freeze for Timer<PI>where
PI: Freeze,
impl<PI> RefUnwindSafe for Timer<PI>where
PI: RefUnwindSafe,
impl<PI> Send for Timer<PI>where
PI: Send,
impl<PI> Sync for Timer<PI>where
PI: Sync,
impl<PI> Unpin for Timer<PI>where
PI: Unpin,
impl<PI> UnwindSafe for Timer<PI>where
PI: UnwindSafe,
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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