packet_decoder.go 616 B

123456789101112131415161718192021222324252627282930313233
  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. getSubset(length int) (packetDecoder, error)
  17. // stackable
  18. push(in pushDecoder) error
  19. pushLength32() error
  20. pushCRC32() error
  21. pop() error
  22. }
  23. type pushDecoder interface {
  24. saveOffset(in int)
  25. reserveLength() int
  26. check(curOffset int, buf []byte) error
  27. }