Traversal, Iteration, and Synchronization
Introduction
Traversal Algorithms
void SHAMap::visitNodes(
std::function<void(SHAMapTreeNode*)> callback)
{
std::stack<std::shared_ptr<SHAMapTreeNode>> toVisit;
toVisit.push(mRoot);
while (!toVisit.empty()) {
auto node = toVisit.top();
toVisit.pop();
callback(node);
// Process inner node's children
if (auto inner = std::dynamic_pointer_cast<SHAMapInnerNode>(node)) {
for (int i = 15; i >= 0; --i) { // Reverse order for stack
if (auto child = inner->getChild(i)) {
toVisit.push(child);
}
}
}
}
}Missing Node Detection
Node Addition and Canonicalization
Canonicalization
Synchronization Scenario
State Reconstruction Guarantee
Summary
Last updated

