Struct tower_load::peak_ewma::PeakEwmaDiscover [−][src]
Wraps a D
-typed stream of discovery updates with PeakEwma
.
Implementations
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>,
[src]
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,
[src]
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
fn poll_discover(
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Result<Change<D::Key, Self::Service>, D::Error>>
[src]
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Result<Change<D::Key, Self::Service>, D::Error>>
impl<D, I> PinnedDrop for PeakEwmaDiscover<D, I>
[src]
impl<'pin, D, I> Unpin for PeakEwmaDiscover<D, I> where
__PeakEwmaDiscover<'pin, D, I>: Unpin,
[src]
__PeakEwmaDiscover<'pin, D, I>: Unpin,
impl<D, I> UnsafeUnpin for PeakEwmaDiscover<D, I>
[src]
Auto Trait Implementations
impl<D, I> RefUnwindSafe for PeakEwmaDiscover<D, I> where
D: RefUnwindSafe,
I: RefUnwindSafe,
D: RefUnwindSafe,
I: RefUnwindSafe,
impl<D, I> Send for PeakEwmaDiscover<D, I> where
D: Send,
I: Send,
D: Send,
I: Send,
impl<D, I> Sync for PeakEwmaDiscover<D, I> where
D: Sync,
I: Sync,
D: Sync,
I: Sync,
impl<D, I> UnwindSafe for PeakEwmaDiscover<D, I> where
D: UnwindSafe,
I: UnwindSafe,
D: UnwindSafe,
I: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,