blob: 97063542198c9b26c8b09500fdd21eebef18a050 [file] [log] [blame]
khenaidooac637102019-01-14 15:44:34 -05001package sarama
2
3type AclFilter struct {
4 ResourceType AclResourceType
5 ResourceName *string
6 Principal *string
7 Host *string
8 Operation AclOperation
9 PermissionType AclPermissionType
10}
11
12func (a *AclFilter) encode(pe packetEncoder) error {
13 pe.putInt8(int8(a.ResourceType))
14 if err := pe.putNullableString(a.ResourceName); err != nil {
15 return err
16 }
17 if err := pe.putNullableString(a.Principal); err != nil {
18 return err
19 }
20 if err := pe.putNullableString(a.Host); err != nil {
21 return err
22 }
23 pe.putInt8(int8(a.Operation))
24 pe.putInt8(int8(a.PermissionType))
25
26 return nil
27}
28
29func (a *AclFilter) decode(pd packetDecoder, version int16) (err error) {
30 resourceType, err := pd.getInt8()
31 if err != nil {
32 return err
33 }
34 a.ResourceType = AclResourceType(resourceType)
35
36 if a.ResourceName, err = pd.getNullableString(); err != nil {
37 return err
38 }
39
40 if a.Principal, err = pd.getNullableString(); err != nil {
41 return err
42 }
43
44 if a.Host, err = pd.getNullableString(); err != nil {
45 return err
46 }
47
48 operation, err := pd.getInt8()
49 if err != nil {
50 return err
51 }
52 a.Operation = AclOperation(operation)
53
54 permissionType, err := pd.getInt8()
55 if err != nil {
56 return err
57 }
58 a.PermissionType = AclPermissionType(permissionType)
59
60 return nil
61}