pub struct BandwidthQuota {
pub upload_bytes_per_sec: u64,
pub download_bytes_per_sec: u64,
pub burst_factor: f64,
}Expand description
Steady-state rate limits for a single peer.
burst_factor must be ≥ 1.0; values below 1.0 are clamped to 1.0 at
token-bucket initialisation time.
Fields§
§upload_bytes_per_sec: u64Maximum outbound bytes per second for this peer.
download_bytes_per_sec: u64Maximum inbound bytes per second for this peer.
burst_factor: f64Burst multiplier: tokens can accumulate up to quota * burst_factor.
Implementations§
Source§impl BandwidthQuota
impl BandwidthQuota
Sourcepub fn upload_burst_cap(&self) -> f64
pub fn upload_burst_cap(&self) -> f64
Returns the upload burst cap in bytes.
Sourcepub fn download_burst_cap(&self) -> f64
pub fn download_burst_cap(&self) -> f64
Returns the download burst cap in bytes.
Trait Implementations§
Source§impl Clone for BandwidthQuota
impl Clone for BandwidthQuota
Source§fn clone(&self) -> BandwidthQuota
fn clone(&self) -> BandwidthQuota
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 BandwidthQuota
impl RefUnwindSafe for BandwidthQuota
impl Send for BandwidthQuota
impl Sync for BandwidthQuota
impl Unpin for BandwidthQuota
impl UnsafeUnpin for BandwidthQuota
impl UnwindSafe for BandwidthQuota
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