partition_metadata.go 730 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package kafka
  2. type partitionMetadata struct {
  3. err KError
  4. id int32
  5. leader int32
  6. replicas []int32
  7. isr []int32
  8. }
  9. func (pm *partitionMetadata) encode(pe packetEncoder) {
  10. pe.putError(pm.err)
  11. pe.putInt32(pm.id)
  12. pe.putInt32(pm.leader)
  13. pe.putInt32Array(pm.replicas)
  14. pe.putInt32Array(pm.isr)
  15. }
  16. func (pm *partitionMetadata) decode(pd packetDecoder) (err error) {
  17. pm.err, err = pd.getError()
  18. if err != nil {
  19. return err
  20. }
  21. pm.id, err = pd.getInt32()
  22. if err != nil {
  23. return err
  24. }
  25. pm.leader, err = pd.getInt32()
  26. if err != nil {
  27. return err
  28. }
  29. pm.replicas, err = pd.getInt32Array()
  30. if err != nil {
  31. return err
  32. }
  33. pm.isr, err = pd.getInt32Array()
  34. if err != nil {
  35. return err
  36. }
  37. return nil
  38. }