blob: 777bae7e63ea9546045d6f1387f0a46104747eeb [file] [log] [blame]
khenaidooac637102019-01-14 15:44:34 -05001package sarama
2
3type ListGroupsResponse struct {
4 Err KError
5 Groups map[string]string
6}
7
8func (r *ListGroupsResponse) encode(pe packetEncoder) error {
9 pe.putInt16(int16(r.Err))
10
11 if err := pe.putArrayLength(len(r.Groups)); err != nil {
12 return err
13 }
14 for groupId, protocolType := range r.Groups {
15 if err := pe.putString(groupId); err != nil {
16 return err
17 }
18 if err := pe.putString(protocolType); err != nil {
19 return err
20 }
21 }
22
23 return nil
24}
25
26func (r *ListGroupsResponse) decode(pd packetDecoder, version int16) error {
27 kerr, err := pd.getInt16()
28 if err != nil {
29 return err
30 }
31
32 r.Err = KError(kerr)
33
34 n, err := pd.getArrayLength()
35 if err != nil {
36 return err
37 }
38 if n == 0 {
39 return nil
40 }
41
42 r.Groups = make(map[string]string)
43 for i := 0; i < n; i++ {
44 groupId, err := pd.getString()
45 if err != nil {
46 return err
47 }
48 protocolType, err := pd.getString()
49 if err != nil {
50 return err
51 }
52
53 r.Groups[groupId] = protocolType
54 }
55
56 return nil
57}
58
59func (r *ListGroupsResponse) key() int16 {
60 return 16
61}
62
63func (r *ListGroupsResponse) version() int16 {
64 return 0
65}
66
khenaidood948f772021-08-11 17:49:24 -040067func (r *ListGroupsResponse) headerVersion() int16 {
68 return 0
69}
70
khenaidooac637102019-01-14 15:44:34 -050071func (r *ListGroupsResponse) requiredVersion() KafkaVersion {
72 return V0_9_0_0
73}