INNER CODE UNIT · Rust

claim

jub0t/Concat · src/crates/concat-api/src/lib.rs:109

    pub fn claim(&self, path: &str, holder: Holder) -> Result<(), Holder> {
        let key = key_of(path);
        let mut open = self
            .0
            .lock()
            .unwrap_or_else(|poisoned| poisoned.into_inner());
        match open.get(&key) {
            Some(&other) if other != holder => Err(other),
            _ => {
                open.insert(key, holder);
                Ok(())
            }
        }
    }

    /// Gives `path` back, whoever had it.
    pub fn release(&self, path: &str) {
        let key = key_of(path);

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…