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

Method count_inode_vertices

atomic-core/src/pristine/txn/read.rs:1699–1719  ·  view source on GitHub ↗
(&self, inode: Inode)

Source from the content-addressed store, hash-verified

1697 }
1698
1699 fn count_inode_vertices(&self, inode: Inode) -> Result<usize, Self::InodeError> {
1700 let table = &self.inode_graph_table;
1701 let inode_id = inode.get();
1702 let start_key = encode_inode_vertex(inode_id, 0, 0, 0);
1703 let end_key = encode_inode_vertex(inode_id, u64::MAX, u64::MAX, u64::MAX);
1704
1705 let mut count = 0;
1706 let mut last: Option<(u64, u64, u64)> = None;
1707
1708 for result in table.range::<&[u8; 32]>(&start_key..=&end_key)? {
1709 let (key, _) = result?;
1710 let (_, cid, s, e) = decode_inode_vertex(key.value());
1711 let current = (cid, s, e);
1712 if last != Some(current) {
1713 count += 1;
1714 last = Some(current);
1715 }
1716 }
1717
1718 Ok(count)
1719 }
1720
1721 fn inode_graph_is_populated(&self, inode: Inode) -> Result<bool, Self::InodeError> {
1722 let table = &self.inode_graph_table;

Callers

nothing calls this directly

Calls 3

encode_inode_vertexFunction · 0.85
decode_inode_vertexFunction · 0.85
getMethod · 0.65

Tested by

no test coverage detected