network: fix block relaying, don't spit out useless errors

We can only add one block of the given height and we have two competing
goroutines to do that --- consensus and block queue. Whomever adds the block
first shouldn't trigger an error in another one.

Fix block relaying for blocks added via the block queue also, previously one
consensus-generated blocks were broadcasted.
This commit is contained in:
Roman Khimov 2020-02-04 19:32:29 +03:00
parent f9963cca37
commit b9b77ac1be
4 changed files with 24 additions and 9 deletions

View file

@ -12,7 +12,7 @@ import (
func TestBlockQueue(t *testing.T) {
chain := &testChain{}
// notice, it's not yet running
bq := newBlockQueue(0, chain, zaptest.NewLogger(t))
bq := newBlockQueue(0, chain, zaptest.NewLogger(t), nil)
blocks := make([]*block.Block, 11)
for i := 1; i < 11; i++ {
blocks[i] = &block.Block{Base: block.Base{Index: uint32(i)}}