1
0
mirror of https://github.com/golang/go synced 2024-11-11 21:50:21 -07:00

compress/*: note that NewReader may introduce buffering

Fixes #8309.

LGTM=r
R=golang-codereviews, r
CC=golang-codereviews, iant
https://golang.org/cl/147380043
This commit is contained in:
Russ Cox 2014-09-30 12:31:18 -04:00
parent 0239595306
commit a6abe22eb6
4 changed files with 11 additions and 4 deletions

View File

@ -42,6 +42,8 @@ type reader struct {
}
// NewReader returns an io.Reader which decompresses bzip2 data from r.
// If r does not also implement io.ByteReader,
// the decompressor may read more data than necessary from r.
func NewReader(r io.Reader) io.Reader {
bz2 := new(reader)
bz2.br = newBitReader(r)

View File

@ -680,9 +680,11 @@ func makeReader(r io.Reader) Reader {
}
// NewReader returns a new ReadCloser that can be used
// to read the uncompressed version of r. It is the caller's
// responsibility to call Close on the ReadCloser when
// finished reading.
// to read the uncompressed version of r.
// If r does not also implement io.ByteReader,
// the decompressor may read more data than necessary from r.
// It is the caller's responsibility to call Close on the ReadCloser
// when finished reading.
func NewReader(r io.Reader) io.ReadCloser {
var f decompressor
f.bits = new([maxLit + maxDist]int)

View File

@ -77,7 +77,8 @@ type Reader struct {
}
// NewReader creates a new Reader reading the given reader.
// The implementation buffers input and may read more data than necessary from r.
// If r does not also implement io.ByteReader,
// the decompressor may read more data than necessary from r.
// It is the caller's responsibility to call Close on the Reader when done.
func NewReader(r io.Reader) (*Reader, error) {
z := new(Reader)

View File

@ -222,6 +222,8 @@ func (d *decoder) Close() error {
// NewReader creates a new io.ReadCloser.
// Reads from the returned io.ReadCloser read and decompress data from r.
// If r does not also implement io.ByteReader,
// the decompressor may read more data than necessary from r.
// It is the caller's responsibility to call Close on the ReadCloser when
// finished reading.
// The number of bits to use for literal codes, litWidth, must be in the