use std::sync::atomic::{AtomicUsize, Ordering};
pub static FILES_PROCESSED: AtomicUsize = AtomicUsize::new(0);
pub static COUNT_DISCOVERY_BINARY_FILTERED: AtomicUsize = AtomicUsize::new(0);
pub static COUNT_DISCOVERY_SIZE_FILTERED: AtomicUsize = AtomicUsize::new(0);
pub static COUNT_DISCOVERY_PATH_FILTERED: AtomicUsize = AtomicUsize::new(0);
pub static COUNT_PROCESSING_FAILED: AtomicUsize = AtomicUsize::new(0);
pub static MATCHES_FOUND: AtomicUsize = AtomicUsize::new(0);
pub static COUNT_PATTERNS_LOADED: AtomicUsize = AtomicUsize::new(0);
pub static COUNT_AC_KEYWORDS_LOADED: AtomicUsize = AtomicUsize::new(0);
pub fn get_counts() -> (usize, usize, usize, usize, usize, usize) {
(
FILES_PROCESSED.load(Ordering::Relaxed),
COUNT_DISCOVERY_BINARY_FILTERED.load(Ordering::Relaxed),
COUNT_DISCOVERY_SIZE_FILTERED.load(Ordering::Relaxed),
COUNT_DISCOVERY_PATH_FILTERED.load(Ordering::Relaxed),
COUNT_PROCESSING_FAILED.load(Ordering::Relaxed),
MATCHES_FOUND.load(Ordering::Relaxed),
)
}
pub fn get_pattern_stats() -> (usize, usize) {
(
COUNT_PATTERNS_LOADED.load(Ordering::Relaxed),
COUNT_AC_KEYWORDS_LOADED.load(Ordering::Relaxed),
)
}
pub fn set_pattern_stats(patterns_count: usize, keywords_count: usize) {
COUNT_PATTERNS_LOADED.store(patterns_count, Ordering::Relaxed);
COUNT_AC_KEYWORDS_LOADED.store(keywords_count, Ordering::Relaxed);
}