aboutsummaryrefslogtreecommitdiffstats
path: root/trie
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2016-05-27 19:26:00 +0800
committerPéter Szilágyi <peterke@gmail.com>2016-05-27 19:26:00 +0800
commit4f1d92b3329572d75a20b9f9e1cccdf74aa7c79f (patch)
treef44e0bf3ac947641f783c5799bf4b70c1151a5e2 /trie
parenta7434fd0085f55235acea5348db0c9247e9aac10 (diff)
downloaddexon-4f1d92b3329572d75a20b9f9e1cccdf74aa7c79f.tar
dexon-4f1d92b3329572d75a20b9f9e1cccdf74aa7c79f.tar.gz
dexon-4f1d92b3329572d75a20b9f9e1cccdf74aa7c79f.tar.bz2
dexon-4f1d92b3329572d75a20b9f9e1cccdf74aa7c79f.tar.lz
dexon-4f1d92b3329572d75a20b9f9e1cccdf74aa7c79f.tar.xz
dexon-4f1d92b3329572d75a20b9f9e1cccdf74aa7c79f.tar.zst
dexon-4f1d92b3329572d75a20b9f9e1cccdf74aa7c79f.zip
eth/downloader, trie: pull head state concurrently with chain
Diffstat (limited to 'trie')
-rw-r--r--trie/sync.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/trie/sync.go b/trie/sync.go
index d55399d06..6cc6aa706 100644
--- a/trie/sync.go
+++ b/trie/sync.go
@@ -17,6 +17,7 @@
package trie
import (
+ "errors"
"fmt"
"github.com/ethereum/go-ethereum/common"
@@ -24,6 +25,10 @@ import (
"gopkg.in/karalabe/cookiejar.v2/collections/prque"
)
+// ErrNotRequested is returned by the trie sync when it's requested to process a
+// node it did not request.
+var ErrNotRequested = errors.New("not requested")
+
// request represents a scheduled or already in-flight state retrieval request.
type request struct {
hash common.Hash // Hash of the node data content to retrieve
@@ -143,7 +148,7 @@ func (s *TrieSync) Process(results []SyncResult) (int, error) {
// If the item was not requested, bail out
request := s.requests[item.Hash]
if request == nil {
- return i, fmt.Errorf("not requested: %x", item.Hash)
+ return i, ErrNotRequested
}
// If the item is a raw entry request, commit directly
if request.object == nil {