|  | @@ -191,14 +191,13 @@ func (this *VMessInboundHandler) HandleConnection(connection *hub.Connection) {
 | 
	
		
			
				|  |  |  	session.EncodeResponseHeader(response, writer)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	bodyWriter := session.EncodeResponseBody(writer)
 | 
	
		
			
				|  |  | +	var v2writer v2io.Writer = v2io.NewAdaptiveWriter(bodyWriter)
 | 
	
		
			
				|  |  | +	if request.Option.Has(protocol.RequestOptionChunkStream) {
 | 
	
		
			
				|  |  | +		v2writer = vmessio.NewAuthChunkWriter(v2writer)
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	// Optimize for small response packet
 | 
	
		
			
				|  |  |  	if data, err := output.Read(); err == nil {
 | 
	
		
			
				|  |  | -		var v2writer v2io.Writer = v2io.NewAdaptiveWriter(bodyWriter)
 | 
	
		
			
				|  |  | -		if request.Option.Has(protocol.RequestOptionChunkStream) {
 | 
	
		
			
				|  |  | -			v2writer = vmessio.NewAuthChunkWriter(v2writer)
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  		if err := v2writer.Write(data); err != nil {
 | 
	
		
			
				|  |  |  			connection.SetReusable(false)
 | 
	
		
			
				|  |  |  		}
 | 
	
	
		
			
				|  | @@ -210,14 +209,14 @@ func (this *VMessInboundHandler) HandleConnection(connection *hub.Connection) {
 | 
	
		
			
				|  |  |  			connection.SetReusable(false)
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		output.Release()
 | 
	
		
			
				|  |  | -		if request.Option.Has(protocol.RequestOptionChunkStream) {
 | 
	
		
			
				|  |  | -			if err := v2writer.Write(alloc.NewSmallBuffer().Clear()); err != nil {
 | 
	
		
			
				|  |  | -				connection.SetReusable(false)
 | 
	
		
			
				|  |  | -			}
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	output.Release()
 | 
	
		
			
				|  |  | +	if request.Option.Has(protocol.RequestOptionChunkStream) {
 | 
	
		
			
				|  |  | +		if err := v2writer.Write(alloc.NewSmallBuffer().Clear()); err != nil {
 | 
	
		
			
				|  |  | +			connection.SetReusable(false)
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | -		v2writer.Release()
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | +	v2writer.Release()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	readFinish.Lock()
 | 
	
		
			
				|  |  |  }
 |