/tokio-timer

Timer facilities for Tokio

Primary LanguageRustApache License 2.0Apache-2.0

tokio-timer

Timer facilities for Tokio

Build Status

Documentation | Gitter

Usage

First, add this to your Cargo.toml:

[dependencies]
tokio-timer = { git = "https://github.com/tokio-rs/tokio-timer" }

Next, add this to your crate:

extern crate tokio_timer;

What is tokio-timer?

This crate provides timer facilities for usage with Tokio. Currently, the only timer implementation is a hashed timing wheel, but will provide a binary heap based timer at some point.

A timer provides the ability to set a timeout, represented as a future. When the timeout is reached, the future completes. This can be implemented very efficiently and avoiding runtime allocations.

Hashed Timing Wheel

Inspired by the paper by Varghese and Lauck, the hashed timing wheel is a great choice for the usage pattern commonly found when writing network applications.

License

tokio-timer is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0), with portions covered by various BSD-like licenses.

See LICENSE-APACHE, and LICENSE-MIT for details.

The MPMC queue implementation is inspired from 1024cores, see LICENSE-MPMC for details.