Source code

Revision control

Copy as Markdown

Other Tools

#![cfg_attr(not(feature = "net"), allow(dead_code))]
use crate::util::metric_atomics::MetricAtomicU64;
use std::sync::atomic::Ordering::Relaxed;
#[derive(Default)]
pub(crate) struct IoDriverMetrics {
pub(super) fd_registered_count: MetricAtomicU64,
pub(super) fd_deregistered_count: MetricAtomicU64,
pub(super) ready_count: MetricAtomicU64,
}
impl IoDriverMetrics {
pub(crate) fn incr_fd_count(&self) {
self.fd_registered_count.add(1, Relaxed);
}
pub(crate) fn dec_fd_count(&self) {
self.fd_deregistered_count.add(1, Relaxed);
}
pub(crate) fn incr_ready_count_by(&self, amt: u64) {
self.ready_count.add(amt, Relaxed);
}
}