cubefs

Форк
0
/
alter_configs_response.go 
116 строк · 2.2 Кб
1
package sarama
2

3
import "time"
4

5
// AlterConfigsResponse is a response type for alter config
6
type AlterConfigsResponse struct {
7
	ThrottleTime time.Duration
8
	Resources    []*AlterConfigsResourceResponse
9
}
10

11
// AlterConfigsResourceResponse is a response type for alter config resource
12
type AlterConfigsResourceResponse struct {
13
	ErrorCode int16
14
	ErrorMsg  string
15
	Type      ConfigResourceType
16
	Name      string
17
}
18

19
func (a *AlterConfigsResponse) encode(pe packetEncoder) error {
20
	pe.putInt32(int32(a.ThrottleTime / time.Millisecond))
21

22
	if err := pe.putArrayLength(len(a.Resources)); err != nil {
23
		return err
24
	}
25

26
	for _, v := range a.Resources {
27
		if err := v.encode(pe); err != nil {
28
			return err
29
		}
30
	}
31

32
	return nil
33
}
34

35
func (a *AlterConfigsResponse) decode(pd packetDecoder, version int16) error {
36
	throttleTime, err := pd.getInt32()
37
	if err != nil {
38
		return err
39
	}
40
	a.ThrottleTime = time.Duration(throttleTime) * time.Millisecond
41

42
	responseCount, err := pd.getArrayLength()
43
	if err != nil {
44
		return err
45
	}
46

47
	a.Resources = make([]*AlterConfigsResourceResponse, responseCount)
48

49
	for i := range a.Resources {
50
		a.Resources[i] = new(AlterConfigsResourceResponse)
51

52
		if err := a.Resources[i].decode(pd, version); err != nil {
53
			return err
54
		}
55
	}
56

57
	return nil
58
}
59

60
func (a *AlterConfigsResourceResponse) encode(pe packetEncoder) error {
61
	pe.putInt16(a.ErrorCode)
62
	err := pe.putString(a.ErrorMsg)
63
	if err != nil {
64
		return err
65
	}
66
	pe.putInt8(int8(a.Type))
67
	err = pe.putString(a.Name)
68
	if err != nil {
69
		return err
70
	}
71
	return nil
72
}
73

74
func (a *AlterConfigsResourceResponse) decode(pd packetDecoder, version int16) error {
75
	errCode, err := pd.getInt16()
76
	if err != nil {
77
		return err
78
	}
79
	a.ErrorCode = errCode
80

81
	e, err := pd.getString()
82
	if err != nil {
83
		return err
84
	}
85
	a.ErrorMsg = e
86

87
	t, err := pd.getInt8()
88
	if err != nil {
89
		return err
90
	}
91
	a.Type = ConfigResourceType(t)
92

93
	name, err := pd.getString()
94
	if err != nil {
95
		return err
96
	}
97
	a.Name = name
98

99
	return nil
100
}
101

102
func (a *AlterConfigsResponse) key() int16 {
103
	return 32
104
}
105

106
func (a *AlterConfigsResponse) version() int16 {
107
	return 0
108
}
109

110
func (a *AlterConfigsResponse) headerVersion() int16 {
111
	return 0
112
}
113

114
func (a *AlterConfigsResponse) requiredVersion() KafkaVersion {
115
	return V0_11_0_0
116
}
117

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

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

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

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