blob: fbcef0bfbea346440672dbe0c57597f299f5234d [file] [log] [blame]
khenaidooac637102019-01-14 15:44:34 -05001package sarama
2
3import "fmt"
4
khenaidood948f772021-08-11 17:49:24 -04005const (
6 responseLengthSize = 4
7 correlationIDSize = 4
8)
Scott Baker8461e152019-10-01 14:44:30 -07009
khenaidooac637102019-01-14 15:44:34 -050010type responseHeader struct {
11 length int32
12 correlationID int32
13}
14
khenaidood948f772021-08-11 17:49:24 -040015func (r *responseHeader) decode(pd packetDecoder, version int16) (err error) {
khenaidooac637102019-01-14 15:44:34 -050016 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()
khenaidood948f772021-08-11 17:49:24 -040025
26 if version >= 1 {
27 if _, err := pd.getEmptyTaggedFieldArray(); err != nil {
28 return err
29 }
30 }
31
khenaidooac637102019-01-14 15:44:34 -050032 return err
33}