aurora_engine_sdk/
caching.rs

1use aurora_engine_types::BTreeMap;
2
3/// A naive cache storing all key-value pairs it learns about.
4#[derive(Default)]
5pub struct FullCache<K, V> {
6    inner: BTreeMap<K, V>,
7}
8
9impl<K: Ord, V> FullCache<K, V> {
10    pub fn get_or_insert_with<F: FnOnce() -> V>(&mut self, k: K, f: F) -> &mut V {
11        self.inner.entry(k).or_insert_with(f)
12    }
13
14    pub fn contains_key(&self, k: &K) -> bool {
15        self.inner.contains_key(k)
16    }
17}