class Kafka::Protocol::CreateTopicsRequest
Public Class Methods
new(topics:, timeout:)
click to toggle source
# File lib/kafka/protocol/create_topics_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_topics_request.rb, line 11 def api_key CREATE_TOPICS_API end
api_version()
click to toggle source
# File lib/kafka/protocol/create_topics_request.rb, line 15 def api_version 0 end
encode(encoder)
click to toggle source
# File lib/kafka/protocol/create_topics_request.rb, line 23 def encode(encoder) encoder.write_array(@topics) do |topic, config| encoder.write_string(topic) encoder.write_int32(config.fetch(:num_partitions)) encoder.write_int16(config.fetch(:replication_factor)) # Replica assignments. We don't care. encoder.write_array([]) encoder.write_array(config.fetch(:config)) do |config_name, config_value| config_value = config_value.to_s unless config_value.nil? encoder.write_string(config_name) encoder.write_string(config_value) end end # Timeout is in ms. encoder.write_int32(@timeout * 1000) end
response_class()
click to toggle source
# File lib/kafka/protocol/create_topics_request.rb, line 19 def response_class Protocol::CreateTopicsResponse end