response_header.go 480 B

1234567891011121314151617181920212223
  1. package sarama
  2. import "fmt"
  3. type responseHeader struct {
  4. length int32
  5. correlationID int32
  6. }
  7. const maxMessageSize = 32 * 1024 * 1024 // 32MB
  8. func (r *responseHeader) decode(pd packetDecoder) (err error) {
  9. r.length, err = pd.getInt32()
  10. if err != nil {
  11. return err
  12. }
  13. if r.length <= 4 || r.length > maxMessageSize {
  14. return DecodingError{Info: fmt.Sprintf("Message too large or too small. Got %d", r.length)}
  15. }
  16. r.correlationID, err = pd.getInt32()
  17. return err
  18. }