#![doc(html_root_url = "https://docs.rs/tower/0.3.1")] #![warn( missing_debug_implementations, missing_docs, rust_2018_idioms, unreachable_pub )] #![allow(elided_lifetimes_in_paths)] //! `fn(Request) -> Future` //! //! Tower is a library of modular and reusable components for building //! robust networking clients and servers. #[cfg(feature = "balance")] pub mod balance; #[cfg(feature = "buffer")] pub mod buffer; #[cfg(feature = "discover")] pub mod discover; #[cfg(feature = "filter")] #[allow(unreachable_pub)] pub(crate) mod filter; #[cfg(feature = "hedge")] #[allow(unreachable_pub)] pub(crate) mod hedge; #[cfg(feature = "limit")] pub mod limit; #[cfg(feature = "load")] pub mod load; #[cfg(feature = "load-shed")] pub mod load_shed; #[cfg(feature = "make")] pub mod make; #[cfg(feature = "ready-cache")] pub mod ready_cache; #[cfg(feature = "reconnect")] pub mod reconnect; #[cfg(feature = "retry")] pub mod retry; #[cfg(feature = "spawn-ready")] pub mod spawn_ready; #[cfg(feature = "timeout")] pub mod timeout; #[cfg(feature = "util")] pub mod util; pub mod builder; #[cfg(feature = "util")] pub use self::util::{service_fn, ServiceExt}; pub use crate::builder::ServiceBuilder; pub use tower_service::Service;