[][src]Struct async_io::Timer

pub struct Timer { /* fields omitted */ }

A timer that expires after a duration of time.

Timers are futures that output the Instant at which they fired.

Examples

Sleep for 1 second:

use async_io::Timer;
use std::time::Duration;

async fn sleep(dur: Duration) {
    Timer::new(dur).await;
}

sleep(Duration::from_secs(1)).await;

Implementations

impl Timer[src]

pub fn new(dur: Duration) -> Timer

Important traits for Timer

impl Future for Timer type Output = Instant;
[src]

Creates a timer that expires after the given duration of time.

Examples

use async_io::Timer;
use std::time::Duration;

Timer::new(Duration::from_secs(1)).await;

pub fn reset(&mut self, dur: Duration)[src]

Resets the timer to expire after the new duration of time.

Note that resetting a timer is different from creating a new timer because reset() does not remove the waker associated with the task that is polling the timer.

Examples

use async_io::Timer;
use std::time::Duration;

let mut t = Timer::new(Duration::from_secs(1));
t.reset(Duration::from_millis(100));

Trait Implementations

impl Debug for Timer[src]

impl Drop for Timer[src]

impl Future for Timer[src]

type Output = Instant

The type of value produced on completion.

Auto Trait Implementations

impl RefUnwindSafe for Timer

impl Send for Timer

impl Sync for Timer

impl Unpin for Timer

impl UnwindSafe for Timer

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> FutureExt for T where
    T: Future + ?Sized
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.