Sha256: 75b8d4df0f18a1ce86ecd98c229e3c11d0c5a987b30163bb1d8bb11e95306ae7

Contents?: true

Size: 931 Bytes

Versions: 1

Compression:

Stored size: 931 Bytes

Contents

module Kafka
  module Protocol
    class ProduceResponse
      class TopicInfo
        attr_reader :topic, :partitions

        def initialize(topic, partitions)
          @topic = topic
          @partitions = partitions
        end
      end

      class PartitionInfo
        attr_reader :partition, :error_code, :offset

        def initialize(partition, error_code, offset)
          @partition = partition
          @error_code = error_code
          @offset = offset
        end
      end

      attr_reader :topics

      def decode(decoder)
        @topics = decoder.array do
          topic = decoder.string

          partitions = decoder.array do
            partition = decoder.int32
            error_code = decoder.int16
            offset = decoder.int64

            PartitionInfo.new(partition, error_code, offset)
          end

          TopicInfo.new(topic, partitions)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruby-kafka-0.1.0.pre.alpha lib/kafka/protocol/produce_response.rb