Class: PulsarSdk::Protocol::Partitioned
- Inherits:
-
Object
- Object
- PulsarSdk::Protocol::Partitioned
- Defined in:
- lib/pulsar_sdk/protocol/partitioned.rb
Instance Method Summary collapse
-
#initialize(client, topic) ⇒ Partitioned
constructor
A new instance of Partitioned.
-
#partitioned? ⇒ Boolean
当前topic是否是分区topic.
- #partitions ⇒ Object
Constructor Details
#initialize(client, topic) ⇒ Partitioned
Returns a new instance of Partitioned.
4 5 6 7 |
# File 'lib/pulsar_sdk/protocol/partitioned.rb', line 4 def initialize(client, topic) @client = client @tn = ::PulsarSdk::Protocol::Topic.parse(topic) end |
Instance Method Details
#partitioned? ⇒ Boolean
当前topic是否是分区topic
27 28 29 |
# File 'lib/pulsar_sdk/protocol/partitioned.rb', line 27 def partitioned? .partitions > 0 end |
#partitions ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/pulsar_sdk/protocol/partitioned.rb', line 9 def partitions pmr = if !success_response?(pmr) PulsarSdk.logger.error(__method__){"Get topic partitioned metadata failed, #{pmr.error}: #{pmr.}"} return [] end return [@tn.to_s] if pmr.partitions.zero? tn = @tn.dup (0..pmr.partitions).map do |i| tn.partition = i tn.to_s end end |