1#![doc(html_root_url = "https://docs.rs/tower-load/0.3.0")]
4#![warn(
5 missing_debug_implementations,
6 missing_docs,
7 rust_2018_idioms,
8 unreachable_pub
9)]
10#![allow(elided_lifetimes_in_paths)]
11
12mod constant;
13mod instrument;
14pub mod peak_ewma;
15pub mod pending_requests;
16
17pub use self::{
18 constant::Constant,
19 instrument::{Instrument, InstrumentFuture, NoInstrument},
20 peak_ewma::{PeakEwma, PeakEwmaDiscover},
21 pending_requests::{PendingRequests, PendingRequestsDiscover},
22};
23
24pub trait Load {
26 type Metric: PartialOrd;
28
29 fn load(&self) -> Self::Metric;
31}