Struct tower::balance::p2c::MakeBalanceLayer
source · pub struct MakeBalanceLayer<D, Req> { /* private fields */ }
Available on crate feature
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
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)