Struct grin_util::RateCounter [−][src]
pub struct RateCounter { /* fields omitted */ }
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.
Implementations
impl RateCounter
[src]
impl RateCounter
[src]pub fn new() -> RateCounter
[src]
pub fn new() -> RateCounter
[src]Instantiate a new rate counter
pub fn inc(&mut self, bytes: u64)
[src]
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]
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]
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]
pub fn count_per_min(&self) -> u64
[src]Count of increases in the last minute. Excludes “quiet” byte increments.
Auto Trait Implementations
impl RefUnwindSafe for RateCounter
impl Send for RateCounter
impl Sync for RateCounter
impl Unpin for RateCounter
impl UnwindSafe for RateCounter
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> UnsafeAny for T where
T: Any,
T: Any,