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>