blob: fbcef0bfbea346440672dbe0c57597f299f5234d [file] [log] [blame]
Holger Hildebrandtfa074992020-03-27 15:42:06 +00001package sarama
2
3import "fmt"
4
khenaidoo7d3c5582021-08-11 18:09:44 -04005const (
6 responseLengthSize = 4
7 correlationIDSize = 4
8)
Holger Hildebrandtfa074992020-03-27 15:42:06 +00009
10type responseHeader struct {
11 length int32
12 correlationID int32
13}
14
khenaidoo7d3c5582021-08-11 18:09:44 -040015func (r *responseHeader) decode(pd packetDecoder, version int16) (err error) {
Holger Hildebrandtfa074992020-03-27 15:42:06 +000016 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()
khenaidoo7d3c5582021-08-11 18:09:44 -040025
26 if version >= 1 {
27 if _, err := pd.getEmptyTaggedFieldArray(); err != nil {
28 return err
29 }
30 }
31
Holger Hildebrandtfa074992020-03-27 15:42:06 +000032 return err
33}