aboutsummaryrefslogtreecommitdiffstats
path: root/eth/fetcher/fetcher_test.go
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2015-06-18 23:00:19 +0800
committerPéter Szilágyi <peterke@gmail.com>2015-06-18 23:00:19 +0800
commitb91b581b80ec99dfa07b7206104faa919210fc4f (patch)
treedb9e452976af523e192c454148956cb15872fe9f /eth/fetcher/fetcher_test.go
parent629705ad53ceac1bcc5f32f2d7ef51d7626aefef (diff)
downloadgo-tangerine-b91b581b80ec99dfa07b7206104faa919210fc4f.tar
go-tangerine-b91b581b80ec99dfa07b7206104faa919210fc4f.tar.gz
go-tangerine-b91b581b80ec99dfa07b7206104faa919210fc4f.tar.bz2
go-tangerine-b91b581b80ec99dfa07b7206104faa919210fc4f.tar.lz
go-tangerine-b91b581b80ec99dfa07b7206104faa919210fc4f.tar.xz
go-tangerine-b91b581b80ec99dfa07b7206104faa919210fc4f.tar.zst
go-tangerine-b91b581b80ec99dfa07b7206104faa919210fc4f.zip
eth, eth/fetcher: propagate after header verify, announce only on insert
Diffstat (limited to 'eth/fetcher/fetcher_test.go')
-rw-r--r--eth/fetcher/fetcher_test.go18
1 files changed, 11 insertions, 7 deletions
diff --git a/eth/fetcher/fetcher_test.go b/eth/fetcher/fetcher_test.go
index 3e8df1804..cdf875c5c 100644
--- a/eth/fetcher/fetcher_test.go
+++ b/eth/fetcher/fetcher_test.go
@@ -80,23 +80,27 @@ func newTester() *fetcherTester {
hashes: []common.Hash{knownHash},
blocks: map[common.Hash]*types.Block{knownHash: genesis},
}
- tester.fetcher = New(tester.hasBlock, tester.broadcastBlock, tester.chainHeight, tester.insertChain, tester.dropPeer)
+ tester.fetcher = New(tester.getBlock, tester.verifyBlock, tester.broadcastBlock, tester.chainHeight, tester.insertChain, tester.dropPeer)
tester.fetcher.Start()
return tester
}
-// hasBlock checks if a block is pres ent in the testers canonical chain.
-func (f *fetcherTester) hasBlock(hash common.Hash) bool {
+// getBlock retrieves a block from the tester's block chain.
+func (f *fetcherTester) getBlock(hash common.Hash) *types.Block {
f.lock.RLock()
defer f.lock.RUnlock()
- _, ok := f.blocks[hash]
- return ok
+ return f.blocks[hash]
+}
+
+// verifyBlock is a nop placeholder for the block header verification.
+func (f *fetcherTester) verifyBlock(block *types.Block, parent *types.Block) error {
+ return nil
}
// broadcastBlock is a nop placeholder for the block broadcasting.
-func (f *fetcherTester) broadcastBlock(block *types.Block) {
+func (f *fetcherTester) broadcastBlock(block *types.Block, propagate bool) {
}
// chainHeight retrieves the current height (block number) of the chain.
@@ -257,7 +261,7 @@ func TestPendingDeduplication(t *testing.T) {
return nil
}
// Announce the same block many times until it's fetched (wait for any pending ops)
- for !tester.hasBlock(hashes[0]) {
+ for tester.getBlock(hashes[0]) == nil {
tester.fetcher.Notify("repeater", hashes[0], time.Now().Add(-arriveTimeout), wrapper)
time.Sleep(time.Millisecond)
}