diff --git a/common/buf/buffered_writer.go b/common/buf/buffered_writer.go index 2ab504dbf..b3ff77a37 100644 --- a/common/buf/buffered_writer.go +++ b/common/buf/buffered_writer.go @@ -15,6 +15,7 @@ func NewBufferedWriter(writer io.Writer) *BufferedWriter { return NewBufferedWriterSize(writer, 1024) } +// NewBufferedWriterSize creates a BufferedWriter with specified buffer size. func NewBufferedWriterSize(writer io.Writer, size uint32) *BufferedWriter { return &BufferedWriter{ writer: writer, diff --git a/common/buf/buffered_writer_test.go b/common/buf/buffered_writer_test.go index c2254dd54..97cb923be 100644 --- a/common/buf/buffered_writer_test.go +++ b/common/buf/buffered_writer_test.go @@ -4,6 +4,7 @@ import ( "crypto/rand" "testing" + "v2ray.com/core/common" . "v2ray.com/core/common/buf" "v2ray.com/core/testing/assert" ) @@ -37,7 +38,7 @@ func TestBufferedWriterLargePayload(t *testing.T) { assert.Bool(writer.IsBuffered()).IsTrue() payload := make([]byte, 64*1024) - rand.Read(payload) + common.Must2(rand.Read(payload)) nBytes, err := writer.Write(payload[:512]) assert.Int(nBytes).Equals(512) diff --git a/common/buf/io.go b/common/buf/io.go index 0fe9e4f9e..c66a1f782 100644 --- a/common/buf/io.go +++ b/common/buf/io.go @@ -11,6 +11,7 @@ type Reader interface { Read() (MultiBuffer, error) } +// ErrReadTimeout is an error that happens with IO timeout. var ErrReadTimeout = newError("IO timeout") type TimeoutReader interface {