tokio-bus

crates.io badge docs.rs badge travis-ci.org badge

Integration to let you use bus with tokio.

Example

```rust use tokio; use tokiobus::Bus; use futures::future::{Future, lazy, ok}; use futures::stream::{Stream, iterok}; use futures::sink::Sink;

let mut bus = Bus::new(64); let rx1 = bus.addrx(); let rx2 = bus.addrx();

let sendvalues = bus .sendall(iter_ok::<_, ()>(vec![1, 2, 3, 4, 5, 6]));

let sum_values = rx1 .fold(0i32, |acc, x| { ok(acc + x) });

let div_values = rx2 .fold(1f64, |acc, x| { ok(x as f64 / acc) });

let runtime = tokio::runtime::Runtime::new().unwrap(); runtime.blockonall(lazy(move || { tokio::spawn(sendvalues .map(|| {}) .maperr(|| { panic!(); }) ); asserteq!(sumvalues.wait(), Ok(21)); asserteq!(divvalues.wait(), Ok(3.2)); ok::<(), ()>(()) })).unwrap();

```