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 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 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
Benchmark tool to compare performance between multiple compression implementations.
|
Benchmark tool to compare performance between multiple compression implementations. |
tool/bitgen
BitGen to generate a binary from a BitGen formatting input.
|
BitGen to generate a binary from a BitGen formatting input. |