use std::hash::{DefaultHasher, Hash, Hasher};
pub(crate) fn calculate_hash<T: Hash>(value: &T) -> u64 {
let mut hasher = DefaultHasher::new();
value.hash(&mut hasher);
hasher.finish()
}
pub(crate) fn u64_to_mac(val: u64) -> String {
let bytes = val.to_be_bytes(); let mac_bytes = &bytes[2..]; mac_bytes.iter().map(|b| format!("{:02x}", b)).collect::<Vec<_>>().join(":")
}