|
@@ -2,7 +2,6 @@ package trojan
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
"context"
|
|
"context"
|
|
|
- "sync"
|
|
|
|
|
|
|
|
|
|
core "github.com/v2fly/v2ray-core/v5"
|
|
core "github.com/v2fly/v2ray-core/v5"
|
|
|
"github.com/v2fly/v2ray-core/v5/common"
|
|
"github.com/v2fly/v2ray-core/v5/common"
|
|
@@ -120,12 +119,9 @@ func (c *Client) Process(ctx context.Context, link *transport.Link, dialer inter
|
|
|
defer timer.SetTimeout(sessionPolicy.Timeouts.UplinkOnly)
|
|
defer timer.SetTimeout(sessionPolicy.Timeouts.UplinkOnly)
|
|
|
|
|
|
|
|
packetReader := &PacketReader{Reader: conn}
|
|
packetReader := &PacketReader{Reader: conn}
|
|
|
- splitReader := &PacketConnectionReader{
|
|
|
|
|
- readerAccess: &sync.Mutex{},
|
|
|
|
|
- reader: packetReader,
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ packetConnectionReader := &PacketConnectionReader{reader: packetReader}
|
|
|
|
|
|
|
|
- return udp.CopyPacketConn(packetConn, splitReader, udp.UpdateActivity(timer))
|
|
|
|
|
|
|
+ return udp.CopyPacketConn(packetConn, packetConnectionReader, udp.UpdateActivity(timer))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
responseDoneAndCloseWriter := task.OnSuccess(getResponse, task.Close(link.Writer))
|
|
responseDoneAndCloseWriter := task.OnSuccess(getResponse, task.Close(link.Writer))
|