INNER CODE UNIT · Rust

get

xoriors/rencfs · src/arc_hashmap.rs:51

    pub fn get(&self, key: &K) -> Option<Holder<'_, K, V>> {
        self.get_internal(self.map.read().expect("cannot obtain lock").get(key))
    }

    fn get_internal(&self, v: Option<&Value<V>>) -> Option<Holder<'_, K, V>> {
        if let Some((v, rc)) = v {
            rc.fetch_add(1, Ordering::SeqCst);
            return Some(Holder {
                val: v.clone(),
                rc: rc.clone(),
                map: self,
            });
        }
        None
    }

    #[allow(clippy::missing_panics_doc)]
    pub fn get_or_insert_with<F>(&self, key: K, f: F) -> Holder<'_, K, V>

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…