Added caching and database interface to trie

* Reimplemented caching for trie
* Reimplemented resetting and persisting trie
This commit is contained in:
obscuren
2014-11-19 16:21:28 +01:00
parent e70529a977
commit 0f460ad26e
6 changed files with 135 additions and 39 deletions

View File

@ -18,7 +18,14 @@ func (self *FullNode) Branches() []Node {
return self.nodes[:16]
}
func (self *FullNode) Copy() Node { return self }
func (self *FullNode) Copy() Node {
nnode := NewFullNode(self.trie)
for i, node := range self.nodes {
nnode.nodes[i] = node
}
return nnode
}
// Returns the length of non-nil nodes
func (self *FullNode) Len() (amount int) {