import "github.com/dsnet/compress"
Package compress is a collection of compression libraries.
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 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.
type Error interface { error CompressError() // IsDeprecated reports the use of a deprecated and unsupported feature. IsDeprecated() bool // IsCorrupted reports whether the input stream was corrupted. IsCorrupted() bool }
The Error interface identifies all compression related errors.
Path | Synopsis |
---|---|
brotli | Package brotli implements the Brotli compressed data format, described in RFC 7932. |
bzip2 | Package bzip2 implements the BZip2 compressed data format. |
bzip2/internal/sais | Package sais implements a linear time suffix array algorithm. |
flate | Package flate implements the DEFLATE compressed data format, described in RFC 1951. |
internal | Package internal is a collection of common compression algorithms. |
internal/cgo/brotli | Package brotli implements the Brotli compressed data format using C wrappers. |
internal/cgo/bzip2 | Package bzip2 implements the BZip2 compressed data format using C wrappers. |
internal/cgo/flate | Package flate implements the DEFLATE compressed data format, described in RFC 1951, using C wrappers. |
internal/cgo/lzma | Package lzma implements the LZMA2 compressed data format using C wrappers. |
internal/cgo/zstd | Package zstd implements the Zstandard compressed data format using C wrappers. |
internal/errors | Package errors implements functions to manipulate compression errors. |
internal/prefix | Package prefix implements bit readers and writers that use prefix encoding. |
internal/testutil | Package testutil is a collection of testing helper methods. |
internal/tool/bench | Benchmark tool to compare performance between multiple compression implementations. |
internal/tool/bitgen | BitGen to generate a binary from a BitGen formatting input. |
xflate | Package xflate implements the XFLATE compressed data format. |
xflate/internal/meta | Package meta implements the XFLATE meta encoding scheme. |
Package compress imports 3 packages (graph) and is imported by 3 packages. Updated 2020-11-24. Refresh now. Tools for package owners.