Sha256: 399f3e3029385169fd8b1ec81e0bfe937fa0d996fe9148801cb480dafee50072

Contents?: true

Size: 1.03 KB

Versions: 9

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

module Kafka
  module Protocol
    class TxnOffsetCommitResponse
      class PartitionError
        attr_reader :partition, :error_code

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

      class TopicPartitionsError
        attr_reader :topic, :partitions

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

      attr_reader :errors

      def initialize(errors:)
        @errors = errors
      end

      def self.decode(decoder)
        _throttle_time_ms = decoder.int32
        errors = decoder.array do
          TopicPartitionsError.new(
            topic: decoder.string,
            partitions: decoder.array do
              PartitionError.new(
                partition: decoder.int32,
                error_code: decoder.int16
              )
            end
          )
        end
        new(errors: errors)
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 3 rubygems

Version Path
ruby-kafka-1.5.0 lib/kafka/protocol/txn_offset_commit_response.rb
ruby-kafka-aws-iam-1.4.5 lib/kafka/protocol/txn_offset_commit_response.rb
ruby-kafka-aws-iam-1.4.4 lib/kafka/protocol/txn_offset_commit_response.rb
ruby-kafka-aws-iam-1.4.3 lib/kafka/protocol/txn_offset_commit_response.rb
ruby-kafka-aws-iam-1.4.2 lib/kafka/protocol/txn_offset_commit_response.rb
ruby-kafka-aws-iam-1.4.1 lib/kafka/protocol/txn_offset_commit_response.rb
ruby-kafka-1.4.0 lib/kafka/protocol/txn_offset_commit_response.rb
ruby-kafka-temp-fork-0.0.2 lib/kafka/protocol/txn_offset_commit_response.rb
ruby-kafka-temp-fork-0.0.1 lib/kafka/protocol/txn_offset_commit_response.rb