class Kafka::Protocol::MemberAssignment
Attributes
topics[R]
Public Class Methods
decode(decoder)
click to toggle source
# File lib/kafka/protocol/member_assignment.rb, line 33 def self.decode(decoder) new( version: decoder.int16, topics: Hash[decoder.array { [decoder.string, decoder.array { decoder.int32 }] }], user_data: decoder.bytes, ) end
new(version: 0, topics: {}, user_data: nil)
click to toggle source
# File lib/kafka/protocol/member_assignment.rb, line 8 def initialize(version: 0, topics: {}, user_data: nil) @version = version @topics = topics @user_data = user_data end
Public Instance Methods
assign(topic, partitions)
click to toggle source
# File lib/kafka/protocol/member_assignment.rb, line 14 def assign(topic, partitions) @topics[topic] ||= [] @topics[topic].concat(partitions) end
encode(encoder)
click to toggle source
# File lib/kafka/protocol/member_assignment.rb, line 19 def encode(encoder) encoder.write_int16(@version) encoder.write_array(@topics) do |topic, partitions| encoder.write_string(topic) encoder.write_array(partitions) do |partition| encoder.write_int32(partition) end end encoder.write_bytes(@user_data) end