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