pub struct BandwidthEstimator { /* private fields */ }Expand description
Rolling bandwidth estimator based on recent samples.
Implementations§
Source§impl BandwidthEstimator
impl BandwidthEstimator
Sourcepub fn add_sample(&mut self, sample: BandwidthSample)
pub fn add_sample(&mut self, sample: BandwidthSample)
Add a new sample.
Sourcepub fn sample_count(&self) -> usize
pub fn sample_count(&self) -> usize
Number of samples currently stored.
Sourcepub fn average_bps(&self) -> f64
pub fn average_bps(&self) -> f64
Average bandwidth in bits per second.
Sourcepub fn estimate_transfer_time(&self, bytes: u64) -> Duration
pub fn estimate_transfer_time(&self, bytes: u64) -> Duration
Estimated time to transfer the given number of bytes.
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> 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