1use std::time::Duration;
2
3fn main() {
4 let mut poll = mio::Poll::new().unwrap();
5 let mut events = mio::Events::with_capacity(2);
6
7 let mut timer1 = timerfd_mio::TimerFd::new().unwrap();
9 timer1.set_timeout_interval(Duration::from_millis(600), Duration::from_millis(300)).unwrap();
10 poll.registry().register(&mut timer1, mio::Token(1), mio::Interest::READABLE).unwrap();
11
12 let mut timer2 = timerfd_mio::TimerFd::new().unwrap();
13 timer2.set_timeout_interval(Duration::from_millis(1000), Duration::from_millis(1000)).unwrap();
14 poll.registry().register(&mut timer2, mio::Token(2), mio::Interest::READABLE).unwrap();
15
16 loop {
17 poll.poll(&mut events, None).unwrap();
18
19 for event in &events {
20 if event.token() == mio::Token(1) {
21 timer1.read().unwrap();
22 println!("Timer 1 event");
23 }
24 if event.token() == mio::Token(2) {
25 timer2.read_and_check_overrun().unwrap();
27 println!("Timer 2 event");
28 }
29 }
30 }
31}