#timer #tokio #primitive #facilities #time #kqueue #os-level

废弃 tokio-os-timer

基于操作系统原语实现的 Tokio 定时器功能

9 个版本

0.1.8 2020 年 5 月 7 日
0.1.7 2019 年 7 月 23 日
0.1.6 2019 年 5 月 13 日
0.1.4 2019 年 4 月 24 日

#15 in #kqueue

MIT 许可证

16KB
320 代码行

Crates.io Documentation Travis Build Status Cirrus CI Build Status

此包已废弃。请使用启用 tokio_on 功能的 async-timer 代替。

此包为使用 tokio 提供定时器,它依赖于操作系统机制进行定时器管理,而不是像 tokio-timer 这样的独立计时机制。如果您有很多定时器,这可能会增加一些开销,但允许定时器具有操作系统支持的所有粒度,而 tokio-timer 只能支持 1ms 粒度的定时器。特别是,系统定时器通常支持底层硬件支持的所有粒度(参见 time(7) 中的“高精度定时器”),在我的笔记本电脑上为 1ns!实际上,您无法将定时器的分辨率做得比系统调用的持续时间更高,这通常在数百纳秒的量级。

平台支持

当前实现使用 Linux 上的 timerfd_create(2) 和 macOS 及 BSD 上的 kqueue(2) 定时器。遗憾的是,Windows 的支持不太可能出现 (#9)。

依赖项

~4.5MB
~79K SLoC