packet_decoder.go 570 B

1234567891011121314151617181920212223242526272829303132
  1. package kafka
  2. type packetDecoder interface {
  3. remaining() int
  4. // primitives
  5. getInt8() (int8, error)
  6. getInt16() (int16, error)
  7. getInt32() (int32, error)
  8. getInt64() (int64, error)
  9. // arrays
  10. getInt32Array() ([]int32, error)
  11. getArrayCount() (int, error)
  12. // misc
  13. getError() (KError, error)
  14. getString() (*string, error)
  15. getBytes() (*[]byte, error)
  16. // stackable
  17. push(in pushDecoder) error
  18. pushLength32() error
  19. pushCRC32() error
  20. pop() error
  21. }
  22. type pushDecoder interface {
  23. saveOffset(in int)
  24. reserveLength() int
  25. check(curOffset int, buf []byte) error
  26. }