| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package protocol
- import enc "sarama/encoding"
- type OffsetFetchRequest struct {
- ConsumerGroup string
- partitions map[string][]int32
- }
- func (r *OffsetFetchRequest) Encode(pe enc.PacketEncoder) error {
- err := pe.PutString(r.ConsumerGroup)
- if err != nil {
- return err
- }
- err = pe.PutArrayLength(len(r.partitions))
- if err != nil {
- return err
- }
- for topic, partitions := range r.partitions {
- err = pe.PutString(topic)
- if err != nil {
- return err
- }
- pe.PutInt32Array(partitions)
- }
- }
- func (r *OffsetFetchRequest) key() int16 {
- return 7
- }
- func (r *OffsetFetchRequest) version() int16 {
- return 0
- }
- func (r *OffsetFetchRequest) AddPartition(topic string, partition_id int32) {
- if r.partitions == nil {
- r.partitions = make(map[string][]int32)
- }
- r.partitions[topic] = append(r.partitions[topic], partition_id)
- }
|