Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Iter ¶
type Iter struct {
// contains filtered or unexported fields
}
Iter is a radix tree iterator that will traverse the trie in depth-first pre-order. Entries are traversed in (case-sensitive) alphabetical order for each level.
This is the kind of traversal you will expect when listing ordinary files and directories recursively, for example:
Trie Traversal order ---- --------------- . / | \ a / | \ b b a z ===> b/a / \ b/c c a z
The Step method will return the next item, the Next method will do the same but without descending deeper into the tree (i.e. skipping the contents of "directories").
The name of the type and its methods are based on the well known "next" and "step" operations, quite common in debuggers, like gdb.
type Noder ¶
type Noder interface { // Hash returns the hash of the element. Hash() []byte // Key returns the key of the element. Key() string // Children returns the children of the element, sorted // in reverse key alphabetical order. Children() []Noder // NumChildren returns the number of children this element has. // // This method is an optimization: the number of children is easily // calculated as the length of the value returned by the Children // method (above); yet, some implementations will be able to // implement NumChildren in O(1) while Children is usually more // complex. NumChildren() int }
The Noder interface is implemented by the elements of a Merkle Trie.