Class: OpenC3::Topic
Direct Known Subclasses
AutonomicTopic, CalendarTopic, CommandDecomTopic, CommandTopic, ConfigTopic, DecomInterfaceTopic, InterfaceTopic, LimitsEventTopic, NotificationsTopic, RouterTopic, TelemetryDecomTopic, TelemetryReducedDayTopic, TelemetryReducedHourTopic, TelemetryReducedMinuteTopic, TelemetryTopic, TimelineTopic
Class Method Summary
collapse
Class Method Details
.clear_topics(topics, maxlen = 0) ⇒ Object
32
33
34
|
# File 'lib/openc3/topics/topic.rb', line 32
def self.clear_topics(topics, maxlen = 0)
topics.each { |topic| EphemeralStore.xtrim(topic, maxlen) }
end
|
.get_cnt(topic) ⇒ Object
44
45
46
47
|
# File 'lib/openc3/topics/topic.rb', line 44
def self.get_cnt(topic)
_, packet = EphemeralStore.get_newest_message(topic)
packet ? packet["received_count"].to_i : 0
end
|
.method_missing(message, *args, **kwargs, &block) ⇒ Object
Delegate all unknown class methods to delegate to the EphemeralStore
28
29
30
|
# File 'lib/openc3/topics/topic.rb', line 28
def self.method_missing(message, *args, **kwargs, &block)
EphemeralStore.public_send(message, *args, **kwargs, &block)
end
|
.topics(scope, key) ⇒ Object
36
37
38
39
40
41
42
|
# File 'lib/openc3/topics/topic.rb', line 36
def self.topics(scope, key)
EphemeralStore
.scan_each(match: "#{scope}__#{key}__*", type: 'stream', count: 100)
.to_a .uniq .sort end
|