Hatchecks kind of complete

This commit is contained in:
Ara Sadoyan
2025-02-25 21:22:29 +01:00
parent 1338d04963
commit c3bd2f143e
7 changed files with 905 additions and 158 deletions

View File

@@ -1,6 +1,6 @@
use dashmap::DashMap;
use std::sync::atomic::AtomicUsize;
use tokio::sync::RwLockWriteGuard;
use tokio::sync::{RwLockReadGuard, RwLockWriteGuard};
#[allow(dead_code)]
pub fn dashmaps(map1: &RwLockWriteGuard<DashMap<String, (Vec<(String, u16)>, AtomicUsize)>>, map2: &DashMap<String, (Vec<(String, u16)>, AtomicUsize)>) -> bool {
@@ -22,3 +22,24 @@ pub fn dashmaps(map1: &RwLockWriteGuard<DashMap<String, (Vec<(String, u16)>, Ato
}
true
}
#[allow(dead_code)]
pub fn dm(map1: &RwLockReadGuard<DashMap<String, (Vec<(String, u16)>, AtomicUsize)>>, map2: &DashMap<String, (Vec<(String, u16)>, AtomicUsize)>) -> bool {
if map1.len() != map2.len() {
return false; // Different number of keys
}
for entry1 in map1.iter() {
let key = entry1.key();
let (vec1, _) = entry1.value(); // Extract value
if let Some(entry2) = map2.get(key) {
let (vec2, _) = entry2.value(); // Correctly extract value
if vec1 != vec2 {
return false;
}
} else {
return false;
}
}
true
}