|
|
|
@ -419,6 +419,16 @@ func (p *Peer) HandleInbound() { |
|
|
|
|
if err != nil { |
|
|
|
|
// If the parent is unknown try to catch up with this peer
|
|
|
|
|
if ethchain.IsParentErr(err) { |
|
|
|
|
/* |
|
|
|
|
b := ethchain.NewBlockFromRlpValue(msg.Data.Get(0)) |
|
|
|
|
|
|
|
|
|
peerlogger.Infof("Attempting to catch (%x). Parent known\n", b.Hash()) |
|
|
|
|
p.catchingUp = false |
|
|
|
|
|
|
|
|
|
p.CatchupWithPeer(b.Hash()) |
|
|
|
|
|
|
|
|
|
peerlogger.Infoln(b) |
|
|
|
|
*/ |
|
|
|
|
peerlogger.Infoln("Attempting to catch. Parent known") |
|
|
|
|
p.catchingUp = false |
|
|
|
|
p.CatchupWithPeer(p.ethereum.BlockChain().CurrentBlock.Hash()) |
|
|
|
@ -744,7 +754,7 @@ func (p *Peer) CatchupWithPeer(blockHash []byte) { |
|
|
|
|
if !p.catchingUp { |
|
|
|
|
// Make sure nobody else is catching up when you want to do this
|
|
|
|
|
p.catchingUp = true |
|
|
|
|
msg := ethwire.NewMessage(ethwire.MsgGetChainTy, []interface{}{blockHash, uint64(50)}) |
|
|
|
|
msg := ethwire.NewMessage(ethwire.MsgGetChainTy, []interface{}{blockHash, uint64(10)}) |
|
|
|
|
p.QueueMessage(msg) |
|
|
|
|
|
|
|
|
|
peerlogger.DebugDetailf("Requesting blockchain %x... from peer %s\n", p.ethereum.BlockChain().CurrentBlock.Hash()[:4], p.conn.RemoteAddr()) |
|
|
|
|