[フレーム]

Class: Kafka::Protocol::MemberAssignment

Inherits:
Object
  • Object
  • Kafka::Protocol::MemberAssignment
show all
Defined in:
lib/kafka/protocol/member_assignment.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(version: 0, topics: {}, user_data: nil) ⇒ MemberAssignment

Returns a new instance of MemberAssignment.

8
9
10
11
12
# 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

Instance Attribute Details

#topicsObject (readonly)

Returns the value of attribute topics.

6
7
8
# File 'lib/kafka/protocol/member_assignment.rb', line 6
def topics
 @topics
end

Class Method Details

.decode(decoder) ⇒ Object

33
34
35
36
37
38
39
# 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

Instance Method Details

#assign(topic, partitions) ⇒ Object

14
15
16
17
# File 'lib/kafka/protocol/member_assignment.rb', line 14
def assign(topic, partitions)
 @topics[topic] ||= []
 @topics[topic].concat(partitions)
end

#encode(encoder) ⇒ Object

19
20
21
22
23
24
25
26
27
28
29
30
31
# 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

AltStyle によって変換されたページ (->オリジナル) /