pub enum FairnessPolicy {
MaxMinFairness,
WeightedFair {
weights: HashMap<String, f64>,
},
Unrestricted,
}Expand description
Scheduling policy used by PeerBandwidthManager::apply_fairness.
Variants§
MaxMinFairness
Max-Min fairness: every peer receives an equal share of the total
available tokens. Each peer’s current token count is clamped to
total_tokens / num_peers.
WeightedFair
Weighted fair queuing: each peer’s tokens are scaled by its normalised weight relative to all registered peers.
Fields
Unrestricted
No fairness enforcement; tokens accumulate freely up to the burst cap.
Trait Implementations§
Source§impl Clone for FairnessPolicy
impl Clone for FairnessPolicy
Source§fn clone(&self) -> FairnessPolicy
fn clone(&self) -> FairnessPolicy
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 moreSource§impl Debug for FairnessPolicy
impl Debug for FairnessPolicy
Source§impl Default for FairnessPolicy
impl Default for FairnessPolicy
Source§fn default() -> FairnessPolicy
fn default() -> FairnessPolicy
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for FairnessPolicy
impl<'de> Deserialize<'de> for FairnessPolicy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for FairnessPolicy
impl RefUnwindSafe for FairnessPolicy
impl Send for FairnessPolicy
impl Sync for FairnessPolicy
impl Unpin for FairnessPolicy
impl UnsafeUnpin for FairnessPolicy
impl UnwindSafe for FairnessPolicy
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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