go-ethereum/trie
Felix Lange 0b210b11e3 trie: retry failed seek/peek in iterator Next
Instead of failing iteration irrecoverably, make it so Next retries the
pending seek or peek every time.

Smaller changes in this commit make this easier to test:

* The iterator previously returned from Next on encountering a hash
  node. This caused it to visit the same path twice.
* Path returned nibbles with terminator symbol for valueNode attached
  to fullNode, but removed it for valueNode attached to shortNode. Now
  the terminator is always present. This makes Path unique to each node
  and simplifies Leaf.
2017-06-16 10:12:01 +02:00
..
encoding.go trie: rework and document key encoding 2017-04-25 02:14:31 +02:00
encoding_test.go trie: rework and document key encoding 2017-04-25 02:14:31 +02:00
errors.go trie: remove Key in MissingNodeError 2017-04-18 14:52:11 +02:00
hasher.go trie: rework and document key encoding 2017-04-25 02:14:31 +02:00
iterator.go trie: retry failed seek/peek in iterator Next 2017-06-16 10:12:01 +02:00
iterator_test.go trie: retry failed seek/peek in iterator Next 2017-06-16 10:12:01 +02:00
node.go trie: rework and document key encoding 2017-04-25 02:14:31 +02:00
node_test.go trie, core/state: improve memory usage and performance (#3135) 2016-10-14 19:04:33 +03:00
proof.go trie: rework and document key encoding 2017-04-25 02:14:31 +02:00
proof_test.go all: fix go vet warnings 2016-04-15 11:17:27 +02:00
secure_trie.go trie: add start key to NodeIterator constructors 2017-04-25 02:14:31 +02:00
secure_trie_test.go trie, core/state: improve memory usage and performance (#3135) 2016-10-14 19:04:33 +03:00
sync.go trie: remove dependency on ethdb 2017-01-06 14:15:22 +01:00
sync_test.go trie: add start key to NodeIterator constructors 2017-04-25 02:14:31 +02:00
trie.go trie: add start key to NodeIterator constructors 2017-04-25 02:14:31 +02:00
trie_test.go trie: improve error reporting of random test 2017-06-14 14:04:00 +02:00