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

Method count_inode_vertices

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

Source from the content-addressed store, hash-verified

1871 }
1872
1873 fn count_inode_vertices(&self, inode: Inode) -> Result<usize, Self::InodeError> {
1874 let table = &self.inode_graph_table;
1875 let inode_id = inode.get();
1876 let start_key = encode_inode_vertex(inode_id, 0, 0, 0);
1877 let end_key = encode_inode_vertex(inode_id, u64::MAX, u64::MAX, u64::MAX);
1878
1879 let mut count = 0;
1880 let mut last: Option<(u64, u64, u64)> = None;
1881
1882 for result in table.range::<&[u8; 32]>(&start_key..=&end_key)? {
1883 let (key, _) = result?;
1884 let (_, cid, s, e) = decode_inode_vertex(key.value());
1885 let current = (cid, s, e);
1886 if last != Some(current) {
1887 count += 1;
1888 last = Some(current);
1889 }
1890 }
1891
1892 Ok(count)
1893 }
1894
1895 fn inode_graph_is_populated(&self, inode: Inode) -> Result<bool, Self::InodeError> {
1896 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