blob: fbcef0bfbea346440672dbe0c57597f299f5234d [file] [log] [blame]
Elia Battiston4750d3c2022-07-14 13:24:56 +00001package sarama
2
3import "fmt"
4
5const (
6 responseLengthSize = 4
7 correlationIDSize = 4
8)
9
10type responseHeader struct {
11 length int32
12 correlationID int32
13}
14
15func (r *responseHeader) decode(pd packetDecoder, version int16) (err error) {
16 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()
25
26 if version >= 1 {
27 if _, err := pd.getEmptyTaggedFieldArray(); err != nil {
28 return err
29 }
30 }
31
32 return err
33}