pub struct Timer<T> { /* private fields */ }
Expand description
A timer.
Typical usage goes like this:
- register the timer with a
mio::Poll
. - set a timeout, by calling
Timer::set_timeout
. Here you provide some state to be associated with this timeout. - poll the
Poll
, to learn when a timeout has occurred. - retrieve state associated with the timeout by calling
Timer::poll
.
You can omit use of the Poll
altogether, if you like, and just poll the
Timer
directly.
Implementations§
Source§impl<T> Timer<T>
impl<T> Timer<T>
Sourcepub fn set_timeout(&mut self, delay_from_now: Duration, state: T) -> Timeout
pub fn set_timeout(&mut self, delay_from_now: Duration, state: T) -> Timeout
Set a timeout.
When the timeout occurs, the given state becomes available via poll
.
Sourcepub fn reset_timeout(
&mut self,
timeout: &Timeout,
delay_from_now: Duration,
) -> Option<Timeout>
pub fn reset_timeout( &mut self, timeout: &Timeout, delay_from_now: Duration, ) -> Option<Timeout>
Resets a timeout.
Sourcepub fn cancel_timeout(&mut self, timeout: &Timeout) -> Option<T>
pub fn cancel_timeout(&mut self, timeout: &Timeout) -> Option<T>
Cancel a timeout.
If the timeout has not yet occurred, the return value holds the associated state.
Sourcepub fn poll(&mut self) -> Option<T>
pub fn poll(&mut self) -> Option<T>
Poll for an expired timer.
The return value holds the state associated with the first expired timer, if any.
pub fn next_poll_date(&self) -> Option<Instant>
Trait Implementations§
Auto Trait Implementations§
impl<T> Freeze for Timer<T>
impl<T> RefUnwindSafe for Timer<T>where
T: RefUnwindSafe,
impl<T> Send for Timer<T>where
T: Send,
impl<T> Sync for Timer<T>where
T: Sync,
impl<T> Unpin for Timer<T>where
T: Unpin,
impl<T> UnwindSafe for Timer<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§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