2020-01-17 14:03:13 -08:00
|
|
|
#![doc(html_root_url = "https://docs.rs/tower/0.3.1")]
|
2019-09-23 14:28:14 -07:00
|
|
|
#![warn(
|
|
|
|
missing_debug_implementations,
|
|
|
|
missing_docs,
|
|
|
|
rust_2018_idioms,
|
|
|
|
unreachable_pub
|
|
|
|
)]
|
2020-03-31 10:10:47 -07:00
|
|
|
#![allow(elided_lifetimes_in_paths)]
|
2019-04-02 16:22:23 -07:00
|
|
|
|
2019-04-23 13:42:56 -07:00
|
|
|
//! `fn(Request) -> Future<Response>`
|
|
|
|
//!
|
|
|
|
//! Tower is a library of modular and reusable components for building
|
|
|
|
//! robust networking clients and servers.
|
2019-01-19 09:47:03 -08:00
|
|
|
|
2020-03-31 10:10:47 -07:00
|
|
|
#[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;
|
2019-03-27 15:38:49 -07:00
|
|
|
|
|
|
|
pub mod builder;
|
2019-03-15 10:53:19 -07:00
|
|
|
|
2020-03-31 10:10:47 -07:00
|
|
|
#[cfg(feature = "util")]
|
|
|
|
pub use self::util::{service_fn, ServiceExt};
|
|
|
|
pub use crate::builder::ServiceBuilder;
|
2019-03-20 09:17:59 -07:00
|
|
|
pub use tower_service::Service;
|