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}