//! # Hyperbridge
//!
//! Fast multi-producer, multi-consumer unbounded channel with async support.
//!
//! ## Example
//!
//! ```
//! let (tx, rx) = hyperbridge::channel::new();
//!
//! tx.send(42).unwrap();
//! let v = loop {
//! match rx.try_recv() {
//! Ok(None) => {}, // not ready
//! Ok(Some(val)) => break val,
//! Err(e) => panic!("channel read error: {:?}", e),
//! }
//! };
//! assert_eq!(v, 42);
//! ```
extern crate futures;
// mpmc channel
// Sink, Stream implementations for channel
// auxiliary tools