1 #![cfg_attr(not(feature = "net"), allow(dead_code))] 2 3 use crate::util::metric_atomics::MetricAtomicU64; 4 use std::sync::atomic::Ordering::Relaxed; 5 6 #[derive(Default)] 7 pub(crate) struct IoDriverMetrics { 8 pub(super) fd_registered_count: MetricAtomicU64, 9 pub(super) fd_deregistered_count: MetricAtomicU64, 10 pub(super) ready_count: MetricAtomicU64, 11 } 12 13 impl IoDriverMetrics { incr_fd_count(&self)14 pub(crate) fn incr_fd_count(&self) { 15 self.fd_registered_count.add(1, Relaxed); 16 } 17 dec_fd_count(&self)18 pub(crate) fn dec_fd_count(&self) { 19 self.fd_deregistered_count.add(1, Relaxed); 20 } 21 incr_ready_count_by(&self, amt: u64)22 pub(crate) fn incr_ready_count_by(&self, amt: u64) { 23 self.ready_count.add(amt, Relaxed); 24 } 25 } 26