From 17ea740e7e99eb7a1927cfdaa58d11bfb687b302 Mon Sep 17 00:00:00 2001 From: v2ray Date: Sat, 16 Jul 2016 10:45:32 +0200 Subject: [PATCH] remove unnecessary use of buffer --- common/protocol/raw/client.go | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/common/protocol/raw/client.go b/common/protocol/raw/client.go index 83457542..8f89d3f3 100644 --- a/common/protocol/raw/client.go +++ b/common/protocol/raw/client.go @@ -6,7 +6,6 @@ import ( "hash/fnv" "io" - "github.com/v2ray/v2ray-core/common/alloc" "github.com/v2ray/v2ray-core/common/crypto" "github.com/v2ray/v2ray-core/common/log" "github.com/v2ray/v2ray-core/common/protocol" @@ -99,33 +98,32 @@ func (this *ClientSession) DecodeResponseHeader(reader io.Reader) (*protocol.Res aesStream := crypto.NewAesDecryptionStream(this.responseBodyKey, this.responseBodyIV) this.responseReader = crypto.NewCryptionReader(aesStream, reader) - buffer := alloc.NewSmallBuffer() - defer buffer.Release() + buffer := make([]byte, 256) - _, err := io.ReadFull(this.responseReader, buffer.Value[:4]) + _, err := io.ReadFull(this.responseReader, buffer[:4]) if err != nil { log.Info("Raw: Failed to read response header: ", err) return nil, err } - if buffer.Value[0] != this.responseHeader { - log.Info("Raw: Unexpected response header. Expecting ", this.responseHeader, " but actually ", buffer.Value[0]) + if buffer[0] != this.responseHeader { + log.Info("Raw: Unexpected response header. Expecting ", this.responseHeader, " but actually ", buffer[0]) return nil, transport.ErrCorruptedPacket } header := &protocol.ResponseHeader{ - Option: protocol.ResponseOption(buffer.Value[1]), + Option: protocol.ResponseOption(buffer[1]), } - if buffer.Value[2] != 0 { - cmdId := buffer.Value[2] - dataLen := int(buffer.Value[3]) - _, err := io.ReadFull(this.responseReader, buffer.Value[:dataLen]) + if buffer[2] != 0 { + cmdId := buffer[2] + dataLen := int(buffer[3]) + _, err := io.ReadFull(this.responseReader, buffer[:dataLen]) if err != nil { log.Info("Raw: Failed to read response command: ", err) return nil, err } - data := buffer.Value[:dataLen] + data := buffer[:dataLen] command, err := UnmarshalCommand(cmdId, data) if err == nil { header.Command = command