blob: 88b0b446d0d8b0aa1d0644f1528ce3110a7faed5 [file] [log] [blame]
Abhay Kumar40252eb2025-10-13 13:25:53 +00001package sarama
2
3import "fmt"
4
5type responseHeader struct {
6 length int32
7 correlationID int32
8}
9
10func (r *responseHeader) decode(pd packetDecoder, version int16) (err error) {
11 if version >= 1 {
12 if decoder, ok := pd.(*realDecoder); ok {
13 pd = &realFlexibleDecoder{decoder}
14 } else {
15 return PacketDecodingError{"failed to instantiate flexible decoder"}
16 }
17 }
18 r.length, err = pd.getInt32()
19 if err != nil {
20 return err
21 }
22 if r.length <= 4 || r.length > MaxResponseSize {
23 return PacketDecodingError{fmt.Sprintf("message of length %d too large or too small", r.length)}
24 }
25
26 r.correlationID, err = pd.getInt32()
27 if err != nil {
28 return err
29 }
30
31 _, err = pd.getEmptyTaggedFieldArray()
32 return err
33}