Class: Cosmos::Topic
Direct Known Subclasses
AutonomicTopic, CalendarTopic, CommandDecomTopic, CommandTopic, InterfaceTopic, LimitsEventTopic, NotificationsTopic, RouterTopic, TelemetryDecomTopic, TelemetryTopic, TimelineTopic
Class Method Summary
collapse
Class Method Details
.clear_topics(topics, maxlen = 0) ⇒ Object
32
33
34
35
36
|
# File 'lib/cosmos/topics/topic.rb', line 32
def self.clear_topics(topics, maxlen = 0)
topics.each do |topic|
Store.xtrim(topic, maxlen)
end
end
|
.initialize_streams(topics) ⇒ Object
24
25
26
|
# File 'lib/cosmos/topics/topic.rb', line 24
def self.initialize_streams(topics)
Store.initialize_streams(topics)
end
|
.read_topics(topics, offsets = nil, timeout_ms = 1000, &block) ⇒ Object
28
29
30
|
# File 'lib/cosmos/topics/topic.rb', line 28
def self.read_topics(topics, offsets = nil, timeout_ms = 1000, &block)
Store.read_topics(topics, offsets, timeout_ms, &block)
end
|
.topics(scope, key) ⇒ Object
38
39
40
41
42
43
44
45
46
|
# File 'lib/cosmos/topics/topic.rb', line 38
def self.topics(scope, key)
topics = []
loop do
token, streams = Store.scan(0, :match => "#{scope}__#{key}__*", :count => 1000)
topics.concat(streams)
break if token == 0
end
topics
end
|