|
|
@@ -118,8 +118,11 @@ func (this *VMessInboundHandler) HandleConnection(connection *hub.TCPConn) {
|
|
|
defer connection.Close()
|
|
|
|
|
|
connReader := v2net.NewTimeOutReader(16, connection)
|
|
|
+ defer connReader.Release()
|
|
|
|
|
|
reader := v2io.NewBufferedReader(connReader)
|
|
|
+ defer reader.Release()
|
|
|
+
|
|
|
session := raw.NewServerSession(this.clients)
|
|
|
|
|
|
request, err := session.DecodeRequestHeader(reader)
|
|
|
@@ -145,7 +148,8 @@ func (this *VMessInboundHandler) HandleConnection(connection *hub.TCPConn) {
|
|
|
defer close(input)
|
|
|
defer readFinish.Unlock()
|
|
|
bodyReader := session.DecodeRequestBody(reader)
|
|
|
- var requestReader v2io.Reader
|
|
|
+ var requestReader v2io.ReleasableReader
|
|
|
+ defer requestReader.Release()
|
|
|
if request.Option.IsChunkStream() {
|
|
|
requestReader = vmessio.NewAuthChunkReader(bodyReader)
|
|
|
} else {
|
|
|
@@ -155,6 +159,7 @@ func (this *VMessInboundHandler) HandleConnection(connection *hub.TCPConn) {
|
|
|
}()
|
|
|
|
|
|
writer := v2io.NewBufferedWriter(connection)
|
|
|
+ defer writer.Release()
|
|
|
|
|
|
response := &proto.ResponseHeader{
|
|
|
Command: this.generateCommand(request),
|