| "github.com/eapache/go-xerial-snappy" |
| lz4ReaderPool = sync.Pool{ |
| New: func() interface{} { |
| return lz4.NewReader(nil) |
| func decompress(cc CompressionCodec, data []byte) ([]byte, error) { |
| readerIntf = gzipReaderPool.Get() |
| reader = readerIntf.(*gzip.Reader) |
| reader, err = gzip.NewReader(bytes.NewReader(data)) |
| defer gzipReaderPool.Put(reader) |
| if err := reader.Reset(bytes.NewReader(data)); err != nil { |
| return ioutil.ReadAll(reader) |
| return snappy.Decode(data) |
| reader := lz4ReaderPool.Get().(*lz4.Reader) |
| defer lz4ReaderPool.Put(reader) |
| reader.Reset(bytes.NewReader(data)) |
| return ioutil.ReadAll(reader) |
| return zstdDecompress(nil, data) |
| return nil, PacketDecodingError{fmt.Sprintf("invalid compression specified (%d)", cc)} |