Crate schedule_recv [] [src]

This crate exposes functionality to create receivers that receive notifications after a specified period of time or at a specified frequency.

Examples

At its simplest, oneshot_ms can be used to put the thread to sleep. Unlike with std::thread::sleep, this could be used with Select to be waiting for one of several Receivers to fire.

let timer = oneshot(Duration::from_millis(1500));
timer.recv().unwrap();
println!("1.5 seconds have elapsed.");

Periodic Receivers can be created using periodic_ms.

let tick = periodic(Duration::from_millis(2000));
thread::sleep_ms(1000);
let tock = periodic(Duration::from_millis(2000));

loop {
    tick.recv().unwrap();
    println!("Tick");
    tock.recv().unwrap();
    println!("Tock");
}

Functions

oneshot

Starts a timer which after duration will issue a single .send(()) on the other side of the returned Receiver<()>.

oneshot_ms

Starts a timer which after ms milliseconds will issue a single .send(()) on the other side of the returned Reciever<()>.

periodic

Starts a timer which, every duration, will issue a single .send(()) on the other side of the returned Receiver<()>.

periodic_after

Starts a timer which, every duration after an initial delay of start, will issue .send(()) on the other side of the returned Reciever<()>.

periodic_ms

Starts a timer which, every ms milliseconds, will issue .send(()) on the other side of the returned Reciever<()>.