[][src]Struct kayrx::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(kayrx::timer::clock::now() + duration, duration).

The duration argument must be a non-zero duration.

Panics

This function panics if duration is zero.

pub async fn next<'_>(&'_ mut self) -> Option<Instant>[src]

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

Examples

use kayrx::timer::Interval;

use std::time::Duration;

#[kayrx::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 Debug for Interval[src]

impl FusedStream for Interval[src]

impl Stream for Interval[src]

type Item = Instant

Values yielded by the stream.

Auto Trait Implementations

impl !RefUnwindSafe for Interval

impl Send for Interval

impl Sync for Interval

impl Unpin for Interval

impl !UnwindSafe for Interval

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

impl<T> StreamExt for T where
    T: Stream + ?Sized
[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.