| package sarama |
| |
| type AclFilter struct { |
| Version int |
| ResourceType AclResourceType |
| ResourceName *string |
| ResourcePatternTypeFilter AclResourcePatternType |
| Principal *string |
| Host *string |
| Operation AclOperation |
| PermissionType AclPermissionType |
| } |
| |
| func (a *AclFilter) encode(pe packetEncoder) error { |
| pe.putInt8(int8(a.ResourceType)) |
| if err := pe.putNullableString(a.ResourceName); err != nil { |
| return err |
| } |
| |
| if a.Version == 1 { |
| pe.putInt8(int8(a.ResourcePatternTypeFilter)) |
| } |
| |
| if err := pe.putNullableString(a.Principal); err != nil { |
| return err |
| } |
| if err := pe.putNullableString(a.Host); err != nil { |
| return err |
| } |
| pe.putInt8(int8(a.Operation)) |
| pe.putInt8(int8(a.PermissionType)) |
| |
| return nil |
| } |
| |
| func (a *AclFilter) decode(pd packetDecoder, version int16) (err error) { |
| resourceType, err := pd.getInt8() |
| if err != nil { |
| return err |
| } |
| a.ResourceType = AclResourceType(resourceType) |
| |
| if a.ResourceName, err = pd.getNullableString(); err != nil { |
| return err |
| } |
| |
| if a.Version == 1 { |
| pattern, err := pd.getInt8() |
| |
| if err != nil { |
| return err |
| } |
| |
| a.ResourcePatternTypeFilter = AclResourcePatternType(pattern) |
| } |
| |
| if a.Principal, err = pd.getNullableString(); err != nil { |
| return err |
| } |
| |
| if a.Host, err = pd.getNullableString(); err != nil { |
| return err |
| } |
| |
| operation, err := pd.getInt8() |
| if err != nil { |
| return err |
| } |
| a.Operation = AclOperation(operation) |
| |
| permissionType, err := pd.getInt8() |
| if err != nil { |
| return err |
| } |
| a.PermissionType = AclPermissionType(permissionType) |
| |
| return nil |
| } |