[−][src]Struct grin_util::RateCounter
A rate counter tracks the number of transfers, the amount of data exchanged and the rate of transfer (via a few timers) over the last minute. The counter does not try to be accurate and update times proactively, instead it only does so lazily. As a result, produced rates are worst-case estimates.
Methods
impl RateCounter
[src]
pub fn new() -> RateCounter
[src]
Instantiate a new rate counter
pub fn inc(&mut self, bytes: u64)
[src]
Increments number of bytes transferred, updating counts and rates.
pub fn inc_quiet(&mut self, bytes: u64)
[src]
Increments number of bytes without updating the count or rate. We filter out 0 last_min_times when calculating rate. Used during txhashset.zip download to track bytes downloaded without treating a peer as abusive (too high a rate of download).
pub fn bytes_per_min(&self) -> u64
[src]
Number of bytes counted in the last minute. Includes "quiet" byte increments.
pub fn count_per_min(&self) -> u64
[src]
Count of increases in the last minute. Excludes "quiet" byte increments.
Auto Trait Implementations
impl Send for RateCounter
impl Sync for RateCounter
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Erased for T
impl<T> UnsafeAny for T where
T: Any,
T: Any,