cubefs
126 строк · 2.4 Кб
1package sarama2
3// AlterConfigsRequest is an alter config request type
4type AlterConfigsRequest struct {5Resources []*AlterConfigsResource6ValidateOnly bool7}
8
9// AlterConfigsResource is an alter config resource type
10type AlterConfigsResource struct {11Type ConfigResourceType
12Name string13ConfigEntries map[string]*string14}
15
16func (a *AlterConfigsRequest) encode(pe packetEncoder) error {17if err := pe.putArrayLength(len(a.Resources)); err != nil {18return err19}20
21for _, r := range a.Resources {22if err := r.encode(pe); err != nil {23return err24}25}26
27pe.putBool(a.ValidateOnly)28return nil29}
30
31func (a *AlterConfigsRequest) decode(pd packetDecoder, version int16) error {32resourceCount, err := pd.getArrayLength()33if err != nil {34return err35}36
37a.Resources = make([]*AlterConfigsResource, resourceCount)38for i := range a.Resources {39r := &AlterConfigsResource{}40err = r.decode(pd, version)41if err != nil {42return err43}44a.Resources[i] = r45}46
47validateOnly, err := pd.getBool()48if err != nil {49return err50}51
52a.ValidateOnly = validateOnly53
54return nil55}
56
57func (a *AlterConfigsResource) encode(pe packetEncoder) error {58pe.putInt8(int8(a.Type))59
60if err := pe.putString(a.Name); err != nil {61return err62}63
64if err := pe.putArrayLength(len(a.ConfigEntries)); err != nil {65return err66}67for configKey, configValue := range a.ConfigEntries {68if err := pe.putString(configKey); err != nil {69return err70}71if err := pe.putNullableString(configValue); err != nil {72return err73}74}75
76return nil77}
78
79func (a *AlterConfigsResource) decode(pd packetDecoder, version int16) error {80t, err := pd.getInt8()81if err != nil {82return err83}84a.Type = ConfigResourceType(t)85
86name, err := pd.getString()87if err != nil {88return err89}90a.Name = name91
92n, err := pd.getArrayLength()93if err != nil {94return err95}96
97if n > 0 {98a.ConfigEntries = make(map[string]*string, n)99for i := 0; i < n; i++ {100configKey, err := pd.getString()101if err != nil {102return err103}104if a.ConfigEntries[configKey], err = pd.getNullableString(); err != nil {105return err106}107}108}109return err110}
111
112func (a *AlterConfigsRequest) key() int16 {113return 33114}
115
116func (a *AlterConfigsRequest) version() int16 {117return 0118}
119
120func (a *AlterConfigsRequest) headerVersion() int16 {121return 1122}
123
124func (a *AlterConfigsRequest) requiredVersion() KafkaVersion {125return V0_11_0_0126}
127