[][src]Struct tokio::timer::Interval

pub struct Interval { /* fields omitted */ }

A stream representing notifications at fixed interval

Methods

impl Interval[src]

pub fn new(at: Instant, duration: Duration) -> Interval[src]

Create a new Interval that starts at at and yields every duration interval after that.

Note that when it starts, it produces item too.

The duration argument must be a non-zero duration.

Panics

This function panics if duration is zero.

pub fn new_interval(duration: Duration) -> Interval[src]

Creates new Interval that yields with interval of duration.

The function is shortcut for Interval::new(tokio_timer::clock::now() + duration, duration).

The duration argument must be a non-zero duration.

Panics

This function panics if duration is zero.

pub fn next(&'_ mut self) -> impl Future<Output = Option<Instant>>[src]

Completes when the next instant in the interval has been reached.

Examples

use tokio::timer::Interval;

use std::time::Duration;

#[tokio::main]
async fn main() {
    let mut interval = Interval::new_interval(Duration::from_millis(10));

    interval.next().await;
    interval.next().await;
    interval.next().await;

    // approximately 30ms have elapsed.
}

Trait Implementations

impl FusedStream for Interval[src]

impl Debug for Interval[src]

impl Stream for Interval[src]

type Item = Instant

Values yielded by the stream.

Auto Trait Implementations

impl Send for Interval

impl Unpin for Interval

impl Sync for Interval

impl !UnwindSafe for Interval

impl !RefUnwindSafe for Interval

Blanket Implementations

impl<T> StreamExt for T where
    T: Stream + ?Sized
[src]

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> BorrowMut<T> for T where
    T: ?Sized
[src]

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

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

impl<T> StreamExt for T where
    T: Stream + ?Sized
[src]