pub struct BandwidthThrottle { /* private fields */ }Expand description
Bandwidth throttle using a token bucket algorithm.
Implementations§
Source§impl BandwidthThrottle
impl BandwidthThrottle
pub fn new(max_bytes_per_sec: usize) -> Self
pub fn set_enabled(&mut self, enabled: bool)
pub fn is_enabled(&self) -> bool
pub fn set_max_bytes_per_sec(&mut self, max: usize)
pub fn max_bytes_per_sec(&self) -> usize
Sourcepub fn try_send(&mut self, bytes: usize, now: Instant) -> bool
pub fn try_send(&mut self, bytes: usize, now: Instant) -> bool
Try to consume tokens; returns true if allowed.
pub fn available_bytes(&self) -> usize
pub fn utilization(&self) -> f64
pub fn reset(&mut self)
Auto Trait Implementations§
impl Freeze for BandwidthThrottle
impl RefUnwindSafe for BandwidthThrottle
impl Send for BandwidthThrottle
impl Sync for BandwidthThrottle
impl Unpin for BandwidthThrottle
impl UnsafeUnpin for BandwidthThrottle
impl UnwindSafe for BandwidthThrottle
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.