}
c := cl.newConnection(nc, false, nc.RemoteAddr(), nc.RemoteAddr().Network(),
regularNetConnPeerConnConnString(nc))
+ defer c.close()
c.Discovery = PeerSourceIncoming
cl.runReceivedConn(c)
}
connString: connString,
conn: nc,
writeBuffer: new(bytes.Buffer),
+ callbacks: &cl.config.Callbacks,
}
c.peerImpl = c
c.logger = cl.logger.WithDefaultLevel(log.Warning).WithContextValue(c)
writerCond sync.Cond
pex pexConnState
+
+ callbacks *Callbacks
}
func (cn *PeerConn) connStatusString() string {
if cn.conn != nil {
cn.conn.Close()
}
- if cb := cn.t.cl.config.Callbacks.PeerConnClosed; cb != nil {
+ if cb := cn.callbacks.PeerConnClosed; cb != nil {
cb(cn)
}
}
defer cl.lock()
err = decoder.Decode(&msg)
}()
- if cb := cl.config.Callbacks.ReadMessage; cb != nil && err == nil {
+ if cb := c.callbacks.ReadMessage; cb != nil && err == nil {
cb(c, &msg)
}
if t.closed.IsSet() || c.closed.IsSet() {
c.logger.Printf("error parsing extended handshake message %q: %s", payload, err)
return errors.Wrap(err, "unmarshalling extended handshake payload")
}
- if cb := cl.config.Callbacks.ReadExtendedHandshake; cb != nil {
+ if cb := c.callbacks.ReadExtendedHandshake; cb != nil {
cb(c, &d)
}
//c.logger.WithDefaultLevel(log.Debug).Printf("received extended handshake message:\n%s", spew.Sdump(d))