class Kafka::Protocol::ProduceResponse

def self.decode(decoder)

def self.decode(decoder)
  topics = decoder.array do
    topic = decoder.string
    partitions = decoder.array do
      PartitionInfo.new(
        partition: decoder.int32,
        error_code: decoder.int16,
        offset: decoder.int64,
        timestamp: Time.at(decoder.int64 / 1000.0),
      )
    end
    TopicInfo.new(topic: topic, partitions: partitions)
  end
  throttle_time_ms = decoder.int32
  new(topics: topics, throttle_time_ms: throttle_time_ms)
end

def each_partition

def each_partition
  @topics.each do |topic_info|
    topic_info.partitions.each do |partition_info|
      yield topic_info, partition_info
    end
  end
end

def initialize(topics: [], throttle_time_ms: 0)

def initialize(topics: [], throttle_time_ms: 0)
  @topics = topics
  @throttle_time_ms = throttle_time_ms
end