cubefs
52 строки · 970.0 Байт
1package sarama
2
3import "time"
4
5type DeleteTopicsRequest struct {
6Version int16
7Topics []string
8Timeout time.Duration
9}
10
11func (d *DeleteTopicsRequest) encode(pe packetEncoder) error {
12if err := pe.putStringArray(d.Topics); err != nil {
13return err
14}
15pe.putInt32(int32(d.Timeout / time.Millisecond))
16
17return nil
18}
19
20func (d *DeleteTopicsRequest) decode(pd packetDecoder, version int16) (err error) {
21if d.Topics, err = pd.getStringArray(); err != nil {
22return err
23}
24timeout, err := pd.getInt32()
25if err != nil {
26return err
27}
28d.Timeout = time.Duration(timeout) * time.Millisecond
29d.Version = version
30return nil
31}
32
33func (d *DeleteTopicsRequest) key() int16 {
34return 20
35}
36
37func (d *DeleteTopicsRequest) version() int16 {
38return d.Version
39}
40
41func (d *DeleteTopicsRequest) headerVersion() int16 {
42return 1
43}
44
45func (d *DeleteTopicsRequest) requiredVersion() KafkaVersion {
46switch d.Version {
47case 1:
48return V0_11_0_0
49default:
50return V0_10_1_0
51}
52}
53