| 
					
				 | 
			
			
				@@ -108,23 +108,20 @@ func handleRequest(conn *net.TCPConn, request *vmessio.VMessRequest, input <-cha 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		log.Error("VMessOut: Failed to serialize VMess request: %v", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	//conn.Write(buffer) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	data, open := <-input 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if open { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		encryptRequestWriter.Crypt(data) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		buffer = append(buffer, data...) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	_, err = conn.Write(buffer) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		log.Error("VMessOut: Failed to write VMess request: %v", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if !open { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Send first packet of payload together with request, in favor of small requests. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	payload, open := <-input 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if open { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		encryptRequestWriter.Crypt(payload) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		buffer = append(buffer, payload...) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    _, err = conn.Write(buffer) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      log.Error("VMessOut: Failed to write VMess request: %v", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    v2net.ChanToWriter(encryptRequestWriter, input) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	v2net.ChanToWriter(encryptRequestWriter, input) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |