Alex Crichton 0a3dc0bb75 Add a method to manually deregister an I/O object
Typically this happens automatically as the `E` in `PollEvented<E>` is an owned
reference (e.g. a `TcpStream`) where dropping that will close the resource,
automatically unregistering it from the event loop. In some situations, however,
this isn't always the case, so the deregistering needs to happen manually.
2016-11-04 09:12:00 -07:00
2016-11-02 16:57:27 -07:00
2016-10-21 17:01:43 -07:00
2016-08-26 14:44:01 -07:00
2016-08-26 14:45:55 -07:00
2016-10-12 23:34:58 -07:00
2016-08-26 14:56:21 -07:00
2016-08-26 14:56:21 -07:00
2016-09-09 18:15:15 -07:00

tokio-core

Core I/O and event loop abstraction for asynchronous I/O in Rust built on futures and mio.

Build Status Build status

Documentation

Usage

First, add this to your Cargo.toml:

[dependencies]
tokio-core = "0.1"

Next, add this to your crate:

extern crate tokio_core;

Examples

There are a few small examples showing off how to use this library:

  • echo.rs - a simple TCP echo server
  • socks5.rs - an implementation of a SOCKSv5 proxy server

What is tokio-core?

This crate is a connection futures, a zero-cost implementation of futures in Rust, and mio and a crate for zero-cost asynchronous I/O. The types and structures implemented in tokio-core implement Future and Stream traits as appropriate. For example connecting a TCP stream returns a Future resolving to a TCP stream, and a TCP listener implements a stream of TCP streams (accepted connections).

This crate also provides facilities such as:

  • TCP streams
  • TCP listeners
  • UDP sockets
  • Timeouts
  • Data owned and local to the event loop
  • An Executor implementation for a futures' Task

The intention of tokio-core is to provide a concrete implementation for crates built on top of asynchronous I/O. For example you can easily turn a TCP stream into a TLS/SSL stream with the tokio-tls crate or use the combinators to compose working with data on sockets.

Check out the documentation for more information, and more coming here soon!

License

tokio-core 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.

S
Description
A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
Readme MIT
62 MiB
Languages
Rust 100%