Documentation
¶
Index ¶
- Variables
- type Compressor
- type GzipCompressor
- func (c *GzipCompressor) Compress(data []byte, level int) ([]byte, error)
- func (c *GzipCompressor) DefaultLevel() int
- func (c *GzipCompressor) Extension() string
- func (c *GzipCompressor) NewReader(r io.Reader) (io.ReadCloser, error)
- func (c *GzipCompressor) NewWriter(w io.Writer, level int) io.WriteCloser
- type LZ4Compressor
- func (c *LZ4Compressor) Compress(data []byte, level int) ([]byte, error)
- func (c *LZ4Compressor) DefaultLevel() int
- func (c *LZ4Compressor) Extension() string
- func (c *LZ4Compressor) NewReader(r io.Reader) (io.ReadCloser, error)
- func (c *LZ4Compressor) NewWriter(w io.Writer, level int) io.WriteCloser
- type NoneCompressor
- type ZstdCompressor
- func (c *ZstdCompressor) Compress(data []byte, level int) ([]byte, error)
- func (c *ZstdCompressor) DefaultLevel() int
- func (c *ZstdCompressor) Extension() string
- func (c *ZstdCompressor) NewReader(r io.Reader) (io.ReadCloser, error)
- func (c *ZstdCompressor) NewWriter(w io.Writer, level int) io.WriteCloser
- func (c *ZstdCompressor) WithWorkers(workers int) *ZstdCompressor
Constants ¶
This section is empty.
Variables ¶
var ErrUnsupportedCompression = errors.New("unsupported compression type")
ErrUnsupportedCompression is returned when an unsupported compression type is requested
Functions ¶
This section is empty.
Types ¶
type Compressor ¶
type Compressor interface {
// Compress compresses the input data
Compress(data []byte, level int) ([]byte, error)
// NewWriter creates a streaming compression writer
NewWriter(w io.Writer, level int) io.WriteCloser
// NewReader creates a streaming decompression reader
NewReader(r io.Reader) (io.ReadCloser, error)
// Extension returns the file extension for this compression (e.g., ".zst", ".lz4", ".gz")
Extension() string
// DefaultLevel returns the default compression level
DefaultLevel() int
}
Compressor defines the interface for compression handlers
func GetCompressor ¶
func GetCompressor(compression string) (Compressor, error)
GetCompressor returns the appropriate compressor based on the compression string
type GzipCompressor ¶
type GzipCompressor struct{}
GzipCompressor handles Gzip compression
func NewGzipCompressor ¶
func NewGzipCompressor() *GzipCompressor
NewGzipCompressor creates a new Gzip compressor
func (*GzipCompressor) Compress ¶
func (c *GzipCompressor) Compress(data []byte, level int) ([]byte, error)
Compress compresses data using Gzip
func (*GzipCompressor) DefaultLevel ¶
func (c *GzipCompressor) DefaultLevel() int
DefaultLevel returns the default compression level for Gzip
func (*GzipCompressor) Extension ¶
func (c *GzipCompressor) Extension() string
Extension returns the file extension for Gzip compression
func (*GzipCompressor) NewReader ¶ added in v1.5.3
func (c *GzipCompressor) NewReader(r io.Reader) (io.ReadCloser, error)
NewReader creates a streaming gzip decompression reader
func (*GzipCompressor) NewWriter ¶ added in v1.4.0
func (c *GzipCompressor) NewWriter(w io.Writer, level int) io.WriteCloser
NewWriter creates a streaming gzip compression writer
type LZ4Compressor ¶
type LZ4Compressor struct{}
LZ4Compressor handles LZ4 compression
func NewLZ4Compressor ¶
func NewLZ4Compressor() *LZ4Compressor
NewLZ4Compressor creates a new LZ4 compressor
func (*LZ4Compressor) Compress ¶
func (c *LZ4Compressor) Compress(data []byte, level int) ([]byte, error)
Compress compresses data using LZ4
func (*LZ4Compressor) DefaultLevel ¶
func (c *LZ4Compressor) DefaultLevel() int
DefaultLevel returns the default compression level for LZ4
func (*LZ4Compressor) Extension ¶
func (c *LZ4Compressor) Extension() string
Extension returns the file extension for LZ4 compression
func (*LZ4Compressor) NewReader ¶ added in v1.5.3
func (c *LZ4Compressor) NewReader(r io.Reader) (io.ReadCloser, error)
NewReader creates a streaming lz4 decompression reader
func (*LZ4Compressor) NewWriter ¶ added in v1.4.0
func (c *LZ4Compressor) NewWriter(w io.Writer, level int) io.WriteCloser
NewWriter creates a streaming lz4 compression writer
type NoneCompressor ¶
type NoneCompressor struct{}
NoneCompressor is a no-op compressor that returns data unchanged
func NewNoneCompressor ¶
func NewNoneCompressor() *NoneCompressor
NewNoneCompressor creates a new no-op compressor
func (*NoneCompressor) Compress ¶
func (c *NoneCompressor) Compress(data []byte, _ int) ([]byte, error)
Compress returns the data unchanged (no compression)
func (*NoneCompressor) DefaultLevel ¶
func (c *NoneCompressor) DefaultLevel() int
DefaultLevel returns 0 (no compression level needed)
func (*NoneCompressor) Extension ¶
func (c *NoneCompressor) Extension() string
Extension returns an empty string (no compression extension)
func (*NoneCompressor) NewReader ¶ added in v1.5.3
func (c *NoneCompressor) NewReader(r io.Reader) (io.ReadCloser, error)
NewReader creates a no-op reader (passes through without decompression)
func (*NoneCompressor) NewWriter ¶ added in v1.4.0
func (c *NoneCompressor) NewWriter(w io.Writer, _ int) io.WriteCloser
NewWriter creates a no-op writer (passes through without compression)
type ZstdCompressor ¶
type ZstdCompressor struct {
// contains filtered or unexported fields
}
ZstdCompressor handles Zstandard compression
func NewZstdCompressor ¶
func NewZstdCompressor() *ZstdCompressor
NewZstdCompressor creates a new Zstandard compressor
func (*ZstdCompressor) Compress ¶
func (c *ZstdCompressor) Compress(data []byte, level int) ([]byte, error)
Compress compresses data using Zstandard
func (*ZstdCompressor) DefaultLevel ¶
func (c *ZstdCompressor) DefaultLevel() int
DefaultLevel returns the default compression level for Zstandard
func (*ZstdCompressor) Extension ¶
func (c *ZstdCompressor) Extension() string
Extension returns the file extension for Zstandard compression
func (*ZstdCompressor) NewReader ¶ added in v1.5.3
func (c *ZstdCompressor) NewReader(r io.Reader) (io.ReadCloser, error)
NewReader creates a streaming zstd decompression reader
func (*ZstdCompressor) NewWriter ¶ added in v1.4.0
func (c *ZstdCompressor) NewWriter(w io.Writer, level int) io.WriteCloser
NewWriter creates a streaming zstd compression writer
func (*ZstdCompressor) WithWorkers ¶
func (c *ZstdCompressor) WithWorkers(workers int) *ZstdCompressor
WithWorkers sets the number of workers for compression