struct trie_node *new = new_node(trie_slab);
new->parent = node;
node->child[bit] = new;
+ new->depth = new->parent->depth + 1;
}
node = node->child[bit];
struct trie_node *new = new_node(trie_slab);
new->parent = node;
node->child[bit] = new;
+ new->depth = new->parent->depth + 1;
}
node = node->child[bit];
}
+
+ /* Assign bucket to the last node */
+ node->bucket = bucket;
}
/*
new->parent = node;
new->bucket = get_ancestor_bucket(new);
node->child[i] = new;
+ new->depth = new->parent->depth + 1;
}
}
p->trie_slab = sl_new(p->p.pool, sizeof(struct trie_node));
p->root = new_node(p->trie_slab);
+ p->root->depth = 1;
p->reload_trie = (event) {
.hook = calculate_trie,