blob: e6c1db0f1050fffe21abf5231979cd1b56bb0536 [file] [log] [blame]
Abhay Kumara2ae5992025-11-10 14:02:24 +00001package sarama
2
3type DeleteGroupsRequest struct {
4 Version int16
5 Groups []string
6}
7
8func (r *DeleteGroupsRequest) setVersion(v int16) {
9 r.Version = v
10}
11
12func (r *DeleteGroupsRequest) encode(pe packetEncoder) error {
13 if err := pe.putStringArray(r.Groups); err != nil {
14 return err
15 }
16 pe.putEmptyTaggedFieldArray()
17 return nil
18}
19
20func (r *DeleteGroupsRequest) decode(pd packetDecoder, version int16) (err error) {
21 r.Groups, err = pd.getStringArray()
22 if err != nil {
23 return err
24 }
25 _, err = pd.getEmptyTaggedFieldArray()
26 return
27}
28
29func (r *DeleteGroupsRequest) key() int16 {
30 return apiKeyDeleteGroups
31}
32
33func (r *DeleteGroupsRequest) version() int16 {
34 return r.Version
35}
36
37func (r *DeleteGroupsRequest) headerVersion() int16 {
38 if r.Version >= 2 {
39 return 2
40 }
41 return 1
42}
43
44func (r *DeleteGroupsRequest) isFlexible() bool {
45 return r.isFlexibleVersion(r.Version)
46}
47
48func (r *DeleteGroupsRequest) isFlexibleVersion(version int16) bool {
49 return version >= 2
50}
51
52func (r *DeleteGroupsRequest) isValidVersion() bool {
53 return r.Version >= 0 && r.Version <= 2
54}
55
56func (r *DeleteGroupsRequest) requiredVersion() KafkaVersion {
57 switch r.Version {
58 case 2:
59 return V2_4_0_0
60 case 1:
61 return V2_0_0_0
62 case 0:
63 return V1_1_0_0
64 default:
65 return V2_0_0_0
66 }
67}
68
69func (r *DeleteGroupsRequest) AddGroup(group string) {
70 r.Groups = append(r.Groups, group)
71}