actix_rt::time

Function interval_at

pub fn interval_at(start: Instant, period: Duration) -> Interval
Expand description

Creates new Interval that yields with interval of period with the first tick completing at start. The default [MissedTickBehavior] is Burst, but this can be configured by calling set_missed_tick_behavior.

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 tokio::time::{interval_at, Duration, Instant};

#[tokio::main]
async fn main() {
    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.
}