blob: 3e1242bf62246e8fa9263ad3f777addce74ab2fd [file] [log] [blame]
khenaidooac637102019-01-14 15:44:34 -05001package sarama
2
3import "time"
4
5type InitProducerIDResponse struct {
6 ThrottleTime time.Duration
7 Err KError
8 ProducerID int64
9 ProducerEpoch int16
10}
11
12func (i *InitProducerIDResponse) encode(pe packetEncoder) error {
13 pe.putInt32(int32(i.ThrottleTime / time.Millisecond))
14 pe.putInt16(int16(i.Err))
15 pe.putInt64(i.ProducerID)
16 pe.putInt16(i.ProducerEpoch)
17
18 return nil
19}
20
21func (i *InitProducerIDResponse) decode(pd packetDecoder, version int16) (err error) {
22 throttleTime, err := pd.getInt32()
23 if err != nil {
24 return err
25 }
26 i.ThrottleTime = time.Duration(throttleTime) * time.Millisecond
27
28 kerr, err := pd.getInt16()
29 if err != nil {
30 return err
31 }
32 i.Err = KError(kerr)
33
34 if i.ProducerID, err = pd.getInt64(); err != nil {
35 return err
36 }
37
38 if i.ProducerEpoch, err = pd.getInt16(); err != nil {
39 return err
40 }
41
42 return nil
43}
44
45func (i *InitProducerIDResponse) key() int16 {
46 return 22
47}
48
49func (i *InitProducerIDResponse) version() int16 {
50 return 0
51}
52
khenaidood948f772021-08-11 17:49:24 -040053func (i *InitProducerIDResponse) headerVersion() int16 {
54 return 0
55}
56
khenaidooac637102019-01-14 15:44:34 -050057func (i *InitProducerIDResponse) requiredVersion() KafkaVersion {
58 return V0_11_0_0
59}