2016-08-08 11:00:04 -07:00
2016-08-05 09:44:00 -07:00
2016-08-08 11:00:04 -07:00
2016-08-05 16:21:56 -07:00

futures-mio

Build status, license, and other information can be found in the top-level README.md.

Documentation

Usage

First, add this to your Cargo.toml:

[dependencies]
futures-mio = { git = "https://github.com/alexcrichton/futures-rs" }

Next, add this to your crate:

extern crate futures_mio;

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 futures-mio?

This crate is a connection futures, a zero-cost implementation of futures in Rust, and mio, a crate for zero-cost asynchronous I/O, and futures-io, abstractions for I/O on top of the futures crate. The types and structures implemented in futures-mio 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 futures-mio is to provide a concrete implementation for crates built on top of futures-io. For example you can easily turn a TCP stream into a TLS/SSL stream with the futures-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!

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