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

Method load_topology

nodedb-cluster/src/catalog/ops.rs:31–46  ·  view source on GitHub ↗

Load the cluster topology. Returns None if no topology has been saved.

(&self)

Source from the content-addressed store, hash-verified

29
30 /// Load the cluster topology. Returns None if no topology has been saved.
31 pub fn load_topology(&self) -> Result<Option<ClusterTopology>> {
32 let txn = self.db.begin_read().map_err(catalog_err)?;
33 let table = txn.open_table(TOPOLOGY_TABLE).map_err(catalog_err)?;
34
35 match table.get(KEY_TOPOLOGY).map_err(catalog_err)? {
36 Some(guard) => {
37 let bytes = guard.value();
38 let topo: ClusterTopology =
39 zerompk::from_msgpack(bytes).map_err(|e| ClusterError::Codec {
40 detail: format!("deserialize topology: {e}"),
41 })?;
42 Ok(Some(topo))
43 }
44 None => Ok(None),
45 }
46 }
47
48 /// Persist the routing table.
49 pub fn save_routing(&self, routing: &RoutingTable) -> Result<()> {

Callers 4

restartFunction · 0.80
overwrite_topologyFunction · 0.80

Calls 1

getMethod · 0.45

Tested by 3

overwrite_topologyFunction · 0.64