-
Notifications
You must be signed in to change notification settings - Fork 0
/
flags.go
38 lines (30 loc) · 900 Bytes
/
flags.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
38
// Copyright (c) 2022 Fujitsu Limited
package publish
import (
"fmt"
"github.com/spf13/pflag"
)
const (
CompressionCodecNone = "none"
CompressionCodecGzip = "gzip"
CompressionCodecSnappy = "snappy"
CompressionCodecLz4 = "lz4"
CompressionCodecZstd = "zstd"
defaultCompressionCodec = CompressionCodecNone
)
type MessageQueuePublisherOptions struct {
CompressionCodec string
}
func NewMessageQueuePublisherOptions() *MessageQueuePublisherOptions {
return &MessageQueuePublisherOptions{
CompressionCodec: defaultCompressionCodec,
}
}
func (mqpo *MessageQueuePublisherOptions) AddFlags(flagSet *pflag.FlagSet) {
flagSet.StringVar(
&mqpo.CompressionCodec, "mq-publisher-compression-codec",
mqpo.CompressionCodec, fmt.Sprintf(
"Compression codec.Possible values: 'none', 'gzip', 'snappy', "+
"'lz4', 'zstd'. The default value is %q",
defaultCompressionCodec))
}