1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
//! Tokio is a network application framework for rapid development and highly //! scalable production deployments of clients and servers. //! //! Tokio consists of multiple layers. //! //! # Service //! //! At a high level, Tokio provides a `Service` trait which provides a unified //! API for writing clients and servers as well as the ability to build //! reusable middleware components. //! //! The service trait is decoupled from any notion of a runtime. //! //! # Reactor //! //! The Tokio Reactor is a lightweight, event driven, task scheduler. It //! accepts tasks, which are small units of work and schedules them for //! execution when their dependent I/O sources (TCP sockets, timers, etc...) //! are ready. //! //! The reactor and task exist in the `reactor` module. //! //! # Protocol building blocks //! //! Tokio aims to provide all the pieces necessary for rapidly developing //! protocol implementations. These components exist in the `proto` module. #![deny(warnings, missing_docs)] extern crate mio; extern crate slab; extern crate futures; extern crate take; extern crate bytes; #[macro_use] extern crate scoped_tls; #[macro_use] extern crate log; pub mod io; pub mod proto; pub mod reactor; pub mod server; pub mod tcp; pub mod udp; pub mod util; mod service; pub use self::service::{Service, NewService, SimpleService, simple_service};