#![forbid(unsafe_code)]
#![deny(missing_docs)]
pub mod counter;
pub mod ready;
pub mod ttl;
#[cfg(loom)]
mod loom_tests;
pub use ready::ReadyGate;
pub type SharedMap<K, V> = std::sync::Arc<tokio::sync::RwLock<std::collections::HashMap<K, V>>>;
pub type SharedCache<K, V> = std::sync::Arc<dashmap::DashMap<K, V>>;
pub fn shared_map<K: Eq + std::hash::Hash, V>() -> SharedMap<K, V> {
std::sync::Arc::new(tokio::sync::RwLock::new(std::collections::HashMap::new()))
}
pub fn shared_cache<K: Eq + std::hash::Hash + Clone, V: Clone>() -> SharedCache<K, V> {
std::sync::Arc::new(dashmap::DashMap::new())
}