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

Function import_seed_is_dead

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

Source from the content-addressed store, hash-verified

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