#![warn(missing_docs)]
#[macro_use]
extern crate log;
#[macro_use]
extern crate serde_derive;
pub use futures;
#[doc(hidden)]
pub extern crate serde_json;
mod calls;
mod io;
pub mod delegates;
pub 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 crate::calls::{Metadata, RemoteProcedure, RpcMethod, RpcMethodSimple, RpcNotification, RpcNotificationSimple};
pub use crate::delegates::IoDelegate;
pub use crate::io::{
Compatibility, FutureOutput, FutureResponse, FutureResult, FutureRpcResult, IoHandler, MetaIoHandler,
};
pub use crate::middleware::{Middleware, Noop as NoopMiddleware};
pub use crate::types::*;