metadata_request.go 675 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package kafka
  2. type metadataRequest struct {
  3. topics []*string
  4. }
  5. func (mr *metadataRequest) encode(pe packetEncoder) {
  6. pe.putArrayCount(len(mr.topics))
  7. for i := range mr.topics {
  8. pe.putString(mr.topics[i])
  9. }
  10. }
  11. func (mr *metadataRequest) decode(pd packetDecoder) (err error) {
  12. n, err := pd.getArrayCount()
  13. if err != nil {
  14. return err
  15. }
  16. mr.topics = make([]*string, n)
  17. for i := 0; i < n; i++ {
  18. mr.topics[i], err = pd.getString()
  19. if err != nil {
  20. return err
  21. }
  22. }
  23. return nil
  24. }
  25. func (mr *metadataRequest) key() int16 {
  26. return 3
  27. }
  28. func (mr *metadataRequest) version() int16 {
  29. return 0
  30. }
  31. func (mr *metadataRequest) expectResponse() bool {
  32. return true
  33. }