Sha256: 4cfbe9f48097d971dafd40a2c7d171c4e9cde770b5bb091cf83e5d507461488a

Contents?: true

Size: 1.19 KB

Versions: 49

Compression:

Stored size: 1.19 KB

Contents

# frozen_string_literal: true

module Kafka
  module Protocol
    class OffsetCommitRequest
      # This value signals to the broker that its default configuration should be used.
      DEFAULT_RETENTION_TIME = -1

      def api_key
        OFFSET_COMMIT_API
      end

      def api_version
        2
      end

      def response_class
        OffsetCommitResponse
      end

      def initialize(group_id:, generation_id:, member_id:, retention_time: DEFAULT_RETENTION_TIME, offsets:)
        @group_id = group_id
        @generation_id = generation_id
        @member_id = member_id
        @retention_time = retention_time
        @offsets = offsets
      end

      def encode(encoder)
        encoder.write_string(@group_id)
        encoder.write_int32(@generation_id)
        encoder.write_string(@member_id)
        encoder.write_int64(@retention_time)

        encoder.write_array(@offsets) do |topic, partitions|
          encoder.write_string(topic)

          encoder.write_array(partitions) do |partition, offset|
            encoder.write_int32(partition)
            encoder.write_int64(offset)
            encoder.write_string(nil) # metadata
          end
        end
      end
    end
  end
end

Version data entries

49 entries across 49 versions & 4 rubygems

Version Path
ruby-kafka-1.5.0 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-aws-iam-1.4.5 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-aws-iam-1.4.4 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-aws-iam-1.4.3 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-aws-iam-1.4.2 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-aws-iam-1.4.1 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-1.4.0 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-temp-fork-0.0.2 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-temp-fork-0.0.1 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-1.3.0 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-1.2.0 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-1.1.0 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-1.1.0.beta1 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-1.0.0 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-0.7.10 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-0.7.9 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-0.7.8 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-0.7.7 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-custom-0.7.7.26 lib/kafka/protocol/offset_commit_request.rb
ruby-kafka-0.7.6 lib/kafka/protocol/offset_commit_request.rb