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.