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