mirror of
https://github.com/v2fly/v2ray-core.git
synced 2026-01-03 15:55:20 -05:00
Release all references
This commit is contained in:
@@ -118,8 +118,11 @@ func (this *VMessInboundHandler) HandleConnection(connection *hub.TCPConn) {
|
||||
defer connection.Close()
|
||||
|
||||
connReader := v2net.NewTimeOutReader(16, connection)
|
||||
defer connReader.Release()
|
||||
|
||||
reader := v2io.NewBufferedReader(connReader)
|
||||
defer reader.Release()
|
||||
|
||||
session := raw.NewServerSession(this.clients)
|
||||
|
||||
request, err := session.DecodeRequestHeader(reader)
|
||||
@@ -145,7 +148,8 @@ func (this *VMessInboundHandler) HandleConnection(connection *hub.TCPConn) {
|
||||
defer close(input)
|
||||
defer readFinish.Unlock()
|
||||
bodyReader := session.DecodeRequestBody(reader)
|
||||
var requestReader v2io.Reader
|
||||
var requestReader v2io.ReleasableReader
|
||||
defer requestReader.Release()
|
||||
if request.Option.IsChunkStream() {
|
||||
requestReader = vmessio.NewAuthChunkReader(bodyReader)
|
||||
} else {
|
||||
@@ -155,6 +159,7 @@ func (this *VMessInboundHandler) HandleConnection(connection *hub.TCPConn) {
|
||||
}()
|
||||
|
||||
writer := v2io.NewBufferedWriter(connection)
|
||||
defer writer.Release()
|
||||
|
||||
response := &proto.ResponseHeader{
|
||||
Command: this.generateCommand(request),
|
||||
|
||||
@@ -44,3 +44,7 @@ func (this *AuthChunkReader) Read() (*alloc.Buffer, error) {
|
||||
buffer.SliceFrom(4)
|
||||
return buffer, nil
|
||||
}
|
||||
|
||||
func (this *AuthChunkReader) Release() {
|
||||
this.reader = nil
|
||||
}
|
||||
|
||||
@@ -23,6 +23,10 @@ func (this *AuthChunkWriter) Write(buffer *alloc.Buffer) error {
|
||||
return this.writer.Write(buffer)
|
||||
}
|
||||
|
||||
func (this *AuthChunkWriter) Release() {
|
||||
this.writer = nil
|
||||
}
|
||||
|
||||
func Authenticate(buffer *alloc.Buffer) {
|
||||
fnvHash := fnv.New32a()
|
||||
fnvHash.Write(buffer.Value)
|
||||
|
||||
Reference in New Issue
Block a user