4 个版本
0.2.0 | 2020年5月2日 |
---|---|
0.1.2 | 2019年10月5日 |
0.1.1 | 2019年9月23日 |
0.1.0 | 2019年9月17日 |
#1853 in 异步
1,347 个月下载量
用于 pulseaudio
22KB
366 行
mio-timerfd
mio-timerfd 是 Linux 的 timerfd 功能的 mio 包装器。对于特定于 Linux 的软件,这可能是将异步定时器添加到代码中最简单(可能也是最有效,但我没有进行基准测试)的方法。
简单示例
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);
依赖项
~0.5–0.8MB
~14K SLoC