[][src]Enum async_timer::Interval

#[must_use = "Interval does nothing unless polled"]
pub enum Interval<T = PlatformTimer> {
    // some variants omitted
}

Periodic Timer

On each completition user receives new instance that can be polled once again

Note

Returned Interval is already armed, so it don't need initial poll to start over.

Usage

#![feature(async_await)]

async fn job() {
}

async fn do_a_while() {
    let mut times: u8 = 0;
    let mut interval = async_timer::Interval::platform_new(core::time::Duration::from_secs(1));

    while times < 5 {
        job().await;
        interval = interval.await;
        times += 1;
    }
}

Methods

impl Interval[src]

pub fn platform_new(interval: Duration) -> Self[src]

Creates new instance using platform timer

impl<T: Oneshot> Interval<T>[src]

pub fn new(interval: Duration) -> Self[src]

Creates new instance with specified timer type.

Trait Implementations

impl<T: Oneshot> Future for Interval<T>[src]

type Output = Self

The type of value produced on completion.

Auto Trait Implementations

impl<T> Sync for Interval<T> where
    T: Sync

impl<T> Unpin for Interval<T> where
    T: Unpin

impl<T> Send for Interval<T> where
    T: Send

impl<T> UnwindSafe for Interval<T> where
    T: UnwindSafe

impl<T> RefUnwindSafe for Interval<T> where
    T: RefUnwindSafe

Blanket Implementations

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

impl<T> From<T> for 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.

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

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

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