Files
tokio/tokio-reactor
Carl Lerche 08c21e7bac Fix race condition related bugs (#243)
* Fix races.

This mostly pulls in changes from rust-lang-nursery/futures-rs#881, but
also updates Registration to be a bit more obvious as to what is going
on.

* Reduce spurious wakeups caused by Reactor

This patch adds an ABA guard on token values before registering them
with Mio. This allows catching token reuse and avoid the notification.

This is needed for OS X as the notification is used to determine that a
TCP connect has completed. A spurious notification can potentially cause
write failures.
2018-03-22 09:57:40 -07:00
..
2018-03-13 13:57:35 -07:00
2018-03-08 20:15:51 -08:00

tokio-reactor

Event loop that drives Tokio I/O resources.

Documentation

Overview

The reactor is the engine that drives asynchronous I/O resources (like TCP and UDP sockets). It is backed by mio and acts as a bridge between mio and futures.

The crate provides:

  • Reactor is the main type of this crate. It performs the event loop logic.

  • Handle provides a reference to a reactor instance.

  • Registration and PollEvented allow third parties to implement I/O resources that are driven by the reactor.

Application authors will not use this crate directly. Instead, they will use the tokio crate. Library authors should only depend on tokio-reactor if they are building a custom I/O resource.

License

This project is licensed under the MIT license.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Tokio by you, shall be licensed as MIT, without any additional terms or conditions.