blob: 31e167b5eb79b8bb0daea7a4c2eff00d176c65d3 [file] [log] [blame]
khenaidood948f772021-08-11 17:49:24 -04001package sarama
2
3import "time"
4
5type AlterUserScramCredentialsResponse struct {
6 Version int16
7
8 ThrottleTime time.Duration
9
10 Results []*AlterUserScramCredentialsResult
11}
12
13type AlterUserScramCredentialsResult struct {
14 User string
15
16 ErrorCode KError
17 ErrorMessage *string
18}
19
20func (r *AlterUserScramCredentialsResponse) encode(pe packetEncoder) error {
21 pe.putInt32(int32(r.ThrottleTime / time.Millisecond))
22 pe.putCompactArrayLength(len(r.Results))
23
24 for _, u := range r.Results {
25 if err := pe.putCompactString(u.User); err != nil {
26 return err
27 }
28 pe.putInt16(int16(u.ErrorCode))
29 if err := pe.putNullableCompactString(u.ErrorMessage); err != nil {
30 return err
31 }
32 pe.putEmptyTaggedFieldArray()
33 }
34
35 pe.putEmptyTaggedFieldArray()
36 return nil
37}
38
39func (r *AlterUserScramCredentialsResponse) decode(pd packetDecoder, version int16) error {
40 throttleTime, err := pd.getInt32()
41 if err != nil {
42 return err
43 }
44 r.ThrottleTime = time.Duration(throttleTime) * time.Millisecond
45
46 numResults, err := pd.getCompactArrayLength()
47 if err != nil {
48 return err
49 }
50
51 if numResults > 0 {
52 r.Results = make([]*AlterUserScramCredentialsResult, numResults)
53 for i := 0; i < numResults; i++ {
54 r.Results[i] = &AlterUserScramCredentialsResult{}
55 if r.Results[i].User, err = pd.getCompactString(); err != nil {
56 return err
57 }
58
59 kerr, err := pd.getInt16()
60 if err != nil {
61 return err
62 }
63
64 r.Results[i].ErrorCode = KError(kerr)
65 if r.Results[i].ErrorMessage, err = pd.getCompactNullableString(); err != nil {
66 return err
67 }
68 if _, err := pd.getEmptyTaggedFieldArray(); err != nil {
69 return err
70 }
71 }
72 }
73
74 if _, err := pd.getEmptyTaggedFieldArray(); err != nil {
75 return err
76 }
77 return nil
78}
79
80func (r *AlterUserScramCredentialsResponse) key() int16 {
81 return 51
82}
83
84func (r *AlterUserScramCredentialsResponse) version() int16 {
85 return r.Version
86}
87
88func (r *AlterUserScramCredentialsResponse) headerVersion() int16 {
89 return 2
90}
91
92func (r *AlterUserScramCredentialsResponse) requiredVersion() KafkaVersion {
93 return V2_7_0_0
94}