tokio-timer 0.1.1

Timer facilities for Tokio
Documentation
# tokio-timer

Timer facilities for Tokio

[![Build Status](https://travis-ci.org/tokio-rs/tokio-timer.svg?branch=master)](https://travis-ci.org/tokio-rs/tokio-timer)
[![Crates.io](https://img.shields.io/crates/v/tokio-timer.svg?maxAge=2592000)](https://crates.io/crates/tokio-timer)

[Documentation](https://docs.rs/tokio-timer) |
[Gitter](https://gitter.im/tokio-rs/tokio)

## Usage

First, add this to your `Cargo.toml`:

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

Next, add this to your crate:

```rust
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](http://www.cs.columbia.edu/~nahum/w6998/papers/ton97-timing-wheels.pdf),
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](http://www.1024cores.net/home/lock-free-algorithms/queues/bounded-mpmc-queue),
see LICENSE-MPMC for details.