cubefs

Форк
0
/
acl_create_response.go 
94 строки · 1.9 Кб
1
package sarama
2

3
import "time"
4

5
// CreateAclsResponse is a an acl response creation type
6
type CreateAclsResponse struct {
7
	ThrottleTime         time.Duration
8
	AclCreationResponses []*AclCreationResponse
9
}
10

11
func (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

27
func (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

50
func (c *CreateAclsResponse) key() int16 {
51
	return 30
52
}
53

54
func (c *CreateAclsResponse) version() int16 {
55
	return 0
56
}
57

58
func (c *CreateAclsResponse) headerVersion() int16 {
59
	return 0
60
}
61

62
func (c *CreateAclsResponse) requiredVersion() KafkaVersion {
63
	return V0_11_0_0
64
}
65

66
// AclCreationResponse is an acl creation response type
67
type AclCreationResponse struct {
68
	Err    KError
69
	ErrMsg *string
70
}
71

72
func (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

82
func (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
}
95

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.