Do not queue messages if the peer isn't connected (e.g. timing out)

poc8
obscuren 11 years ago
parent a4883a029f
commit 0c1f732c64
  1. 1
      ethchain/state_manager.go
  2. 4
      peer.go

@ -199,7 +199,6 @@ func (sm *StateManager) ProcessBlock(block *Block, dontReact bool) error {
}
sm.Ethereum.Broadcast(ethwire.MsgBlockTy, []interface{}{block.Value().Val})
} else {
fmt.Println("total diff failed")
}

@ -187,6 +187,10 @@ func NewOutboundPeer(addr string, ethereum *Ethereum, caps Caps) *Peer {
// Outputs any RLP encoded data to the peer
func (p *Peer) QueueMessage(msg *ethwire.Msg) {
if atomic.LoadInt32(&p.connected) != 1 {
return
}
p.outputQueue <- msg
}

Loading…
Cancel
Save