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

Method count_inode_vertices

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

Source from the content-addressed store, hash-verified

1826 }
1827
1828 fn count_inode_vertices(&self, inode: Inode) -> Result<usize, Self::InodeError> {
1829 let table = &self.inode_graph_table;
1830 let inode_id = inode.get();
1831 let start_key = encode_inode_vertex(inode_id, 0, 0, 0);
1832 let end_key = encode_inode_vertex(inode_id, u64::MAX, u64::MAX, u64::MAX);
1833
1834 let mut count = 0;
1835 let mut last: Option<(u64, u64, u64)> = None;
1836
1837 for result in table.range::<&[u8; 32]>(&start_key..=&end_key)? {
1838 let (key, _) = result?;
1839 let (_, cid, s, e) = decode_inode_vertex(key.value());
1840 let current = (cid, s, e);
1841 if last != Some(current) {
1842 count += 1;
1843 last = Some(current);
1844 }
1845 }
1846
1847 Ok(count)
1848 }
1849
1850 fn inode_graph_is_populated(&self, inode: Inode) -> Result<bool, Self::InodeError> {
1851 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