pub struct BandwidthStats {
pub total_allocated_bps: u64,
pub total_used_bps: u64,
pub utilization_pct: f64,
pub congested_peers: usize,
pub peer_count: usize,
pub fairness_index: f64,
}Expand description
Aggregate bandwidth statistics across all tracked peers.
Exported as AbaBandwidthStats at the crate root to avoid collision with
bandwidth_monitor::BandwidthStats.
Fields§
§total_allocated_bps: u64Sum of all peer allocations in bps.
total_used_bps: u64Sum of all measured used bandwidths in bps.
utilization_pct: f64Ratio of total_used_bps to total_allocated_bps, expressed as a percentage.
congested_peers: usizeNumber of peers currently flagged as congested.
peer_count: usizeTotal number of tracked peers.
fairness_index: f64Jain’s fairness index over current allocations (1.0 = perfectly fair).
Trait Implementations§
Source§impl Clone for BandwidthStats
impl Clone for BandwidthStats
Source§fn clone(&self) -> BandwidthStats
fn clone(&self) -> BandwidthStats
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 moreAuto Trait Implementations§
impl Freeze for BandwidthStats
impl RefUnwindSafe for BandwidthStats
impl Send for BandwidthStats
impl Sync for BandwidthStats
impl Unpin for BandwidthStats
impl UnsafeUnpin for BandwidthStats
impl UnwindSafe for BandwidthStats
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<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