MCPcopy Create free account
hub / github.com/Pometry/Raphtory / resolve_node_ref

Method resolve_node_ref

db4-graph/src/lib.rs:211–231  ·  view source on GitHub ↗
(&self, node: NodeRef)

Source from the content-addressed store, hash-verified

209
210 #[inline]
211 pub fn resolve_node_ref(&self, node: NodeRef) -> Option<VID> {
212 let vid = match node {
213 NodeRef::Internal(vid) => Some(vid),
214 NodeRef::External(GidRef::U64(gid)) => self.logical_to_physical.get_u64(gid),
215 NodeRef::External(GidRef::Str(string)) => self
216 .logical_to_physical
217 .get_str(string)
218 .or_else(|| self.logical_to_physical.get_u64(string.id())),
219 }?;
220
221 // VIDs in the resolver may not be initialised yet, need to double-check the node actually exists!
222 let nodes = self.storage().nodes();
223 let (page_id, pos) = nodes.resolve_pos(vid);
224 let node_page = nodes.get_segment(page_id)?;
225
226 if pos.0 < node_page.num_nodes() {
227 Some(vid)
228 } else {
229 None
230 }
231 }
232
233 #[inline]
234 pub fn internal_num_nodes(&self, layer_ids: &LayerIds) -> usize {

Callers 1

internalise_nodeMethod · 0.80

Calls 8

get_u64Method · 0.80
get_strMethod · 0.80
get_segmentMethod · 0.80
idMethod · 0.45
nodesMethod · 0.45
storageMethod · 0.45
resolve_posMethod · 0.45
num_nodesMethod · 0.45

Tested by

no test coverage detected