blob: cfb6369ac1dc6d7dd0628f038fc8021a128c0777 [file] [log] [blame]
Holger Hildebrandtfa074992020-03-27 15:42:06 +00001package sarama
2
3import "time"
4
khenaidoo7d3c5582021-08-11 18:09:44 -04005// AlterConfigsResponse is a response type for alter config
Holger Hildebrandtfa074992020-03-27 15:42:06 +00006type AlterConfigsResponse struct {
7 ThrottleTime time.Duration
8 Resources []*AlterConfigsResourceResponse
9}
10
khenaidoo7d3c5582021-08-11 18:09:44 -040011// AlterConfigsResourceResponse is a response type for alter config resource
Holger Hildebrandtfa074992020-03-27 15:42:06 +000012type AlterConfigsResourceResponse struct {
13 ErrorCode int16
14 ErrorMsg string
15 Type ConfigResourceType
16 Name string
17}
18
19func (a *AlterConfigsResponse) encode(pe packetEncoder) error {
20 pe.putInt32(int32(a.ThrottleTime / time.Millisecond))
21
22 if err := pe.putArrayLength(len(a.Resources)); err != nil {
23 return err
24 }
25
khenaidoo7d3c5582021-08-11 18:09:44 -040026 for _, v := range a.Resources {
27 if err := v.encode(pe); err != nil {
28 return err
Holger Hildebrandtfa074992020-03-27 15:42:06 +000029 }
30 }
31
32 return nil
33}
34
35func (a *AlterConfigsResponse) decode(pd packetDecoder, version int16) error {
36 throttleTime, err := pd.getInt32()
37 if err != nil {
38 return err
39 }
40 a.ThrottleTime = time.Duration(throttleTime) * time.Millisecond
41
42 responseCount, err := pd.getArrayLength()
43 if err != nil {
44 return err
45 }
46
47 a.Resources = make([]*AlterConfigsResourceResponse, responseCount)
48
49 for i := range a.Resources {
50 a.Resources[i] = new(AlterConfigsResourceResponse)
51
khenaidoo7d3c5582021-08-11 18:09:44 -040052 if err := a.Resources[i].decode(pd, version); err != nil {
Holger Hildebrandtfa074992020-03-27 15:42:06 +000053 return err
54 }
Holger Hildebrandtfa074992020-03-27 15:42:06 +000055 }
56
57 return nil
58}
59
khenaidoo7d3c5582021-08-11 18:09:44 -040060func (a *AlterConfigsResourceResponse) encode(pe packetEncoder) error {
61 pe.putInt16(a.ErrorCode)
62 err := pe.putString(a.ErrorMsg)
63 if err != nil {
64 return nil
65 }
66 pe.putInt8(int8(a.Type))
67 err = pe.putString(a.Name)
68 if err != nil {
69 return nil
70 }
71 return nil
72}
73
74func (a *AlterConfigsResourceResponse) decode(pd packetDecoder, version int16) error {
75 errCode, err := pd.getInt16()
76 if err != nil {
77 return err
78 }
79 a.ErrorCode = errCode
80
81 e, err := pd.getString()
82 if err != nil {
83 return err
84 }
85 a.ErrorMsg = e
86
87 t, err := pd.getInt8()
88 if err != nil {
89 return err
90 }
91 a.Type = ConfigResourceType(t)
92
93 name, err := pd.getString()
94 if err != nil {
95 return err
96 }
97 a.Name = name
98
99 return nil
100}
101
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000102func (a *AlterConfigsResponse) key() int16 {
103 return 32
104}
105
106func (a *AlterConfigsResponse) version() int16 {
107 return 0
108}
109
khenaidoo7d3c5582021-08-11 18:09:44 -0400110func (a *AlterConfigsResponse) headerVersion() int16 {
111 return 0
112}
113
Holger Hildebrandtfa074992020-03-27 15:42:06 +0000114func (a *AlterConfigsResponse) requiredVersion() KafkaVersion {
115 return V0_11_0_0
116}