[][src]Struct tower_load::peak_ewma::PeakEwmaDiscover

pub struct PeakEwmaDiscover<D, I = NoInstrument> { /* fields omitted */ }

Wraps a D-typed stream of discovery updates with PeakEwma.


impl<D, I> PeakEwmaDiscover<D, I>[src]

pub fn new<Request>(
    discover: D,
    default_rtt: Duration,
    decay: Duration,
    instrument: I
) -> Self where
    D: Discover,
    D::Service: Service<Request>,
    I: Instrument<Handle, <D::Service as Service<Request>>::Response>, 

Wraps a D-typed Discover so that services have a PeakEwma load metric.

The provided default_rtt is used as the default RTT estimate for newly added services.

They decay value determines over what time period a RTT estimate should decay.

Trait Implementations

impl<D: Debug, I: Debug> Debug for PeakEwmaDiscover<D, I>[src]

impl<D, I> Discover for PeakEwmaDiscover<D, I> where
    D: Discover,
    I: Clone

type Key = D::Key

NewService key

type Service = PeakEwma<D::Service, I>

The type of Service yielded by this Discover.

type Error = D::Error

Error produced during discovery

impl<'pin, D, I> Unpin for PeakEwmaDiscover<D, I> where
    __PeakEwmaDiscover<'pin, D, I>: Unpin

Auto Trait Implementations

impl<D, I> RefUnwindSafe for PeakEwmaDiscover<D, I> where
    D: RefUnwindSafe,
    I: RefUnwindSafe

impl<D, I> Send for PeakEwmaDiscover<D, I> where
    D: Send,
    I: Send

impl<D, I> Sync for PeakEwmaDiscover<D, I> where
    D: Sync,
    I: Sync

impl<D, I> UnwindSafe for PeakEwmaDiscover<D, I> where
    D: UnwindSafe,
    I: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.