use cachekit::policy::car::CarCore;
use cachekit::traits::Cache;
fn main() {
let mut ghost_demo: CarCore<&str, &str> = CarCore::new(2);
ghost_demo.insert("a", "alpha");
ghost_demo.insert("b", "beta");
ghost_demo.insert("c", "gamma");
println!(
"ghost demo: recent={}, ghost_recent={}",
ghost_demo.recent_len(),
ghost_demo.ghost_recent_len()
);
let mut cache: CarCore<&str, &str> = CarCore::new(3);
cache.insert("a", "alpha");
cache.insert("b", "beta");
cache.insert("c", "gamma");
println!(
"before sweep: recent={}, frequent={}",
cache.recent_len(),
cache.frequent_len()
);
cache.get(&"a");
cache.get(&"b");
cache.insert("d", "delta");
println!(
"after sweep: recent={}, frequent={}",
cache.recent_len(),
cache.frequent_len()
);
println!("ghost recent entries: {}", cache.ghost_recent_len());
println!("target recent size: {}", cache.target_recent_size());
}