#![warn(missing_docs)]
#[macro_use] extern crate log;
#[macro_use] extern crate serde_derive;
extern crate serde;
pub extern crate futures;
#[doc(hidden)]
pub extern crate serde_json;
mod calls;
mod io;
mod middleware;
pub mod types;
pub type BoxFuture<T> = Box<futures::Future<Item = T, Error = Error> + Send>;
pub type Result<T> = ::std::result::Result<T, Error>;
pub use calls::{RemoteProcedure, Metadata, RpcMethodSimple, RpcMethod, RpcNotificationSimple, RpcNotification};
pub use io::{Compatibility, IoHandler, MetaIoHandler, FutureResponse, FutureResult};
pub use middleware::{Middleware, Noop as NoopMiddleware};
pub use types::*;