forked from segmentio/kafka-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
compression.go
37 lines (29 loc) · 810 Bytes
/
compression.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package kafka
import (
"errors"
"github.com/Andrew-Zipperer/kafka-go/compress"
)
type Compression = compress.Compression
const (
Gzip Compression = compress.Gzip
Snappy Compression = compress.Snappy
Lz4 Compression = compress.Lz4
Zstd Compression = compress.Zstd
)
type CompressionCodec = compress.Codec
// TODO: this file should probably go away once the internals of the package
// have moved to use the protocol package.
const (
compressionCodecMask = 0x07
)
var (
errUnknownCodec = errors.New("the compression code is invalid or its codec has not been imported")
)
// resolveCodec looks up a codec by Code()
func resolveCodec(code int8) (CompressionCodec, error) {
codec := compress.Compression(code).Codec()
if codec == nil {
return nil, errUnknownCodec
}
return codec, nil
}