1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package compress
- import (
- "io"
- "github.com/segmentio/kafka-go/compress/gzip"
- "github.com/segmentio/kafka-go/compress/lz4"
- "github.com/segmentio/kafka-go/compress/snappy"
- "github.com/segmentio/kafka-go/compress/zstd"
- )
- type Compression int8
- const (
- Gzip Compression = 1
- Snappy Compression = 2
- Lz4 Compression = 3
- Zstd Compression = 4
- )
- func (c Compression) Codec() Codec {
- if i := int(c); i >= 0 && i < len(Codecs) {
- return Codecs[i]
- }
- return nil
- }
- func (c Compression) String() string {
- if codec := c.Codec(); codec != nil {
- return codec.Name()
- }
- return "uncompressed"
- }
- type Codec interface {
-
- Code() int8
-
- Name() string
-
- NewReader(r io.Reader) io.ReadCloser
-
- NewWriter(w io.Writer) io.WriteCloser
- }
- var (
-
- GzipCodec gzip.Codec
-
- SnappyCodec snappy.Codec
-
- Lz4Codec lz4.Codec
-
- ZstdCodec zstd.Codec
-
- Codecs = [...]Codec{
- Gzip: &GzipCodec,
- Snappy: &SnappyCodec,
- Lz4: &Lz4Codec,
- Zstd: &ZstdCodec,
- }
- )
|