mirror of
https://github.com/containous/traefik.git
synced 2024-12-24 21:34:39 +03:00
53 lines
864 B
Go
53 lines
864 B
Go
package sarama
|
|
|
|
type MetadataRequest struct {
|
|
Topics []string
|
|
}
|
|
|
|
func (r *MetadataRequest) encode(pe packetEncoder) error {
|
|
err := pe.putArrayLength(len(r.Topics))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
for i := range r.Topics {
|
|
err = pe.putString(r.Topics[i])
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (r *MetadataRequest) decode(pd packetDecoder, version int16) error {
|
|
topicCount, err := pd.getArrayLength()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if topicCount == 0 {
|
|
return nil
|
|
}
|
|
|
|
r.Topics = make([]string, topicCount)
|
|
for i := range r.Topics {
|
|
topic, err := pd.getString()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
r.Topics[i] = topic
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (r *MetadataRequest) key() int16 {
|
|
return 3
|
|
}
|
|
|
|
func (r *MetadataRequest) version() int16 {
|
|
return 0
|
|
}
|
|
|
|
func (r *MetadataRequest) requiredVersion() KafkaVersion {
|
|
return minVersion
|
|
}
|