| package sarama | |
| import ( | |
| "github.com/klauspost/compress/zstd" | |
| "sync" | |
| ) | |
| 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 | |
| } |