INNER CODE UNIT · Rust

get_internal

xoriors/rencfs · src/arc_hashmap.rs:55

    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>
    where
        F: FnOnce() -> V,
    {
        let mut map = self.map.write().expect("cannot obtain lock");

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…