blob: 15908eac97293b2fca640b80bad3c9e4faba1342 [file] [log] [blame]
khenaidooac637102019-01-14 15:44:34 -05001package sarama
2
Scott Baker8461e152019-10-01 14:44:30 -07003//DeleteAclsRequest is a delete acl request
khenaidooac637102019-01-14 15:44:34 -05004type DeleteAclsRequest struct {
William Kurkiandaa6bb22019-03-07 12:26:28 -05005 Version int
khenaidooac637102019-01-14 15:44:34 -05006 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 {
William Kurkiandaa6bb22019-03-07 12:26:28 -050015 filter.Version = d.Version
khenaidooac637102019-01-14 15:44:34 -050016 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) {
William Kurkiandaa6bb22019-03-07 12:26:28 -050025 d.Version = int(version)
khenaidooac637102019-01-14 15:44:34 -050026 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)
William Kurkiandaa6bb22019-03-07 12:26:28 -050034 d.Filters[i].Version = int(version)
khenaidooac637102019-01-14 15:44:34 -050035 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 {
William Kurkiandaa6bb22019-03-07 12:26:28 -050048 return int16(d.Version)
khenaidooac637102019-01-14 15:44:34 -050049}
50
51func (d *DeleteAclsRequest) requiredVersion() KafkaVersion {
William Kurkiandaa6bb22019-03-07 12:26:28 -050052 switch d.Version {
53 case 1:
54 return V2_0_0_0
55 default:
56 return V0_11_0_0
57 }
khenaidooac637102019-01-14 15:44:34 -050058}