]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Add PeerConnClosed callback
authorMatt Joiner <anacrolix@gmail.com>
Tue, 13 Oct 2020 02:02:39 +0000 (13:02 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Tue, 13 Oct 2020 02:02:39 +0000 (13:02 +1100)
callbacks.go
peerconn.go

index 0e73d80993e0d207a52a43769358ac1bc7971084..83e248154a9d4c7878dc96c6e38f0ae0f9d8860d 100644 (file)
@@ -10,4 +10,5 @@ type Callbacks struct {
        CompletedHandshake    func(_ *PeerConn, infoHash InfoHash)
        ReadMessage           func(*PeerConn, *pp.Message)
        ReadExtendedHandshake func(*PeerConn, *pp.ExtendedHandshakeMessage)
+       PeerConnClosed        func(*PeerConn)
 }
index cc8bdeb8580319332205d3f1ef0d7b369c6c56dc..e13e9fa3735578b389bb2acb75aab9a2954dface 100644 (file)
@@ -355,6 +355,9 @@ func (cn *PeerConn) _close() {
        if cn.conn != nil {
                cn.conn.Close()
        }
+       if cb := cn.t.cl.config.Callbacks.PeerConnClosed; cb != nil {
+               cb(cn)
+       }
 }
 
 func (cn *peer) peerHasPiece(piece pieceIndex) bool {