mirror of
https://github.com/fumiama/WireGold.git
synced 2026-06-23 20:16:27 +08:00
fix(tcp): set conn on peer's endpoint
This commit is contained in:
@@ -67,6 +67,7 @@ func (ep *EndPoint) Listen() (p2p.Conn, error) {
|
|||||||
|
|
||||||
type connrecv struct {
|
type connrecv struct {
|
||||||
addr *EndPoint // cast from tcpconn.RemoteAddr()
|
addr *EndPoint // cast from tcpconn.RemoteAddr()
|
||||||
|
conn *net.TCPConn
|
||||||
pckt packet
|
pckt packet
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,6 +122,7 @@ func (conn *Conn) receive(ep *EndPoint) {
|
|||||||
if tcpconn == nil {
|
if tcpconn == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
r.conn = tcpconn
|
||||||
_, err := io.Copy(&r.pckt, tcpconn)
|
_, err := io.Copy(&r.pckt, tcpconn)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Debugln("[tcp] recv from", ep, "err:", err)
|
logrus.Debugln("[tcp] recv from", ep, "err:", err)
|
||||||
@@ -163,6 +165,7 @@ func (conn *Conn) ReadFromPeer(b []byte) (int, p2p.EndPoint, error) {
|
|||||||
if p == nil {
|
if p == nil {
|
||||||
return 0, nil, net.ErrClosed
|
return 0, nil, net.ErrClosed
|
||||||
}
|
}
|
||||||
|
conn.peers.Set(p.addr.String(), p.conn)
|
||||||
if p.pckt.typ == packetTypeNormal {
|
if p.pckt.typ == packetTypeNormal {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user