mirror of
https://github.com/rkonfj/peerguard.git
synced 2024-08-11 11:00:25 +08:00
disco: drop ErrUseOfClosedConnection
This commit is contained in:
parent
4df12b6a46
commit
b23926d1fd
@ -2,7 +2,6 @@ package disco
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"log/slog"
|
||||
@ -99,10 +98,6 @@ const (
|
||||
Internal NATType = "internal"
|
||||
)
|
||||
|
||||
var (
|
||||
ErrUseOfClosedConnection error = errors.New("use of closed network connection")
|
||||
)
|
||||
|
||||
type Disco struct {
|
||||
Magic func() []byte
|
||||
}
|
||||
|
@ -330,7 +330,7 @@ func (c *UDPConn) runPacketEventLoop() {
|
||||
}
|
||||
n, peerAddr, err := udpConn.ReadFromUDP(buf)
|
||||
if err != nil {
|
||||
if !strings.Contains(err.Error(), disco.ErrUseOfClosedConnection.Error()) {
|
||||
if !strings.Contains(err.Error(), net.ErrClosed.Error()) {
|
||||
slog.Error("read from udp error", "err", err)
|
||||
}
|
||||
time.Sleep(10 * time.Millisecond) // avoid busy wait
|
||||
@ -521,7 +521,7 @@ func (c *UDPConn) WriteToUDP(p []byte, peerID disco.PeerID) (int, error) {
|
||||
return udpConn.WriteToUDP(p, addr)
|
||||
}
|
||||
}
|
||||
return 0, disco.ErrUseOfClosedConnection
|
||||
return 0, net.ErrClosed
|
||||
}
|
||||
|
||||
func (c *UDPConn) Broadcast(b []byte) (peerCount int, err error) {
|
||||
|
@ -324,7 +324,7 @@ func (c *WSConn) runEventsReadLoop() {
|
||||
!websocket.IsUnexpectedCloseError(err,
|
||||
websocket.CloseGoingAway,
|
||||
websocket.CloseAbnormalClosure) &&
|
||||
!strings.Contains(err.Error(), disco.ErrUseOfClosedConnection.Error()) {
|
||||
!strings.Contains(err.Error(), net.ErrClosed.Error()) {
|
||||
slog.Error("ReadLoopExited", "details", err.Error())
|
||||
}
|
||||
conn.Close()
|
||||
@ -416,7 +416,7 @@ func (c *WSConn) writeWS(messageType int, data []byte) error {
|
||||
if wsConn := c.rawConn.Load(); wsConn != nil {
|
||||
return wsConn.WriteMessage(messageType, data)
|
||||
}
|
||||
return disco.ErrUseOfClosedConnection
|
||||
return net.ErrClosed
|
||||
}
|
||||
|
||||
func (c *WSConn) updateNetworkSecret(secret disco.NetworkSecret) {
|
||||
|
@ -50,7 +50,7 @@ type PeerPacketConn struct {
|
||||
func (c *PeerPacketConn) ReadFrom(p []byte) (n int, addr net.Addr, err error) {
|
||||
select {
|
||||
case <-c.closedSig:
|
||||
err = disco.ErrUseOfClosedConnection
|
||||
err = net.ErrClosed
|
||||
return
|
||||
case <-c.readTimeout:
|
||||
err = os.ErrDeadlineExceeded
|
||||
|
@ -10,7 +10,6 @@ import (
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
"github.com/rkonfj/peerguard/disco"
|
||||
"github.com/rkonfj/peerguard/netlink"
|
||||
"github.com/rkonfj/peerguard/vpn/iface"
|
||||
"golang.org/x/net/ipv4"
|
||||
@ -144,7 +143,7 @@ func (vpn *VPN) runPacketConnReadEventLoop(wg *sync.WaitGroup, packetConn net.Pa
|
||||
for {
|
||||
n, _, err := packetConn.ReadFrom(buf)
|
||||
if err != nil {
|
||||
if errors.Is(err, disco.ErrUseOfClosedConnection) {
|
||||
if errors.Is(err, net.ErrClosed) {
|
||||
return
|
||||
}
|
||||
panic(err)
|
||||
|
Loading…
Reference in New Issue
Block a user