From: Matt Joiner Date: Tue, 13 Oct 2020 02:02:39 +0000 (+1100) Subject: Add PeerConnClosed callback X-Git-Tag: v1.18.0~8 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=152d8715ffe61f6c3d05ac5ebd310ed48639bd9b;p=btrtrc.git Add PeerConnClosed callback --- diff --git a/callbacks.go b/callbacks.go index 0e73d809..83e24815 100644 --- a/callbacks.go +++ b/callbacks.go @@ -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) } diff --git a/peerconn.go b/peerconn.go index cc8bdeb8..e13e9fa3 100644 --- a/peerconn.go +++ b/peerconn.go @@ -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 {