1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2026-01-03 07:45:29 -05:00

reusable connection

This commit is contained in:
v2ray
2016-05-31 00:21:41 +02:00
parent 3a6bf38686
commit 0fac2084c7
12 changed files with 206 additions and 76 deletions

View File

@@ -1,6 +1,7 @@
package inbound
import (
"io"
"sync"
"github.com/v2ray/v2ray-core/app"
@@ -124,7 +125,7 @@ func (this *VMessInboundHandler) Listen(address v2net.Address, port v2net.Port)
func (this *VMessInboundHandler) HandleConnection(connection *hub.Connection) {
defer connection.Close()
connReader := v2net.NewTimeOutReader(16, connection)
connReader := v2net.NewTimeOutReader(8, connection)
defer connReader.Release()
reader := v2io.NewBufferedReader(connReader)
@@ -135,13 +136,19 @@ func (this *VMessInboundHandler) HandleConnection(connection *hub.Connection) {
request, err := session.DecodeRequestHeader(reader)
if err != nil {
log.Access(connection.RemoteAddr(), "", log.AccessRejected, err)
log.Warning("VMessIn: Invalid request from ", connection.RemoteAddr(), ": ", err)
if err != io.EOF {
log.Access(connection.RemoteAddr(), "", log.AccessRejected, err)
log.Warning("VMessIn: Invalid request from ", connection.RemoteAddr(), ": ", err)
}
return
}
log.Access(connection.RemoteAddr(), request.Destination(), log.AccessAccepted, "")
log.Debug("VMessIn: Received request for ", request.Destination())
if request.Option.IsChunkStream() {
connection.SetReusable(true)
}
ray := this.packetDispatcher.DispatchToOutbound(request.Destination())
input := ray.InboundInput()
output := ray.InboundOutput()