|
@@ -81,14 +81,14 @@ func (handler *VMessInboundHandler) HandleConnection(connection net.Conn) error
|
|
|
// Optimize for small response packet
|
|
// Optimize for small response packet
|
|
|
buffer := make([]byte, 0, 1024)
|
|
buffer := make([]byte, 0, 1024)
|
|
|
buffer = append(buffer, response[:]...)
|
|
buffer = append(buffer, response[:]...)
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
if data, open := <-output; open {
|
|
if data, open := <-output; open {
|
|
|
buffer = append(buffer, data...)
|
|
buffer = append(buffer, data...)
|
|
|
- responseWriter.Write(buffer)
|
|
|
|
|
- go handleOutput(request, responseWriter, output, writeFinish)
|
|
|
|
|
- <-writeFinish
|
|
|
|
|
|
|
+ responseWriter.Write(buffer)
|
|
|
|
|
+ go handleOutput(request, responseWriter, output, writeFinish)
|
|
|
|
|
+ <-writeFinish
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
if tcpConn, ok := connection.(*net.TCPConn); ok {
|
|
if tcpConn, ok := connection.(*net.TCPConn); ok {
|
|
|
log.Debug("VMessIn closing write")
|
|
log.Debug("VMessIn closing write")
|
|
|
tcpConn.CloseWrite()
|
|
tcpConn.CloseWrite()
|