update udp listener
This commit is contained in:
@ -6,7 +6,7 @@ import (
|
||||
"net"
|
||||
"strconv"
|
||||
|
||||
"github.com/go-gost/core/common/util/udp"
|
||||
"github.com/go-gost/core/common/net/udp"
|
||||
"github.com/go-gost/core/connector"
|
||||
"github.com/go-gost/core/logger"
|
||||
"github.com/go-gost/relay"
|
||||
@ -67,11 +67,15 @@ func (c *relayConnector) bindUDP(ctx context.Context, conn net.Conn, network, ad
|
||||
|
||||
ln := udp.NewListener(
|
||||
relay_util.UDPTunClientPacketConn(conn),
|
||||
laddr,
|
||||
opts.Backlog,
|
||||
opts.UDPDataQueueSize, opts.UDPDataBufferSize,
|
||||
opts.UDPConnTTL,
|
||||
log)
|
||||
&udp.ListenConfig{
|
||||
Addr: laddr,
|
||||
Backlog: opts.Backlog,
|
||||
ReadQueueSize: opts.UDPDataQueueSize,
|
||||
ReadBufferSize: opts.UDPDataBufferSize,
|
||||
TTL: opts.UDPConnTTL,
|
||||
KeepAlive: true,
|
||||
Logger: log,
|
||||
})
|
||||
|
||||
return ln, nil
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ func (h *dnsHandler) Handle(ctx context.Context, conn net.Conn, opts ...handler.
|
||||
}).Infof("%s >< %s", conn.RemoteAddr(), conn.LocalAddr())
|
||||
}()
|
||||
|
||||
b := bufpool.Get(4096)
|
||||
b := bufpool.Get(defaultBufferSize)
|
||||
defer bufpool.Put(b)
|
||||
|
||||
n, err := conn.Read(*b)
|
||||
@ -165,7 +165,7 @@ func (h *dnsHandler) exchange(ctx context.Context, msg []byte, log logger.Logger
|
||||
|
||||
mr = h.lookupHosts(&mq, log)
|
||||
if mr != nil {
|
||||
b := bufpool.Get(4096)
|
||||
b := bufpool.Get(defaultBufferSize)
|
||||
return mr.PackBuffer(*b)
|
||||
}
|
||||
|
||||
@ -177,7 +177,7 @@ func (h *dnsHandler) exchange(ctx context.Context, msg []byte, log logger.Logger
|
||||
log.Debugf("exchange message %d (cached): %s", mq.Id, mq.Question[0].String())
|
||||
mr.Id = mq.Id
|
||||
|
||||
b := bufpool.Get(4096)
|
||||
b := bufpool.Get(defaultBufferSize)
|
||||
return mr.PackBuffer(*b)
|
||||
}
|
||||
|
||||
@ -188,7 +188,7 @@ func (h *dnsHandler) exchange(ctx context.Context, msg []byte, log logger.Logger
|
||||
}()
|
||||
}
|
||||
|
||||
b := bufpool.Get(4096)
|
||||
b := bufpool.Get(defaultBufferSize)
|
||||
defer bufpool.Put(b)
|
||||
|
||||
query, err := mq.PackBuffer(*b)
|
||||
|
@ -7,6 +7,10 @@ import (
|
||||
mdata "github.com/go-gost/core/metadata"
|
||||
)
|
||||
|
||||
const (
|
||||
defaultBufferSize = 1024
|
||||
)
|
||||
|
||||
type metadata struct {
|
||||
readTimeout time.Duration
|
||||
ttl time.Duration
|
||||
|
@ -3,7 +3,7 @@ package ftcp
|
||||
import (
|
||||
"net"
|
||||
|
||||
"github.com/go-gost/core/common/util/udp"
|
||||
"github.com/go-gost/core/common/net/udp"
|
||||
"github.com/go-gost/core/listener"
|
||||
"github.com/go-gost/core/logger"
|
||||
md "github.com/go-gost/core/metadata"
|
||||
@ -39,11 +39,6 @@ func (l *ftcpListener) Init(md md.Metadata) (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
laddr, err := net.ResolveTCPAddr("tcp", l.options.Addr)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
var conn net.PacketConn
|
||||
conn, err = tcpraw.Listen("tcp", l.options.Addr)
|
||||
if err != nil {
|
||||
@ -53,11 +48,14 @@ func (l *ftcpListener) Init(md md.Metadata) (err error) {
|
||||
|
||||
l.ln = udp.NewListener(
|
||||
conn,
|
||||
laddr,
|
||||
l.md.backlog,
|
||||
l.md.readQueueSize, l.md.readBufferSize,
|
||||
l.md.ttl,
|
||||
l.logger)
|
||||
&udp.ListenConfig{
|
||||
Backlog: l.md.backlog,
|
||||
ReadQueueSize: l.md.readQueueSize,
|
||||
ReadBufferSize: l.md.readBufferSize,
|
||||
TTL: l.md.ttl,
|
||||
KeepAlive: true,
|
||||
Logger: l.logger,
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user