compio_runtime::time

Function interval_at

Source
pub fn interval_at(start: Instant, period: Duration) -> Interval
Available on crate feature time only.
Expand description

Creates new Interval that yields with interval of period with the first tick completing at start.

An interval will tick indefinitely. At any time, the Interval value can be dropped. This cancels the interval.

§Panics

This function panics if period is zero.

§Examples

use std::time::{Duration, Instant};

use compio_runtime::time::interval_at;

let start = Instant::now() + Duration::from_millis(50);
let mut interval = interval_at(start, Duration::from_millis(10));

interval.tick().await; // ticks after 50ms
interval.tick().await; // ticks after 10ms
interval.tick().await; // ticks after 10ms

// approximately 70ms have elapsed.