Class: Kafka::Protocol::ProduceResponse
- Inherits:
-
Object
- Object
- Kafka::Protocol::ProduceResponse
- Defined in:
- lib/kafka/protocol/produce_response.rb
Defined Under Namespace
Classes: PartitionInfo, TopicInfo
Instance Attribute Summary collapse
-
#throttle_time_ms ⇒ Object
readonly
Returns the value of attribute throttle_time_ms.
-
#topics ⇒ Object
readonly
Returns the value of attribute topics.
Class Method Summary collapse
Instance Method Summary collapse
- #each_partition ⇒ Object
-
#initialize(topics: [], throttle_time_ms: 0) ⇒ ProduceResponse
constructor
A new instance of ProduceResponse.
Constructor Details
#initialize(topics: [], throttle_time_ms: 0) ⇒ ProduceResponse
Returns a new instance of ProduceResponse.
28 29 30 31 |
# File 'lib/kafka/protocol/produce_response.rb', line 28 def initialize(topics: [], throttle_time_ms: 0) @topics = topics @throttle_time_ms = throttle_time_ms end |
Instance Attribute Details
#throttle_time_ms ⇒ Object (readonly)
Returns the value of attribute throttle_time_ms.
26 27 28 |
# File 'lib/kafka/protocol/produce_response.rb', line 26 def throttle_time_ms @throttle_time_ms end |
#topics ⇒ Object (readonly)
Returns the value of attribute topics.
26 27 28 |
# File 'lib/kafka/protocol/produce_response.rb', line 26 def topics @topics end |
Class Method Details
.decode(decoder) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/kafka/protocol/produce_response.rb', line 41 def self.decode(decoder) topics = decoder.array do topic = decoder.string partitions = decoder.array do PartitionInfo.new( partition: decoder.int32, error_code: decoder.int16, offset: decoder.int64, timestamp: Time.at(decoder.int64 / 1000.0), ) end TopicInfo.new(topic: topic, partitions: partitions) end throttle_time_ms = decoder.int32 new(topics: topics, throttle_time_ms: throttle_time_ms) end |
Instance Method Details
#each_partition ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/kafka/protocol/produce_response.rb', line 33 def each_partition @topics.each do |topic_info| topic_info.partitions.each do |partition_info| yield topic_info, partition_info end end end |