blob: 3e8c4500c324a2d1285c2061b858a103162f187d [file] [log] [blame]
khenaidood948f772021-08-11 17:49:24 -04001package sarama
2
3import "time"
4
5// IncrementalAlterConfigsResponse is a response type for incremental alter config
6type IncrementalAlterConfigsResponse struct {
7 ThrottleTime time.Duration
8 Resources []*AlterConfigsResourceResponse
9}
10
11func (a *IncrementalAlterConfigsResponse) encode(pe packetEncoder) error {
12 pe.putInt32(int32(a.ThrottleTime / time.Millisecond))
13
14 if err := pe.putArrayLength(len(a.Resources)); err != nil {
15 return err
16 }
17
18 for _, v := range a.Resources {
19 if err := v.encode(pe); err != nil {
20 return err
21 }
22 }
23
24 return nil
25}
26
27func (a *IncrementalAlterConfigsResponse) decode(pd packetDecoder, version int16) error {
28 throttleTime, err := pd.getInt32()
29 if err != nil {
30 return err
31 }
32 a.ThrottleTime = time.Duration(throttleTime) * time.Millisecond
33
34 responseCount, err := pd.getArrayLength()
35 if err != nil {
36 return err
37 }
38
39 a.Resources = make([]*AlterConfigsResourceResponse, responseCount)
40
41 for i := range a.Resources {
42 a.Resources[i] = new(AlterConfigsResourceResponse)
43
44 if err := a.Resources[i].decode(pd, version); err != nil {
45 return err
46 }
47 }
48
49 return nil
50}
51
52func (a *IncrementalAlterConfigsResponse) key() int16 {
53 return 44
54}
55
56func (a *IncrementalAlterConfigsResponse) version() int16 {
57 return 0
58}
59
60func (a *IncrementalAlterConfigsResponse) headerVersion() int16 {
61 return 0
62}
63
64func (a *IncrementalAlterConfigsResponse) requiredVersion() KafkaVersion {
65 return V2_3_0_0
66}