1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2026-06-17 00:09:56 -04:00

more accurate memory usage when buffer = 0

This commit is contained in:
Darien Raymond
2018-07-31 16:05:57 +02:00
parent 73a1111083
commit 5e65d7da6d
10 changed files with 80 additions and 22 deletions

View File

@@ -194,14 +194,19 @@ func (s *Server) handleConnect(ctx context.Context, request *http.Request, reade
}
requestDone := func() error {
defer timer.SetTimeout(s.policy().Timeouts.DownlinkOnly)
defer timer.SetTimeout(plcy.Timeouts.DownlinkOnly)
v2reader := buf.NewReader(conn)
return buf.Copy(v2reader, link.Writer, buf.UpdateActivity(timer))
var reader buf.Reader
if plcy.Buffer.PerConnection == 0 {
reader = &buf.SingleReader{Reader: conn}
} else {
reader = buf.NewReader(conn)
}
return buf.Copy(reader, link.Writer, buf.UpdateActivity(timer))
}
responseDone := func() error {
defer timer.SetTimeout(s.policy().Timeouts.UplinkOnly)
defer timer.SetTimeout(plcy.Timeouts.UplinkOnly)
v2writer := buf.NewWriter(conn)
if err := buf.Copy(link.Reader, v2writer, buf.UpdateActivity(timer)); err != nil {