blob: cfb6369ac1dc6d7dd0628f038fc8021a128c0777 [file] [log] [blame]
William Kurkianea869482019-04-09 15:16:11 -04001package sarama
2
3import "time"
4
khenaidoo106c61a2021-08-11 18:05:46 -04005// AlterConfigsResponse is a response type for alter config
William Kurkianea869482019-04-09 15:16:11 -04006type AlterConfigsResponse struct {
7 ThrottleTime time.Duration
8 Resources []*AlterConfigsResourceResponse
9}
10
khenaidoo106c61a2021-08-11 18:05:46 -040011// AlterConfigsResourceResponse is a response type for alter config resource
William Kurkianea869482019-04-09 15:16:11 -040012type AlterConfigsResourceResponse struct {
13 ErrorCode int16
14 ErrorMsg string
15 Type ConfigResourceType
16 Name string
17}
18
Abhilash S.L3b494632019-07-16 15:51:09 +053019func (a *AlterConfigsResponse) encode(pe packetEncoder) error {
20 pe.putInt32(int32(a.ThrottleTime / time.Millisecond))
William Kurkianea869482019-04-09 15:16:11 -040021
Abhilash S.L3b494632019-07-16 15:51:09 +053022 if err := pe.putArrayLength(len(a.Resources)); err != nil {
William Kurkianea869482019-04-09 15:16:11 -040023 return err
24 }
25
khenaidoo106c61a2021-08-11 18:05:46 -040026 for _, v := range a.Resources {
27 if err := v.encode(pe); err != nil {
28 return err
William Kurkianea869482019-04-09 15:16:11 -040029 }
30 }
31
32 return nil
33}
34
Abhilash S.L3b494632019-07-16 15:51:09 +053035func (a *AlterConfigsResponse) decode(pd packetDecoder, version int16) error {
William Kurkianea869482019-04-09 15:16:11 -040036 throttleTime, err := pd.getInt32()
37 if err != nil {
38 return err
39 }
Abhilash S.L3b494632019-07-16 15:51:09 +053040 a.ThrottleTime = time.Duration(throttleTime) * time.Millisecond
William Kurkianea869482019-04-09 15:16:11 -040041
42 responseCount, err := pd.getArrayLength()
43 if err != nil {
44 return err
45 }
46
Abhilash S.L3b494632019-07-16 15:51:09 +053047 a.Resources = make([]*AlterConfigsResourceResponse, responseCount)
William Kurkianea869482019-04-09 15:16:11 -040048
Abhilash S.L3b494632019-07-16 15:51:09 +053049 for i := range a.Resources {
50 a.Resources[i] = new(AlterConfigsResourceResponse)
William Kurkianea869482019-04-09 15:16:11 -040051
khenaidoo106c61a2021-08-11 18:05:46 -040052 if err := a.Resources[i].decode(pd, version); err != nil {
William Kurkianea869482019-04-09 15:16:11 -040053 return err
54 }
William Kurkianea869482019-04-09 15:16:11 -040055 }
56
57 return nil
58}
59
khenaidoo106c61a2021-08-11 18:05:46 -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
Abhilash S.L3b494632019-07-16 15:51:09 +0530102func (a *AlterConfigsResponse) key() int16 {
William Kurkianea869482019-04-09 15:16:11 -0400103 return 32
104}
105
Abhilash S.L3b494632019-07-16 15:51:09 +0530106func (a *AlterConfigsResponse) version() int16 {
William Kurkianea869482019-04-09 15:16:11 -0400107 return 0
108}
109
khenaidoo106c61a2021-08-11 18:05:46 -0400110func (a *AlterConfigsResponse) headerVersion() int16 {
111 return 0
112}
113
Abhilash S.L3b494632019-07-16 15:51:09 +0530114func (a *AlterConfigsResponse) requiredVersion() KafkaVersion {
William Kurkianea869482019-04-09 15:16:11 -0400115 return V0_11_0_0
116}