Skip to main content

claim_unless_live

Function claim_unless_live 

Source
pub(crate) fn claim_unless_live(
    fs: &FileStore,
    uid: &str,
    memory_id: &str,
    is_live: &dyn Fn(&str) -> bool,
) -> Result<String, StoreError>
Expand description

claim, but a recorded bundle is_live says doesn’t exist (for the caller) is replaced by memory_id. A channel whose bundles live in a store others can’t see (an isolated dev channel) could record an id first; with plain first-wins every other channel then failed to find it, minted its own bundle, lost the claim to the invisible one, and couldn’t bind its own — 17 orphaned bundles per fresh channel on one host (AgentA had 11).