pub struct BandwidthEstimator { /* private fields */ }Expand description
Ring buffer of recent bandwidth samples (last 30 samples).
Implementations§
Source§impl BandwidthEstimator
impl BandwidthEstimator
Sourcepub fn add_sample(&mut self, point: BandwidthPoint)
pub fn add_sample(&mut self, point: BandwidthPoint)
Adds a bandwidth sample, evicting oldest if at capacity.
Sourcepub fn sample_count(&self) -> usize
pub fn sample_count(&self) -> usize
Returns the number of samples in the buffer.
Sourcepub fn estimated_kbps(&self) -> Option<u32>
pub fn estimated_kbps(&self) -> Option<u32>
Returns the estimated bandwidth as the average of recent samples.
Sourcepub fn samples(&self) -> &VecDeque<BandwidthPoint>
pub fn samples(&self) -> &VecDeque<BandwidthPoint>
Returns all samples in the buffer.
Trait Implementations§
Source§impl Clone for BandwidthEstimator
impl Clone for BandwidthEstimator
Source§fn clone(&self) -> BandwidthEstimator
fn clone(&self) -> BandwidthEstimator
Returns a duplicate of the value. Read more
1.0.0 · 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 BandwidthEstimator
impl Debug for BandwidthEstimator
Auto Trait Implementations§
impl Freeze for BandwidthEstimator
impl RefUnwindSafe for BandwidthEstimator
impl Send for BandwidthEstimator
impl Sync for BandwidthEstimator
impl Unpin for BandwidthEstimator
impl UnsafeUnpin for BandwidthEstimator
impl UnwindSafe for BandwidthEstimator
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§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