packet_encoder.go 457 B

123456789101112131415161718192021222324252627282930
  1. package kafka
  2. type packetEncoder interface {
  3. // primitives
  4. putInt8(in int8)
  5. putInt16(in int16)
  6. putInt32(in int32)
  7. putInt64(in int64)
  8. // arrays
  9. putInt32Array(in []int32)
  10. putArrayCount(in int)
  11. // misc
  12. putError(in KError)
  13. putString(in *string)
  14. putBytes(in *[]byte)
  15. // stackable
  16. push(in pushEncoder)
  17. pushLength32()
  18. pushCRC32()
  19. pop()
  20. }
  21. type pushEncoder interface {
  22. saveOffset(in int)
  23. reserveLength() int
  24. run(curOffset int, buf []byte)
  25. }