aboutsummaryrefslogtreecommitdiffstats
path: root/eth
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-04-20 18:29:02 +0800
committerobscuren <geffobscura@gmail.com>2015-04-20 18:29:02 +0800
commit45da3e17e2ada226d7c82db667d263f8e004cbfc (patch)
tree627499fa3e24bbe70ed5c0c526d30d713205b106 /eth
parent52584596d4c9cee7adcc1c343addd19279aaac84 (diff)
downloadgo-tangerine-45da3e17e2ada226d7c82db667d263f8e004cbfc.tar.gz
go-tangerine-45da3e17e2ada226d7c82db667d263f8e004cbfc.tar.zst
go-tangerine-45da3e17e2ada226d7c82db667d263f8e004cbfc.zip
core: added chain head reset to known block
Diffstat (limited to 'eth')
-rw-r--r--eth/downloader/downloader.go2
-rw-r--r--eth/handler.go3
2 files changed, 4 insertions, 1 deletions
diff --git a/eth/downloader/downloader.go b/eth/downloader/downloader.go
index addcbcc44..cfc494b2f 100644
--- a/eth/downloader/downloader.go
+++ b/eth/downloader/downloader.go
@@ -472,6 +472,8 @@ func (d *Downloader) process() error {
}
break
} else if err != nil {
+ // immediatly unregister the false peer but do not disconnect
+ d.UnregisterPeer(d.activePeer)
// Reset chain completely. This needs much, much improvement.
// instead: check all blocks leading down to this block false block and remove it
blocks = nil
diff --git a/eth/handler.go b/eth/handler.go
index 5c0660d84..622f22132 100644
--- a/eth/handler.go
+++ b/eth/handler.go
@@ -36,6 +36,7 @@ pm.chainman.InsertChain(blocks)
import (
"fmt"
+ "math"
"math/big"
"sync"
@@ -326,7 +327,7 @@ func (pm *ProtocolManager) BroadcastBlock(hash common.Hash, block *types.Block)
}
// Broadcast block to peer set
// XXX due to the current shit state of the network disable the limit
- //peers = peers[:int(math.Sqrt(float64(len(peers))))]
+ peers = peers[:int(math.Sqrt(float64(len(peers))))]
for _, peer := range peers {
peer.sendNewBlock(block)
}