metadata_request.go 466 B

123456789101112131415161718192021222324252627282930
  1. package protocol
  2. import enc "sarama/encoding"
  3. type MetadataRequest struct {
  4. Topics []string
  5. }
  6. func (mr *MetadataRequest) Encode(pe enc.PacketEncoder) error {
  7. err := pe.PutArrayLength(len(mr.Topics))
  8. if err != nil {
  9. return err
  10. }
  11. for i := range mr.Topics {
  12. err = pe.PutString(mr.Topics[i])
  13. if err != nil {
  14. return err
  15. }
  16. }
  17. return nil
  18. }
  19. func (mr *MetadataRequest) key() int16 {
  20. return 3
  21. }
  22. func (mr *MetadataRequest) version() int16 {
  23. return 0
  24. }