blob: 5e5c03bc2da2956371635d052690a0a63e200f91 [file] [log] [blame]
Holger Hildebrandtfa074992020-03-27 15:42:06 +00001package sarama
2
khenaidoo7d3c5582021-08-11 18:09:44 -04003// DeleteAclsRequest is a delete acl request
Holger Hildebrandtfa074992020-03-27 15:42:06 +00004type DeleteAclsRequest struct {
5 Version int
6 Filters []*AclFilter
7}
8
9func (d *DeleteAclsRequest) encode(pe packetEncoder) error {
10 if err := pe.putArrayLength(len(d.Filters)); err != nil {
11 return err
12 }
13
14 for _, filter := range d.Filters {
15 filter.Version = d.Version
16 if err := filter.encode(pe); err != nil {
17 return err
18 }
19 }
20
21 return nil
22}
23
24func (d *DeleteAclsRequest) decode(pd packetDecoder, version int16) (err error) {
25 d.Version = int(version)
26 n, err := pd.getArrayLength()
27 if err != nil {
28 return err
29 }
30
31 d.Filters = make([]*AclFilter, n)
32 for i := 0; i < n; i++ {
33 d.Filters[i] = new(AclFilter)
34 d.Filters[i].Version = int(version)
35 if err := d.Filters[i].decode(pd, version); err != nil {
36 return err
37 }
38 }
39
40 return nil
41}
42
43func (d *DeleteAclsRequest) key() int16 {
44 return 31
45}
46
47func (d *DeleteAclsRequest) version() int16 {
48 return int16(d.Version)
49}
50
khenaidoo7d3c5582021-08-11 18:09:44 -040051func (d *DeleteAclsRequest) headerVersion() int16 {
52 return 1
53}
54
Holger Hildebrandtfa074992020-03-27 15:42:06 +000055func (d *DeleteAclsRequest) requiredVersion() KafkaVersion {
56 switch d.Version {
57 case 1:
58 return V2_0_0_0
59 default:
60 return V0_11_0_0
61 }
62}