MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / ensure_node_label

Method ensure_node_label

nodedb-graph/src/csr/index/interning.rs:121–133  ·  view source on GitHub ↗

Get or create a node label ID (max 64 labels).

(&mut self, label: &str)

Source from the content-addressed store, hash-verified

119
120 /// Get or create a node label ID (max 64 labels).
121 fn ensure_node_label(&mut self, label: &str) -> Option<u8> {
122 if let Some(&id) = self.node_label_to_id.get(label) {
123 return Some(id);
124 }
125 let id = self.node_label_names.len();
126 if id >= 64 {
127 return None; // bitset limit
128 }
129 let id = id as u8;
130 self.node_label_to_id.insert(label.to_string(), id);
131 self.node_label_names.push(label.to_string());
132 Some(id)
133 }
134
135 /// Add a label to a node.
136 ///

Callers 1

add_node_labelMethod · 0.80

Calls 5

to_stringMethod · 0.80
getMethod · 0.45
lenMethod · 0.45
insertMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected