blob: 21d6c340cc5d68efdc38d88e526af9172007b61f [file] [log] [blame]
khenaidooac637102019-01-14 15:44:34 -05001package sarama
2
3import "time"
4
khenaidood948f772021-08-11 17:49:24 -04005// CreateAclsResponse is a an acl response creation type
khenaidooac637102019-01-14 15:44:34 -05006type CreateAclsResponse struct {
7 ThrottleTime time.Duration
8 AclCreationResponses []*AclCreationResponse
9}
10
11func (c *CreateAclsResponse) encode(pe packetEncoder) error {
12 pe.putInt32(int32(c.ThrottleTime / time.Millisecond))
13
14 if err := pe.putArrayLength(len(c.AclCreationResponses)); err != nil {
15 return err
16 }
17
18 for _, aclCreationResponse := range c.AclCreationResponses {
19 if err := aclCreationResponse.encode(pe); err != nil {
20 return err
21 }
22 }
23
24 return nil
25}
26
27func (c *CreateAclsResponse) decode(pd packetDecoder, version int16) (err error) {
28 throttleTime, err := pd.getInt32()
29 if err != nil {
30 return err
31 }
32 c.ThrottleTime = time.Duration(throttleTime) * time.Millisecond
33
34 n, err := pd.getArrayLength()
35 if err != nil {
36 return err
37 }
38
39 c.AclCreationResponses = make([]*AclCreationResponse, n)
40 for i := 0; i < n; i++ {
41 c.AclCreationResponses[i] = new(AclCreationResponse)
42 if err := c.AclCreationResponses[i].decode(pd, version); err != nil {
43 return err
44 }
45 }
46
47 return nil
48}
49
Scott Baker8461e152019-10-01 14:44:30 -070050func (c *CreateAclsResponse) key() int16 {
khenaidooac637102019-01-14 15:44:34 -050051 return 30
52}
53
Scott Baker8461e152019-10-01 14:44:30 -070054func (c *CreateAclsResponse) version() int16 {
khenaidooac637102019-01-14 15:44:34 -050055 return 0
56}
57
khenaidood948f772021-08-11 17:49:24 -040058func (c *CreateAclsResponse) headerVersion() int16 {
59 return 0
60}
61
Scott Baker8461e152019-10-01 14:44:30 -070062func (c *CreateAclsResponse) requiredVersion() KafkaVersion {
khenaidooac637102019-01-14 15:44:34 -050063 return V0_11_0_0
64}
65
khenaidood948f772021-08-11 17:49:24 -040066// AclCreationResponse is an acl creation response type
khenaidooac637102019-01-14 15:44:34 -050067type AclCreationResponse struct {
68 Err KError
69 ErrMsg *string
70}
71
72func (a *AclCreationResponse) encode(pe packetEncoder) error {
73 pe.putInt16(int16(a.Err))
74
75 if err := pe.putNullableString(a.ErrMsg); err != nil {
76 return err
77 }
78
79 return nil
80}
81
82func (a *AclCreationResponse) decode(pd packetDecoder, version int16) (err error) {
83 kerr, err := pd.getInt16()
84 if err != nil {
85 return err
86 }
87 a.Err = KError(kerr)
88
89 if a.ErrMsg, err = pd.getNullableString(); err != nil {
90 return err
91 }
92
93 return nil
94}