pub enum PlbStrategy {
RoundRobin,
WeightedRandom,
LeastConnections,
LeastLatency,
ConsistentHash,
PowerOfTwo,
}Expand description
Load-balancing selection strategy.
Variants§
RoundRobin
Simple round-robin over healthy peers.
WeightedRandom
Weighted random selection proportional to peer weight.
LeastConnections
Always select the peer with fewest in-flight requests.
LeastLatency
Always select the peer with lowest average latency.
ConsistentHash
FNV-1a consistent hash on the request key with virtual nodes.
PowerOfTwo
Sample two random healthy peers and pick the better one.
Trait Implementations§
Source§impl Clone for PlbStrategy
impl Clone for PlbStrategy
Source§fn clone(&self) -> PlbStrategy
fn clone(&self) -> PlbStrategy
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for PlbStrategy
Source§impl Debug for PlbStrategy
impl Debug for PlbStrategy
Source§impl Default for PlbStrategy
impl Default for PlbStrategy
Source§fn default() -> PlbStrategy
fn default() -> PlbStrategy
Returns the “default value” for a type. Read more
impl Eq for PlbStrategy
Source§impl PartialEq for PlbStrategy
impl PartialEq for PlbStrategy
Source§fn eq(&self, other: &PlbStrategy) -> bool
fn eq(&self, other: &PlbStrategy) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for PlbStrategy
Auto Trait Implementations§
impl Freeze for PlbStrategy
impl RefUnwindSafe for PlbStrategy
impl Send for PlbStrategy
impl Sync for PlbStrategy
impl Unpin for PlbStrategy
impl UnsafeUnpin for PlbStrategy
impl UnwindSafe for PlbStrategy
Blanket Implementations§
impl<T> Allocation for T
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more