MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / import_seed_is_dead

Function import_seed_is_dead

atomic-repository/src/repository/insert.rs:271–297  ·  view source on GitHub ↗
(
    txn: &T,
    inode: Inode,
    node: GraphNode<NodeId>,
    visible: &HashSet<NodeId>,
)

Source from the content-addressed store, hash-verified

269}
270
271fn import_seed_is_dead<T>(
272 txn: &T,
273 inode: Inode,
274 node: GraphNode<NodeId>,
275 visible: &HashSet<NodeId>,
276) -> bool
277where
278 T: GraphTxnT + InodeGraphOps,
279{
280 let mut parents = match txn.init_inode_adj(inode, node, EdgeFlags::PARENT, EdgeFlags::all()) {
281 Ok(adj) => adj,
282 Err(_) => return false,
283 };
284 while let Some(edge) = txn.next_inode_adj(&mut parents) {
285 let Ok(edge) = edge else {
286 continue;
287 };
288 let flags = edge.flag();
289 if flags.contains(EdgeFlags::PARENT)
290 && flags.contains(EdgeFlags::DELETED)
291 && import_seed_edge_visible(&edge, visible)
292 {
293 return true;
294 }
295 }
296 false
297}
298
299fn import_seed_alive_reaches<T>(
300 txn: &T,

Callers 2

Calls 5

import_seed_edge_visibleFunction · 0.85
flagMethod · 0.80
init_inode_adjMethod · 0.45
next_inode_adjMethod · 0.45
containsMethod · 0.45

Tested by

no test coverage detected