custom_id_timer/
custom_id_timer.rs1use lustre_executor::prelude::*;
2use std::sync::{Arc, Mutex};
3use std::time::Duration;
4
5fn main() {
6 let executor = Arc::new(Mutex::new(Executor::new().unwrap()));
7 let timer_data = executor.lock().unwrap().timer_data();
8 let start = std::time::Instant::now();
9
10 {
11 let mut exec = executor.lock().unwrap();
12 exec.spawn(Task::new(async move {
13 println!("Starting timer at {:?}", start.elapsed());
14 std::io::Write::flush(&mut std::io::stdout()).unwrap();
15 let timer = TimerFuture::new(Duration::from_millis(500), timer_data);
16 timer.await;
17 println!("Timer fired at {:?}", start.elapsed());
18 }));
19 }
20
21 executor.lock().unwrap().run();
22}