request.go 418 B

123456789101112131415161718192021222324
  1. package kafka
  2. type requestEncoder interface {
  3. encoder
  4. key() int16
  5. version() int16
  6. expectResponse() bool
  7. }
  8. type request struct {
  9. correlation_id int32
  10. id *string
  11. body requestEncoder
  12. }
  13. func (r *request) encode(pe packetEncoder) {
  14. pe.pushLength32()
  15. pe.putInt16(r.body.key())
  16. pe.putInt16(r.body.version())
  17. pe.putInt32(r.correlation_id)
  18. pe.putString(r.id)
  19. r.body.encode(pe)
  20. pe.pop()
  21. }