4 releases
0.2.0 | May 2, 2020 |
---|---|
0.1.2 | Oct 5, 2019 |
0.1.1 | Sep 23, 2019 |
0.1.0 | Sep 17, 2019 |
#1910 in Asynchronous
376 downloads per month
Used in pulseaudio
22KB
366 lines
mio-timerfd
A mio wrapper for linux's timerfd feature. For linux-specific software this is likely the easiest (and probably most performant, but I'm not benchmarking) way to get asynchronous timers into your code.
simple example
let poll = Poll::new().unwrap();
let mut events = Events::with_capacity(1024);
let mut timer = TimerFd::new(ClockId::Monotonic).unwrap();
timer.set_timeout_interval(&Duration::from_millis(10)).unwrap();
poll.register(&timer, Token(0), Ready::readable(), PollOpt::edge())
.unwrap();
// effectively sleeps the thread for 10ms
poll.poll(&mut events, None).unwrap();
assert!(timer.read().unwrap() == 1);
Dependencies
~0.5–0.8MB
~14K SLoC