mirror of
https://github.com/XTLS/Xray-core.git
synced 2025-07-05 09:34:14 +00:00
Collect stats and possible padding (previously Vision Reader Writer) to all traffic
This commit is contained in:
parent
3da6cefbca
commit
855b773973
4 changed files with 29 additions and 36 deletions
|
@ -460,7 +460,7 @@ func (h *Handler) Process(ctx context.Context, network net.Network, connection s
|
|||
}
|
||||
encoding.PopulateSeed(account.Seed, responseAddons)
|
||||
if check := encoding.CheckSeed(requestAddons, responseAddons); check != nil {
|
||||
return newError("Seed configuration mis-match").Base(check).AtWarning()
|
||||
return errors.New("Seed configuration mis-match").Base(check).AtWarning()
|
||||
}
|
||||
|
||||
var input *bytes.Reader
|
||||
|
@ -531,18 +531,17 @@ func (h *Handler) Process(ctx context.Context, network net.Network, connection s
|
|||
|
||||
serverReader := link.Reader // .(*pipe.Reader)
|
||||
serverWriter := link.Writer // .(*pipe.Writer)
|
||||
trafficState := proxy.NewTrafficState(account.ID.Bytes())
|
||||
trafficState := proxy.NewTrafficState(account.ID.Bytes(), account.Flow)
|
||||
postRequest := func() error {
|
||||
defer timer.SetTimeout(sessionPolicy.Timeouts.DownlinkOnly)
|
||||
|
||||
// default: clientReader := reader
|
||||
clientReader := encoding.DecodeBodyAddons(reader, request, requestAddons)
|
||||
clientReader := encoding.DecodeBodyAddons(reader, request, requestAddons, trafficState, ctx)
|
||||
|
||||
var err error
|
||||
|
||||
if requestAddons.Flow == vless.XRV {
|
||||
ctx1 := session.ContextWithInbound(ctx, nil) // TODO enable splice
|
||||
clientReader = proxy.NewVisionReader(clientReader, trafficState, ctx1)
|
||||
err = encoding.XtlsRead(clientReader, serverWriter, timer, connection, input, rawInput, trafficState, nil, ctx1)
|
||||
} else {
|
||||
// from clientReader.ReadMultiBuffer to serverWriter.WriteMultiBuffer
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue