1
0
mirror of https://github.com/golang/go synced 2024-11-22 03:24:41 -07:00

compress: add comments to gzip and zlib.

Fixes #2939.

R=rsc, r
CC=golang-dev
https://golang.org/cl/5655050
This commit is contained in:
Nigel Tao 2012-02-11 09:42:07 +11:00
parent e0b2ce3401
commit 18f518362b
4 changed files with 20 additions and 6 deletions

View File

@ -34,8 +34,12 @@ func makeReader(r io.Reader) flate.Reader {
return bufio.NewReader(r) return bufio.NewReader(r)
} }
var ErrHeader = errors.New("invalid gzip header") var (
var ErrChecksum = errors.New("gzip checksum error") // ErrChecksum is returned when reading GZIP data that has an invalid checksum.
ErrChecksum = errors.New("gzip: invalid checksum")
// ErrHeader is returned when reading GZIP data that has an invalid header.
ErrHeader = errors.New("gzip: invalid header")
)
// The gzip file stores a header giving metadata about the compressed file. // The gzip file stores a header giving metadata about the compressed file.
// That header is exposed as the fields of the Writer and Reader structs. // That header is exposed as the fields of the Writer and Reader structs.

View File

@ -130,6 +130,8 @@ func (z *Writer) writeString(s string) (err error) {
return err return err
} }
// Write writes a compressed form of p to the underlying io.Writer. The
// compressed bytes are not necessarily flushed until the Writer is closed.
func (z *Writer) Write(p []byte) (int, error) { func (z *Writer) Write(p []byte) (int, error) {
if z.err != nil { if z.err != nil {
return 0, z.err return 0, z.err

View File

@ -34,9 +34,14 @@ import (
const zlibDeflate = 8 const zlibDeflate = 8
var ErrChecksum = errors.New("zlib checksum error") var (
var ErrHeader = errors.New("invalid zlib header") // ErrChecksum is returned when reading ZLIB data that has an invalid checksum.
var ErrDictionary = errors.New("invalid zlib dictionary") ErrChecksum = errors.New("zlib: invalid checksum")
// ErrDictionary is returned when reading ZLIB data that has an invalid dictionary.
ErrDictionary = errors.New("zlib: invalid dictionary")
// ErrHeader is returned when reading ZLIB data that has an invalid header.
ErrHeader = errors.New("zlib: invalid header")
)
type reader struct { type reader struct {
r flate.Reader r flate.Reader

View File

@ -119,6 +119,9 @@ func (z *Writer) writeHeader() (err error) {
return nil return nil
} }
// Write writes a compressed form of p to the underlying io.Writer. The
// compressed bytes are not necessarily flushed until the Writer is closed or
// explicitly flushed.
func (z *Writer) Write(p []byte) (n int, err error) { func (z *Writer) Write(p []byte) (n int, err error) {
if !z.wroteHeader { if !z.wroteHeader {
z.err = z.writeHeader() z.err = z.writeHeader()
@ -138,7 +141,7 @@ func (z *Writer) Write(p []byte) (n int, err error) {
return return
} }
// Flush flushes the underlying compressor. // Flush flushes the Writer to its underlying io.Writer.
func (z *Writer) Flush() error { func (z *Writer) Flush() error {
if !z.wroteHeader { if !z.wroteHeader {
z.err = z.writeHeader() z.err = z.writeHeader()