blob: 5e94ad733558805088e15c31d3debccd99e5ae73 [file] [log] [blame]
khenaidooac637102019-01-14 15:44:34 -05001package sarama
2
3type DeleteAclsRequest struct {
William Kurkiandaa6bb22019-03-07 12:26:28 -05004 Version int
khenaidooac637102019-01-14 15:44:34 -05005 Filters []*AclFilter
6}
7
8func (d *DeleteAclsRequest) encode(pe packetEncoder) error {
9 if err := pe.putArrayLength(len(d.Filters)); err != nil {
10 return err
11 }
12
13 for _, filter := range d.Filters {
William Kurkiandaa6bb22019-03-07 12:26:28 -050014 filter.Version = d.Version
khenaidooac637102019-01-14 15:44:34 -050015 if err := filter.encode(pe); err != nil {
16 return err
17 }
18 }
19
20 return nil
21}
22
23func (d *DeleteAclsRequest) decode(pd packetDecoder, version int16) (err error) {
William Kurkiandaa6bb22019-03-07 12:26:28 -050024 d.Version = int(version)
khenaidooac637102019-01-14 15:44:34 -050025 n, err := pd.getArrayLength()
26 if err != nil {
27 return err
28 }
29
30 d.Filters = make([]*AclFilter, n)
31 for i := 0; i < n; i++ {
32 d.Filters[i] = new(AclFilter)
William Kurkiandaa6bb22019-03-07 12:26:28 -050033 d.Filters[i].Version = int(version)
khenaidooac637102019-01-14 15:44:34 -050034 if err := d.Filters[i].decode(pd, version); err != nil {
35 return err
36 }
37 }
38
39 return nil
40}
41
42func (d *DeleteAclsRequest) key() int16 {
43 return 31
44}
45
46func (d *DeleteAclsRequest) version() int16 {
William Kurkiandaa6bb22019-03-07 12:26:28 -050047 return int16(d.Version)
khenaidooac637102019-01-14 15:44:34 -050048}
49
50func (d *DeleteAclsRequest) requiredVersion() KafkaVersion {
William Kurkiandaa6bb22019-03-07 12:26:28 -050051 switch d.Version {
52 case 1:
53 return V2_0_0_0
54 default:
55 return V0_11_0_0
56 }
khenaidooac637102019-01-14 15:44:34 -050057}