diff --git a/app/proxyman/mux/mux_test.go b/app/proxyman/mux/mux_test.go index c6ddc7cfd..f0d495ade 100644 --- a/app/proxyman/mux/mux_test.go +++ b/app/proxyman/mux/mux_test.go @@ -43,7 +43,7 @@ func TestReaderWriter(t *testing.T) { writePayload := func(writer *Writer, payload ...byte) error { b := buf.New() - b.Append(payload) + b.Write(payload) return writer.WriteMultiBuffer(buf.NewMultiBufferValue(b)) } diff --git a/common/buf/buffer.go b/common/buf/buffer.go index e7583fccb..4346eb334 100644 --- a/common/buf/buffer.go +++ b/common/buf/buffer.go @@ -36,15 +36,8 @@ func (b *Buffer) Clear() { } // AppendBytes appends one or more bytes to the end of the buffer. -func (b *Buffer) AppendBytes(bytes ...byte) int { - return b.Append(bytes) -} - -// Append appends a byte array to the end of the buffer. -func (b *Buffer) Append(data []byte) int { - nBytes := copy(b.v[b.end:], data) - b.end += int32(nBytes) - return nBytes +func (b *Buffer) AppendBytes(bytes ...byte) (int, error) { + return b.Write(bytes) } // AppendSupplier appends the content of a BytesWriter to the buffer. diff --git a/common/buf/buffer_test.go b/common/buf/buffer_test.go index e00ba28f2..d753cbdb4 100644 --- a/common/buf/buffer_test.go +++ b/common/buf/buffer_test.go @@ -15,7 +15,7 @@ func TestBufferClear(t *testing.T) { defer buffer.Release() payload := "Bytes" - buffer.Append([]byte(payload)) + buffer.Write([]byte(payload)) assert(buffer.Len(), Equals, int32(len(payload))) buffer.Clear() diff --git a/common/crypto/auth_test.go b/common/crypto/auth_test.go index d31826255..f905b150a 100644 --- a/common/crypto/auth_test.go +++ b/common/crypto/auth_test.go @@ -29,7 +29,7 @@ func TestAuthenticationReaderWriter(t *testing.T) { rand.Read(rawPayload) payload := buf.NewSize(payloadSize) - payload.Append(rawPayload) + payload.Write(rawPayload) assert(payload.Len(), Equals, int32(payloadSize)) cache := buf.NewSize(160 * 1024) @@ -94,11 +94,11 @@ func TestAuthenticationReaderWriterPacket(t *testing.T) { var payload buf.MultiBuffer pb1 := buf.New() - pb1.Append([]byte("abcd")) + pb1.Write([]byte("abcd")) payload.Append(pb1) pb2 := buf.New() - pb2.Append([]byte("efgh")) + pb2.Write([]byte("efgh")) payload.Append(pb2) assert(writer.WriteMultiBuffer(payload), IsNil) diff --git a/proxy/shadowsocks/ota_test.go b/proxy/shadowsocks/ota_test.go index 106466389..3281e09c0 100644 --- a/proxy/shadowsocks/ota_test.go +++ b/proxy/shadowsocks/ota_test.go @@ -29,7 +29,7 @@ func TestNormalChunkWriting(t *testing.T) { []byte{21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36}))) b := buf.NewSize(256) - b.Append([]byte{11, 12, 13, 14, 15, 16, 17, 18}) + b.Write([]byte{11, 12, 13, 14, 15, 16, 17, 18}) err := writer.WriteMultiBuffer(buf.NewMultiBufferValue(b)) assert(err, IsNil) assert(buffer.Bytes(), Equals, []byte{0, 8, 39, 228, 69, 96, 133, 39, 254, 26, 201, 70, 11, 12, 13, 14, 15, 16, 17, 18}) diff --git a/proxy/shadowsocks/protocol.go b/proxy/shadowsocks/protocol.go index 939cd9cbb..cd1ba64de 100644 --- a/proxy/shadowsocks/protocol.go +++ b/proxy/shadowsocks/protocol.go @@ -232,7 +232,7 @@ func EncodeUDPPacket(request *protocol.RequestHeader, payload []byte) (*buf.Buff return nil, newError("failed to write address").Base(err) } - buffer.Append(payload) + buffer.Write(payload) if !account.Cipher.IsAEAD() && request.Option.Has(RequestOptionOneTimeAuth) { authenticator := NewAuthenticator(HeaderKeyGenerator(account.Key, iv)) diff --git a/proxy/shadowsocks/protocol_test.go b/proxy/shadowsocks/protocol_test.go index 65f72a139..2a1fd855c 100644 --- a/proxy/shadowsocks/protocol_test.go +++ b/proxy/shadowsocks/protocol_test.go @@ -105,7 +105,7 @@ func TestTCPRequest(t *testing.T) { runTest := func(request *protocol.RequestHeader, payload []byte) { data := buf.New() defer data.Release() - data.Append(payload) + data.Write(payload) cache := buf.New() defer cache.Release() diff --git a/proxy/socks/protocol.go b/proxy/socks/protocol.go index bd3a11823..c91d58664 100644 --- a/proxy/socks/protocol.go +++ b/proxy/socks/protocol.go @@ -255,7 +255,7 @@ func writeSocks4Response(writer io.Writer, errCode byte, address net.Address, po buffer.AppendBytes(0x00, errCode) common.Must(buffer.AppendSupplier(serial.WriteUint16(port.Value()))) - buffer.Append(address.IP()) + buffer.Write(address.IP()) _, err := writer.Write(buffer.Bytes()) return err } @@ -292,7 +292,7 @@ func EncodeUDPPacket(request *protocol.RequestHeader, data []byte) (*buf.Buffer, b.Release() return nil, err } - b.Append(data) + b.Write(data) return b, nil } @@ -358,9 +358,9 @@ func ClientHandshake(request *protocol.RequestHeader, reader io.Reader, writer i account := rawAccount.(*Account) b.AppendBytes(0x01, byte(len(account.Username))) - b.Append([]byte(account.Username)) + b.Write([]byte(account.Username)) b.AppendBytes(byte(len(account.Password))) - b.Append([]byte(account.Password)) + b.Write([]byte(account.Password)) } if _, err := writer.Write(b.Bytes()); err != nil { diff --git a/proxy/socks/protocol_test.go b/proxy/socks/protocol_test.go index 5857471bc..325f3c7bf 100644 --- a/proxy/socks/protocol_test.go +++ b/proxy/socks/protocol_test.go @@ -24,7 +24,7 @@ func TestUDPEncoding(t *testing.T) { content := []byte{'a'} payload := buf.New() - payload.Append(content) + payload.Write(content) assert(writer.WriteMultiBuffer(buf.NewMultiBufferValue(payload)), IsNil) reader := NewUDPReader(b) diff --git a/proxy/vmess/encoding/client.go b/proxy/vmess/encoding/client.go index b087faecd..407aeed33 100644 --- a/proxy/vmess/encoding/client.go +++ b/proxy/vmess/encoding/client.go @@ -70,8 +70,8 @@ func (c *ClientSession) EncodeRequestHeader(header *protocol.RequestHeader, writ defer buffer.Release() buffer.AppendBytes(Version) - buffer.Append(c.requestBodyIV[:]) - buffer.Append(c.requestBodyKey[:]) + buffer.Write(c.requestBodyIV[:]) + buffer.Write(c.requestBodyKey[:]) buffer.AppendBytes(c.responseHeader, byte(header.Option)) padingLen := dice.Roll(16) diff --git a/proxy/vmess/encoding/encoding_test.go b/proxy/vmess/encoding/encoding_test.go index d372189a3..785508c91 100644 --- a/proxy/vmess/encoding/encoding_test.go +++ b/proxy/vmess/encoding/encoding_test.go @@ -42,7 +42,7 @@ func TestRequestSerialization(t *testing.T) { common.Must(client.EncodeRequestHeader(expectedRequest, buffer)) buffer2 := buf.New() - buffer2.Append(buffer.Bytes()) + buffer2.Write(buffer.Bytes()) sessionHistory := NewSessionHistory() defer common.Close(sessionHistory) @@ -95,7 +95,7 @@ func TestInvalidRequest(t *testing.T) { common.Must(client.EncodeRequestHeader(expectedRequest, buffer)) buffer2 := buf.New() - buffer2.Append(buffer.Bytes()) + buffer2.Write(buffer.Bytes()) sessionHistory := NewSessionHistory() defer common.Close(sessionHistory) @@ -135,7 +135,7 @@ func TestMuxRequest(t *testing.T) { common.Must(client.EncodeRequestHeader(expectedRequest, buffer)) buffer2 := buf.New() - buffer2.Append(buffer.Bytes()) + buffer2.Write(buffer.Bytes()) sessionHistory := NewSessionHistory() defer common.Close(sessionHistory) diff --git a/transport/internet/headers/srtp/srtp_test.go b/transport/internet/headers/srtp/srtp_test.go index 8856df80a..9c787013b 100644 --- a/transport/internet/headers/srtp/srtp_test.go +++ b/transport/internet/headers/srtp/srtp_test.go @@ -20,7 +20,7 @@ func TestSRTPWrite(t *testing.T) { payload := buf.New() payload.AppendSupplier(srtp.Write) - payload.Append(content) + payload.Write(content) assert(payload.Len(), Equals, int32(len(content))+srtp.Size()) } diff --git a/transport/internet/headers/utp/utp_test.go b/transport/internet/headers/utp/utp_test.go index 845f8b1fb..0eb65dc53 100644 --- a/transport/internet/headers/utp/utp_test.go +++ b/transport/internet/headers/utp/utp_test.go @@ -20,7 +20,7 @@ func TestUTPWrite(t *testing.T) { payload := buf.New() payload.AppendSupplier(utp.Write) - payload.Append(content) + payload.Write(content) assert(payload.Len(), Equals, int32(len(content))+utp.Size()) } diff --git a/transport/internet/kcp/io.go b/transport/internet/kcp/io.go index a8e5f67b3..8fcd879ff 100644 --- a/transport/internet/kcp/io.go +++ b/transport/internet/kcp/io.go @@ -85,7 +85,7 @@ func (w *KCPPacketWriter) Write(b []byte) (int, error) { return len(eb), nil })) } else { - bb.Append(b) + bb.Write(b) } _, err := w.Writer.Write(bb.Bytes()) diff --git a/transport/internet/kcp/segment.go b/transport/internet/kcp/segment.go index b5d10de4a..e4e9e8530 100755 --- a/transport/internet/kcp/segment.go +++ b/transport/internet/kcp/segment.go @@ -76,7 +76,7 @@ func (s *DataSegment) parse(conv uint16, cmd Command, opt SegmentOption, buf []b return false, nil } s.Data().Clear() - s.Data().Append(buf[:dataLen]) + s.Data().Write(buf[:dataLen]) buf = buf[dataLen:] return true, buf diff --git a/transport/internet/kcp/segment_test.go b/transport/internet/kcp/segment_test.go index 2f1ba70a8..7dfe60552 100644 --- a/transport/internet/kcp/segment_test.go +++ b/transport/internet/kcp/segment_test.go @@ -24,7 +24,7 @@ func TestDataSegment(t *testing.T) { Number: 4, SendingNext: 5, } - seg.Data().Append([]byte{'a', 'b', 'c', 'd'}) + seg.Data().Write([]byte{'a', 'b', 'c', 'd'}) nBytes := seg.ByteSize() bytes := make([]byte, nBytes) diff --git a/transport/pipe/pipe_test.go b/transport/pipe/pipe_test.go index 14fa2de91..beace25f9 100644 --- a/transport/pipe/pipe_test.go +++ b/transport/pipe/pipe_test.go @@ -15,7 +15,7 @@ func TestPipeReadWrite(t *testing.T) { pReader, pWriter := New() payload := []byte{'a', 'b', 'c', 'd'} b := buf.New() - b.Append(payload) + b.Write(payload) assert(pWriter.WriteMultiBuffer(buf.NewMultiBufferValue(b)), IsNil) rb, err := pReader.ReadMultiBuffer() @@ -29,7 +29,7 @@ func TestPipeCloseError(t *testing.T) { pReader, pWriter := New() payload := []byte{'a', 'b', 'c', 'd'} b := buf.New() - b.Append(payload) + b.Write(payload) assert(pWriter.WriteMultiBuffer(buf.NewMultiBufferValue(b)), IsNil) pWriter.CloseError() @@ -44,7 +44,7 @@ func TestPipeClose(t *testing.T) { pReader, pWriter := New() payload := []byte{'a', 'b', 'c', 'd'} b := buf.New() - b.Append(payload) + b.Write(payload) assert(pWriter.WriteMultiBuffer(buf.NewMultiBufferValue(b)), IsNil) assert(pWriter.Close(), IsNil)