class Kafka::Protocol::CreatePartitionsRequest

Public Class Methods

new(topics:, timeout:) click to toggle source
# File lib/kafka/protocol/create_partitions_request.rb, line 7
def initialize(topics:, timeout:)
  @topics, @timeout = topics, timeout
end

Public Instance Methods

api_key() click to toggle source
# File lib/kafka/protocol/create_partitions_request.rb, line 11
def api_key
  CREATE_PARTITIONS_API
end
api_version() click to toggle source
# File lib/kafka/protocol/create_partitions_request.rb, line 15
def api_version
  0
end
encode(encoder) click to toggle source
# File lib/kafka/protocol/create_partitions_request.rb, line 23
def encode(encoder)
  encoder.write_array(@topics) do |topic, count, assignments|
    encoder.write_string(topic)
    encoder.write_int32(count)
    encoder.write_array(assignments) do |assignment|
      encoder.write_array(assignment) do |broker|
        encoder.write_int32(broker)
      end
    end
  end
  # Timeout is in ms.
  encoder.write_int32(@timeout * 1000)
  # validate_only. There isn't any use case for this in real life. So
  # let's ignore it for now
  encoder.write_boolean(false)
end
response_class() click to toggle source
# File lib/kafka/protocol/create_partitions_request.rb, line 19
def response_class
  Protocol::CreatePartitionsResponse
end