blob: d3d5ad8d93ba78ad324612bb5443b133ca5053cd [file] [log] [blame]
William Kurkianea869482019-04-09 15:16:11 -04001package sarama
2
3type CreateAclsRequest struct {
4 Version int16
5 AclCreations []*AclCreation
6}
7
8func (c *CreateAclsRequest) encode(pe packetEncoder) error {
9 if err := pe.putArrayLength(len(c.AclCreations)); err != nil {
10 return err
11 }
12
13 for _, aclCreation := range c.AclCreations {
14 if err := aclCreation.encode(pe, c.Version); err != nil {
15 return err
16 }
17 }
18
19 return nil
20}
21
22func (c *CreateAclsRequest) decode(pd packetDecoder, version int16) (err error) {
23 c.Version = version
24 n, err := pd.getArrayLength()
25 if err != nil {
26 return err
27 }
28
29 c.AclCreations = make([]*AclCreation, n)
30
31 for i := 0; i < n; i++ {
32 c.AclCreations[i] = new(AclCreation)
33 if err := c.AclCreations[i].decode(pd, version); err != nil {
34 return err
35 }
36 }
37
38 return nil
39}
40
41func (d *CreateAclsRequest) key() int16 {
42 return 30
43}
44
45func (d *CreateAclsRequest) version() int16 {
46 return d.Version
47}
48
49func (d *CreateAclsRequest) requiredVersion() KafkaVersion {
50 switch d.Version {
51 case 1:
52 return V2_0_0_0
53 default:
54 return V0_11_0_0
55 }
56}
57
58type AclCreation struct {
59 Resource
60 Acl
61}
62
63func (a *AclCreation) encode(pe packetEncoder, version int16) error {
64 if err := a.Resource.encode(pe, version); err != nil {
65 return err
66 }
67 if err := a.Acl.encode(pe); err != nil {
68 return err
69 }
70
71 return nil
72}
73
74func (a *AclCreation) decode(pd packetDecoder, version int16) (err error) {
75 if err := a.Resource.decode(pd, version); err != nil {
76 return err
77 }
78 if err := a.Acl.decode(pd, version); err != nil {
79 return err
80 }
81
82 return nil
83}