mio 0.4.0

Lightweight non-blocking IO
docs.rs failed to build mio-0.4.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: mio-0.8.0

MIO - Metal IO

MIO is a lightweight IO library for Rust with a focus on adding as little overhead as possible over the OS abstractions.

Build Status crates.io


To use mio, first add this to your Cargo.toml:

mio = "0.3.0"

Then, add this to your crate root:

extern crate mio;


  • Event loop backed by epoll, kqueue.
  • Zero allocations at runtime
  • Non-blocking TCP, UDP and Unix domain sockets
  • High performance timer system
  • Thread safe message channel for cross thread communication


  • Signal handling
  • Windows support

Non goals

The following are specifically omitted from MIO and are left to the user or higher level libraries.

  • File operations
  • Thread pools / multi-threaded event loop


Currently, MIO only supports Linux and Darwin. The goal is to support all platforms that support Rust and the readiness IO model.


A group of mio users hang out in the #mio channel on the Mozilla IRC server (irc.mozilla.org). This can be a good place to go for questions.