Join 10350+ others. No spamming.
I promise!

Follow us at github.



dpc / mioco.pre-0.9


Scalable, coroutine-based, asynchronous IO handling library for Rust programming language. (aka MIO COroutines).



Travis CI Build Status App Veyor Build Status Gitter Chat

Project status

This is repository for mioco before version 0.9. It's hear for historical reasons, while I've started reworking mioco in the original location: . Sorry for all the confusion.

Rust community decided that futures should be main Rust async IO story, so you might want to look at tokio-fiber: coroutines as Futures project, which should have mioco-like API and allow easily porting code using mioco.

Code snippet

    mioco::start(|| -> io::Result<()> {
        let addr = listend_addr();

        let listener = try!(TcpListener::bind(&addr));

        println!("Starting tcp echo server on {:?}", try!(listener.local_addr()));

        loop {
            let mut conn = try!(listener.accept());

            mioco::spawn(move || -> io::Result<()> {
                let mut buf = [0u8; 1024 * 16];
                loop {
                    let size = try!( buf));
                    if size == 0 {/* eof */ break; }
                    let _ = try!(conn.write_all(&mut buf[0..size]));


This trivial code scales very well. See benchmarks.

Contributors welcome!

Mioco is looking for contributors. See Contributing page for details.


Scalable, coroutine-based, asynchronous IO handling library for Rust programming language.

Mioco uses asynchronous event loop, to cooperatively switch between coroutines (aka. green threads), depending on data availability. You can think of mioco as Node.js for Rust or Rust green threads on top of mio.

Read Documentation for details and features.

If you want to say hi, or need help use #mioco

To report a bug or ask for features use github issues.

Building & running


To start test echo server:

cargo run --release --example echo

For daily work:

make all

In your project

In Cargo.toml:

mioco = "*"

In your

extern crate mioco;

Projects using mioco:

Send PR or drop a link on gitter.