DisconnectHandle handles the disconnect events
(data *msgTypes.MsgPayload, p2p p2p.P2P, pid *evtActor.PID, args ...interface{})
| 579 | |
| 580 | // DisconnectHandle handles the disconnect events |
| 581 | func DisconnectHandle(data *msgTypes.MsgPayload, p2p p2p.P2P, pid *evtActor.PID, args ...interface{}) { |
| 582 | log.Debug("[p2p]receive disconnect message", data.Addr, data.Id) |
| 583 | p2p.RemoveFromInConnRecord(data.Addr) |
| 584 | p2p.RemoveFromOutConnRecord(data.Addr) |
| 585 | remotePeer := p2p.GetPeer(data.Id) |
| 586 | if remotePeer == nil { |
| 587 | log.Debug("[p2p]disconnect peer is nil") |
| 588 | return |
| 589 | } |
| 590 | p2p.RemoveFromConnectingList(data.Addr) |
| 591 | |
| 592 | if remotePeer.Link.GetAddr() == data.Addr { |
| 593 | p2p.RemovePeerAddress(data.Addr) |
| 594 | remotePeer.Close() |
| 595 | } |
| 596 | } |
| 597 | |
| 598 | //get blk hdrs from starthash to stophash |
| 599 | func GetHeadersFromHash(startHash common.Uint256, stopHash common.Uint256) ([]*types.RawHeader, error) { |