|pointer to root of tree |
|radix nodes in the tree |
|total internal nodes in the tree |
|internal nodes with attached |
This structure mostly exists so that we have a well-understood place to store the tree root pointer, since this will change as entries are added to and deleted from the tree. We also keep statistics about how much data structure the tree is consuming, mostly for our own edification.
Note that normally the tree root will point at an internal node. Only in the special case that there is a single prefix in the tree will the root point directly at an rnode. We detect this case by looking at the internal_nodes total; the root will only point at an external node directly if there are no internal nodes in the tree.