hanabi-core 0.1.0-alpha.2

Core library for Hanabi
Documentation
use std::sync::Arc;
use std::sync::atomic::AtomicU64;

#[derive(Clone)]
pub struct KeyValueMetrics {
    inserts: Arc<AtomicU64>,
    reads: Arc<AtomicU64>,
    deletes: Arc<AtomicU64>,
}

impl KeyValueMetrics {
    pub fn new() -> Self {
        Self {
            inserts: Arc::new(AtomicU64::new(0)),
            reads: Arc::new(AtomicU64::new(0)),
            deletes: Arc::new(AtomicU64::new(0)),
        }
    }

    pub fn inserts(&self) -> &AtomicU64 {
        &self.inserts
    }

    pub fn reads(&self) -> &AtomicU64 {
        &self.reads
    }

    pub fn deletes(&self) -> &AtomicU64 {
        &self.deletes
    }
}