chore: better tuicV5 deFragger
This commit is contained in:
@@ -103,7 +103,7 @@ func (q *quicStreamPacketConn) ReadFrom(p []byte) (n int, addr net.Addr, err err
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if packetPtr := q.deFragger.Feed(packet); packetPtr != nil {
|
||||
if packetPtr := q.deFragger.Feed(&packet); packetPtr != nil {
|
||||
n = copy(p, packet.DATA)
|
||||
addr = packetPtr.ADDR.UDPAddr()
|
||||
return
|
||||
@@ -123,7 +123,7 @@ func (q *quicStreamPacketConn) WaitReadFrom() (data []byte, put func(), addr net
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if packetPtr := q.deFragger.Feed(packet); packetPtr != nil {
|
||||
if packetPtr := q.deFragger.Feed(&packet); packetPtr != nil {
|
||||
data = packetPtr.DATA
|
||||
addr = packetPtr.ADDR.UDPAddr()
|
||||
return
|
||||
@@ -178,16 +178,14 @@ func (q *quicStreamPacketConn) WriteTo(p []byte, addr net.Addr) (n int, err erro
|
||||
default: // native
|
||||
if len(p) > q.maxUdpRelayPacketSize {
|
||||
err = fragWriteNative(q.quicConn, packet, buf, q.maxUdpRelayPacketSize)
|
||||
} else {
|
||||
err = packet.WriteTo(buf)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
data := buf.Bytes()
|
||||
err = q.quicConn.SendMessage(data)
|
||||
}
|
||||
err = packet.WriteTo(buf)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
data := buf.Bytes()
|
||||
err = q.quicConn.SendMessage(data)
|
||||
|
||||
var tooLarge quic.ErrMessageTooLarge
|
||||
if errors.As(err, &tooLarge) {
|
||||
|
||||
Reference in New Issue
Block a user