Struct tower::balance::p2c::MakeBalanceLayer
source · pub struct MakeBalanceLayer<D, Req> { /* private fields */ }balance only.Expand description
Construct load balancers (Balance) over dynamic service sets (Discover) produced by the
“inner” service in response to requests coming from the “outer” service.
This construction may seem a little odd at first glance. This is not a layer that takes
requests and produces responses in the traditional sense. Instead, it is more like
MakeService in that it takes service descriptors (see Target on MakeService)
and produces services. Since Balance spreads requests across a set of services,
the inner service should produce a Discover, not just a single
Service, given a service descriptor.
See the module-level documentation for details on load balancing.
Implementations§
source§impl<D, Req> MakeBalanceLayer<D, Req>
impl<D, Req> MakeBalanceLayer<D, Req>
Trait Implementations§
source§impl<D, Req> Clone for MakeBalanceLayer<D, Req>
impl<D, Req> Clone for MakeBalanceLayer<D, Req>
source§impl<D, Req> Debug for MakeBalanceLayer<D, Req>
impl<D, Req> Debug for MakeBalanceLayer<D, Req>
source§impl<D, Req> Default for MakeBalanceLayer<D, Req>
impl<D, Req> Default for MakeBalanceLayer<D, Req>
Auto Trait Implementations§
impl<D, Req> Freeze for MakeBalanceLayer<D, Req>
impl<D, Req> RefUnwindSafe for MakeBalanceLayer<D, Req>
impl<D, Req> Send for MakeBalanceLayer<D, Req>
impl<D, Req> Sync for MakeBalanceLayer<D, Req>
impl<D, Req> Unpin for MakeBalanceLayer<D, Req>
impl<D, Req> UnwindSafe for MakeBalanceLayer<D, Req>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 0 bytes