blob: fbcef0bfbea346440672dbe0c57597f299f5234d [file] [log] [blame]
William Kurkianea869482019-04-09 15:16:11 -04001package sarama
2
3import "fmt"
4
khenaidoo106c61a2021-08-11 18:05:46 -04005const (
6 responseLengthSize = 4
7 correlationIDSize = 4
8)
Abhilash S.L3b494632019-07-16 15:51:09 +05309
William Kurkianea869482019-04-09 15:16:11 -040010type responseHeader struct {
11 length int32
12 correlationID int32
13}
14
khenaidoo106c61a2021-08-11 18:05:46 -040015func (r *responseHeader) decode(pd packetDecoder, version int16) (err error) {
William Kurkianea869482019-04-09 15:16:11 -040016 r.length, err = pd.getInt32()
17 if err != nil {
18 return err
19 }
20 if r.length <= 4 || r.length > MaxResponseSize {
21 return PacketDecodingError{fmt.Sprintf("message of length %d too large or too small", r.length)}
22 }
23
24 r.correlationID, err = pd.getInt32()
khenaidoo106c61a2021-08-11 18:05:46 -040025
26 if version >= 1 {
27 if _, err := pd.getEmptyTaggedFieldArray(); err != nil {
28 return err
29 }
30 }
31
William Kurkianea869482019-04-09 15:16:11 -040032 return err
33}