replace xnet.Transport by xnet.Pipe

This commit is contained in:
ginuerzh
2025-07-28 20:52:15 +08:00
parent 35a049fb03
commit 208d18125c
52 changed files with 468 additions and 104 deletions
+15
View File
@@ -7,6 +7,7 @@ import (
limiter "github.com/go-gost/core/limiter/conn"
"github.com/go-gost/core/metadata"
xio "github.com/go-gost/x/internal/io"
)
var (
@@ -49,3 +50,17 @@ func (c *serverConn) Metadata() metadata.Metadata {
}
return nil
}
func (c *serverConn) CloseRead() error {
if sc, ok := c.Conn.(xio.CloseRead); ok {
return sc.CloseRead()
}
return nil
}
func (c *serverConn) CloseWrite() error {
if sc, ok := c.Conn.(xio.CloseWrite); ok {
return sc.CloseWrite()
}
return nil
}
+15
View File
@@ -13,6 +13,7 @@ import (
"github.com/go-gost/core/metadata"
xnet "github.com/go-gost/x/internal/net"
"github.com/go-gost/x/internal/net/udp"
xio "github.com/go-gost/x/internal/io"
)
var (
@@ -113,6 +114,20 @@ func (c *limitConn) ClientAddr() net.Addr {
return nil
}
func (c *limitConn) CloseRead() error {
if sc, ok := c.Conn.(xio.CloseRead); ok {
return sc.CloseRead()
}
return nil
}
func (c *limitConn) CloseWrite() error {
if sc, ok := c.Conn.(xio.CloseWrite); ok {
return sc.CloseWrite()
}
return nil
}
type packetConn struct {
net.PacketConn
limiter traffic.TrafficLimiter