Documentation
¶
Overview ¶
Package compress is a collection of compression libraries.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BufferedReader ¶
type BufferedReader interface {
io.Reader
// Buffered returns the number of bytes currently buffered.
//
// This value becomes invalid following the next Read/Discard operation.
Buffered() int
// Peek returns the next n bytes without advancing the reader.
//
// If Peek returns fewer than n bytes, it also returns an error explaining
// why the peek is short. Peek must support peeking of at least 8 bytes.
// If 0 <= n <= Buffered(), Peek is guaranteed to succeed without reading
// from the underlying io.Reader.
//
// This result becomes invalid following the next Read/Discard operation.
Peek(n int) ([]byte, error)
// Discard skips the next n bytes, returning the number of bytes discarded.
//
// If Discard skips fewer than n bytes, it also returns an error.
// If 0 <= n <= Buffered(), Discard is guaranteed to succeed without reading
// from the underlying io.Reader.
Discard(n int) (int, error)
}
BufferedReader is an interface accepted by all decompression Readers. It guarantees that the decompressor never reads more data than is necessary from the underlying io.Reader. Since BufferedReader allows a decompressor to peek at bytes further along in the stream without advancing the read pointer, decompression can experience a significant performance gain when provided a reader that satisfies this interface. Thus, a decompressor will prefer this interface over ByteReader for performance reasons.
The bufio.Reader satisfies this interface.
type ByteReader ¶
type ByteReader interface {
io.Reader
io.ByteReader
}
ByteReader is an interface accepted by all decompression Readers. It guarantees that the decompressor never reads more data than is necessary from the underlying io.Reader.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package brotli implements the Brotli compressed data format, described in RFC 7932.
|
Package brotli implements the Brotli compressed data format, described in RFC 7932. |
|
Package bzip2 implements the BZip2 compressed data format.
|
Package bzip2 implements the BZip2 compressed data format. |
|
internal/sais
Package sais implements a linear time suffix array algorithm.
|
Package sais implements a linear time suffix array algorithm. |
|
Package flate implements the DEFLATE compressed data format, described in RFC 1951.
|
Package flate implements the DEFLATE compressed data format, described in RFC 1951. |
|
Package internal is a collection of common compression algorithms.
|
Package internal is a collection of common compression algorithms. |
|
cgo/brotli
Package brotli implements the Brotli compressed data format using C wrappers.
|
Package brotli implements the Brotli compressed data format using C wrappers. |
|
cgo/bzip2
Package bzip2 implements the BZip2 compressed data format using C wrappers.
|
Package bzip2 implements the BZip2 compressed data format using C wrappers. |
|
cgo/flate
Package flate implements the DEFLATE compressed data format, described in RFC 1951, using C wrappers.
|
Package flate implements the DEFLATE compressed data format, described in RFC 1951, using C wrappers. |
|
cgo/lzma
Package lzma implements the LZMA2 compressed data format using C wrappers.
|
Package lzma implements the LZMA2 compressed data format using C wrappers. |
|
cgo/zstd
Package zstd implements the Zstandard compressed data format using C wrappers.
|
Package zstd implements the Zstandard compressed data format using C wrappers. |
|
errors
Package errors implements functions to manipulate compression errors.
|
Package errors implements functions to manipulate compression errors. |
|
prefix
Package prefix implements bit readers and writers that use prefix encoding.
|
Package prefix implements bit readers and writers that use prefix encoding. |
|
testutil
Package testutil is a collection of testing helper methods.
|
Package testutil is a collection of testing helper methods. |
|
tool/bench
command
Benchmark tool to compare performance between multiple compression implementations.
|
Benchmark tool to compare performance between multiple compression implementations. |
|
tool/bitgen
command
BitGen to generate a binary from a BitGen formatting input.
|
BitGen to generate a binary from a BitGen formatting input. |
|
Package xflate implements the XFLATE compressed data format.
|
Package xflate implements the XFLATE compressed data format. |
|
internal/meta
Package meta implements the XFLATE meta encoding scheme.
|
Package meta implements the XFLATE meta encoding scheme. |