disco: drop ErrUseOfClosedConnection

This commit is contained in:
rkonfj 2024-08-03 11:48:16 +08:00
parent 4df12b6a46
commit b23926d1fd
No known key found for this signature in database
GPG Key ID: 9595E3A991503741
5 changed files with 6 additions and 12 deletions

View File

@ -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
}

View File

@ -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) {

View File

@ -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) {

View File

@ -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

View File

@ -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)