diff options
author | Alberto Cortés <alcortesm@gmail.com> | 2016-11-24 15:29:22 +0100 |
---|---|---|
committer | Máximo Cuadros <mcuadros@gmail.com> | 2016-11-24 15:29:22 +0100 |
commit | 8966c042795509ed17730e50d352ad69901c3da8 (patch) | |
tree | 3ce51d49f134d440f73f268ecaaf00bffa980e8c /difftree/internal/merkletrie/noder.go | |
parent | 81c5d2c6c672509ee7f30a346b890f3920ff20c1 (diff) | |
download | go-git-8966c042795509ed17730e50d352ad69901c3da8.tar.gz |
mv difftree/internal/radixmerkle to difftre/internal/merkletrie (#138)
Diffstat (limited to 'difftree/internal/merkletrie/noder.go')
-rw-r--r-- | difftree/internal/merkletrie/noder.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/difftree/internal/merkletrie/noder.go b/difftree/internal/merkletrie/noder.go new file mode 100644 index 0000000..3566657 --- /dev/null +++ b/difftree/internal/merkletrie/noder.go @@ -0,0 +1,20 @@ +package merkletrie + +// The Noder interface is implemented by the elements of a Merkle Trie. +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 +} |