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

deprecated tokio-os-timer

Timer facilities for Tokio based on OS-level primitives

9 releases

0.1.8 May 7, 2020
0.1.7 Jul 23, 2019
0.1.6 May 13, 2019
0.1.4 Apr 24, 2019

#15 in #kqueue

27 downloads per month

MIT license

16KB
320 lines

Crates.io Documentation Travis Build Status Cirrus CI Build Status

This crate is deprecated. Please use async-timer with the tokio_on feature enabled instead.

This crate provides timers for use with tokio that rely on OS mechanisms for timer management rather than a separate timing mechanism like tokio-timer. This comes at somewhat increased overhead if you have many timers, but allows the timers to have any granularity supported by your operating system where tokio-timer can only support timers with a granularity of 1ms. In particular, the system timers usually support whatever granularity the underlying hardware supports (see "High-resolution timers" in time(7)), which on my laptop is 1ns! Realistically, you won't be able to make your timers higher resolution than how long system calls on your system take, which is usually on the order of hundreds of nanoseconds.

Platform support

The current implementation uses timerfd_create(2) on Linux, and kqueue(2) timers on macOS and BSDs. Windows support is sadly unlikely to appear (#9).

Dependencies

~4MB
~78K SLoC