|
@@ -2,6 +2,9 @@ package tunsorter
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
"context"
|
|
"context"
|
|
|
|
|
+ "io"
|
|
|
|
|
+ "sync"
|
|
|
|
|
+
|
|
|
"github.com/v2fly/v2ray-core/v5/app/tun/packetparse"
|
|
"github.com/v2fly/v2ray-core/v5/app/tun/packetparse"
|
|
|
"github.com/v2fly/v2ray-core/v5/common/buf"
|
|
"github.com/v2fly/v2ray-core/v5/common/buf"
|
|
|
"github.com/v2fly/v2ray-core/v5/common/net"
|
|
"github.com/v2fly/v2ray-core/v5/common/net"
|
|
@@ -9,8 +12,6 @@ import (
|
|
|
vudp "github.com/v2fly/v2ray-core/v5/common/protocol/udp"
|
|
vudp "github.com/v2fly/v2ray-core/v5/common/protocol/udp"
|
|
|
"github.com/v2fly/v2ray-core/v5/features/routing"
|
|
"github.com/v2fly/v2ray-core/v5/features/routing"
|
|
|
"github.com/v2fly/v2ray-core/v5/transport/internet/udp"
|
|
"github.com/v2fly/v2ray-core/v5/transport/internet/udp"
|
|
|
- "io"
|
|
|
|
|
- "sync"
|
|
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
//go:generate go run github.com/v2fly/v2ray-core/v5/common/errors/errorgen
|
|
//go:generate go run github.com/v2fly/v2ray-core/v5/common/errors/errorgen
|
|
@@ -50,9 +51,9 @@ func (t *TunSorter) OnPacketReceived(b []byte) (n int, err error) {
|
|
|
|
|
|
|
|
func (t *TunSorter) onNewConnection(connection *trackedUDPConnection) {
|
|
func (t *TunSorter) onNewConnection(connection *trackedUDPConnection) {
|
|
|
udpDispatcherConstructor := udp.NewSplitDispatcher
|
|
udpDispatcherConstructor := udp.NewSplitDispatcher
|
|
|
- switch t.packetAddrType {
|
|
|
|
|
|
|
+ switch t.packetAddrType { // nolint: gocritic
|
|
|
case packetaddr.PacketAddrType_Packet:
|
|
case packetaddr.PacketAddrType_Packet:
|
|
|
- ctx := context.WithValue(t.ctx, udp.DispatcherConnectionTerminationSignalReceiverMark, connection)
|
|
|
|
|
|
|
+ ctx := context.WithValue(t.ctx, udp.DispatcherConnectionTerminationSignalReceiverMark, connection) // nolint:staticcheck
|
|
|
packetAddrDispatcherFactory := udp.NewPacketAddrDispatcherCreator(ctx)
|
|
packetAddrDispatcherFactory := udp.NewPacketAddrDispatcherCreator(ctx)
|
|
|
udpDispatcherConstructor = packetAddrDispatcherFactory.NewPacketAddrDispatcher
|
|
udpDispatcherConstructor = packetAddrDispatcherFactory.NewPacketAddrDispatcher
|
|
|
}
|
|
}
|