blob: 7c9951acc8a010aa78fdb7411b57530055fad62f [file]
package sarama
import (
"sync"
"github.com/klauspost/compress/zstd"
)
var (
zstdDec *zstd.Decoder
zstdEnc *zstd.Encoder
zstdEncOnce, zstdDecOnce sync.Once
)
func zstdDecompress(dst, src []byte) ([]byte, error) {
zstdDecOnce.Do(func() {
zstdDec, _ = zstd.NewReader(nil)
})
return zstdDec.DecodeAll(src, dst)
}
func zstdCompress(dst, src []byte) ([]byte, error) {
zstdEncOnce.Do(func() {
zstdEnc, _ = zstd.NewWriter(nil, zstd.WithZeroFrames(true))
})
return zstdEnc.EncodeAll(src, dst), nil
}