eth/downloader: log hard timeouts and reset capacity

pull/1189/head
Péter Szilágyi 9 years ago
parent 067e66b348
commit 94e4aa6ea9
  1. 1
      eth/downloader/downloader.go
  2. 3
      eth/downloader/peer.go

@ -460,6 +460,7 @@ out:
// 3) Amount and availability. // 3) Amount and availability.
if peer := d.peers.Peer(pid); peer != nil { if peer := d.peers.Peer(pid); peer != nil {
peer.Demote() peer.Demote()
glog.V(logger.Detail).Infof("%s: block delivery timeout", peer)
} }
} }
// After removing bad peers make sure we actually have sufficient peer left to keep downloading // After removing bad peers make sure we actually have sufficient peer left to keep downloading

@ -87,6 +87,9 @@ func (p *peer) SetIdle() {
scale := 2.0 scale := 2.0
if time.Since(p.started) > blockSoftTTL { if time.Since(p.started) > blockSoftTTL {
scale = 0.5 scale = 0.5
if time.Since(p.started) > blockHardTTL {
scale = 1 / float64(MaxBlockFetch) // reduces capacity to 1
}
} }
for { for {
// Calculate the new download bandwidth allowance // Calculate the new download bandwidth allowance

Loading…
Cancel
Save