Documentation
¶
Overview ¶
Package zstd provides Zstandard compression support for omnistorage.
Zstandard (zstd) offers better compression ratios than gzip at similar speeds, and significantly faster decompression. It's ideal for:
- Log files and structured data (NDJSON, CSV)
- Large file archives
- Real-time compression where decompression speed matters
Basic usage:
fileWriter, _ := backend.NewWriter(ctx, "data.ndjson.zst") zstdWriter, _ := zstd.NewWriter(fileWriter) // Write data... zstdWriter.Close()
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CompressionLevel ¶
type CompressionLevel int
CompressionLevel represents zstd compression levels.
const ( // SpeedFastest provides the fastest compression speed. // Compression ratio is lower but speed is maximized. SpeedFastest CompressionLevel = iota + 1 // SpeedDefault provides a good balance of speed and compression. // This is the recommended level for most use cases. SpeedDefault // SpeedBetterCompression provides better compression at slower speed. SpeedBetterCompression // SpeedBestCompression provides the best compression ratio. // Significantly slower than other levels. SpeedBestCompression )
type Reader ¶
type Reader struct {
// contains filtered or unexported fields
}
Reader wraps an io.ReadCloser with zstd decompression.
func NewReader ¶
func NewReader(r io.ReadCloser) (*Reader, error)
NewReader creates a new zstd reader that decompresses data from the underlying reader.
func NewReaderWithOptions ¶
NewReaderWithOptions creates a new zstd reader with custom options. This allows fine-grained control over decompression parameters.
type Writer ¶
type Writer struct {
// contains filtered or unexported fields
}
Writer wraps an io.WriteCloser with zstd compression.
func NewWriter ¶
func NewWriter(w io.WriteCloser) (*Writer, error)
NewWriter creates a new zstd writer with default compression level.
func NewWriterLevel ¶
func NewWriterLevel(w io.WriteCloser, level CompressionLevel) (*Writer, error)
NewWriterLevel creates a new zstd writer with the specified compression level.
func NewWriterWithOptions ¶
NewWriterWithOptions creates a new zstd writer with custom options. This allows fine-grained control over compression parameters.
func (*Writer) Close ¶
Close flushes any remaining data and closes both the zstd encoder and the underlying writer.