[][src]Struct async_timer::Interval

#[must_use = "Interval does nothing unless polled"]
pub struct Interval<T = PlatformTimer> {
    pub interval: Duration,
    // some fields omitted
}

Periodic Timer

On each completition, underlying timer is restarted and therefore Future can be polled once more.

Note

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

Usage

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.as_mut().await;
        times += 1;
    }
}

Fields

interval: Duration

Timer interval, change to this value will be reflected on next restart of timer.

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.

pub fn cancel(&mut self)[src]

Stops interval

pub fn restart(&mut self, ctx: &Context)[src]

Restarts interval

pub fn as_mut(&mut self) -> &mut Self[src]

Gets mutable reference

Trait Implementations

impl<'_, T: Oneshot> Future for &'_ mut Interval<T>[src]

type Output = ()

The type of value produced on completion.

Auto Trait Implementations

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

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

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

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

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

Blanket Implementations

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> Into<U> for T where
    U: From<T>, 
[src]

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]