rsmp 0.17.3 → 0.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/lib/rsmp/alarm_state.rb +7 -0
- data/lib/rsmp/component.rb +10 -0
- data/lib/rsmp/site.rb +5 -0
- data/lib/rsmp/supervisor_proxy.rb +15 -2
- data/lib/rsmp/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 617db976cf78abbb1d4bbae2e31ba58863d21f9ef9df8f912cf84eb093a6de7d
|
4
|
+
data.tar.gz: 056310e524601423385b17156276ff1dac127594106db24832b8368134a8c843
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c73d30a792e3b00c99f695ac4a686aa8b67b627b184a0abcc5c14d6f2c2495755490b581de792774e58fb524d82e30bb51a32eb6aa570be2484bba26f682437a
|
7
|
+
data.tar.gz: 350ae202e67dd8f51ce478321af030d578b9134bdb659510740e9ab48a9aaa549a528e1c223717af8f21044e9d5aa08fe59a8bc8f08871b2059fa72bc4bf8738
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rsmp (0.
|
4
|
+
rsmp (0.18.0)
|
5
5
|
async (~> 1.30.3)
|
6
6
|
async-io (~> 1.33.0)
|
7
7
|
colorize (~> 0.8.1)
|
@@ -79,7 +79,7 @@ GEM
|
|
79
79
|
multi_test (0.1.2)
|
80
80
|
nio4r (2.5.9)
|
81
81
|
rake (13.0.6)
|
82
|
-
regexp_parser (2.
|
82
|
+
regexp_parser (2.8.0)
|
83
83
|
rsmp_schema (0.4.0)
|
84
84
|
json_schemer (~> 0.2.21)
|
85
85
|
thor (~> 1.2.1)
|
data/lib/rsmp/alarm_state.rb
CHANGED
data/lib/rsmp/component.rb
CHANGED
@@ -13,6 +13,16 @@ module RSMP
|
|
13
13
|
raise UnknownStatus.new "Status #{status_code}/#{status_name} not implemented by #{self.class}"
|
14
14
|
end
|
15
15
|
|
16
|
+
def acknowledge_alarm alarm_code
|
17
|
+
alarm = get_alarm_state alarm_code
|
18
|
+
if alarm.acknowledge
|
19
|
+
log "Acknowledging alarm #{alarm_code}", level: :info
|
20
|
+
@node.alarm_acknowledged alarm
|
21
|
+
else
|
22
|
+
log "Alarm #{alarm_code} already acknowledged", level: :info
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
16
26
|
def suspend_alarm alarm_code
|
17
27
|
alarm = get_alarm_state alarm_code
|
18
28
|
if alarm.suspend
|
data/lib/rsmp/site.rb
CHANGED
@@ -96,6 +96,11 @@ module RSMP
|
|
96
96
|
end
|
97
97
|
end
|
98
98
|
|
99
|
+
def alarm_acknowledged alarm_state
|
100
|
+
alarm = AlarmIssue.new( alarm_state.to_hash.merge('aSp' => 'Issue') )
|
101
|
+
send_alarm alarm
|
102
|
+
end
|
103
|
+
|
99
104
|
def alarm_suspended_or_resumed alarm_state
|
100
105
|
alarm = AlarmIssue.new( alarm_state.to_hash.merge('aSp' => 'Suspend') )
|
101
106
|
send_alarm alarm
|
@@ -70,10 +70,13 @@ module RSMP
|
|
70
70
|
# Async::IO::Endpoint#connect renames the current task. run in a subtask to avoid this see issue #22
|
71
71
|
@task.async do |task|
|
72
72
|
task.annotate 'socket task'
|
73
|
-
# this timeout is a workaround for
|
74
|
-
|
73
|
+
# this timeout is a workaround for connect hanging on windows if the other side is not present yet
|
74
|
+
timeout = @site_settings.dig('timeouts','connect') || 1.1
|
75
|
+
task.with_timeout timeout do
|
75
76
|
@socket = @endpoint.connect
|
76
77
|
end
|
78
|
+
delay = @site_settings.dig('intervals','after_connect')
|
79
|
+
task.sleep delay if delay
|
77
80
|
end.wait
|
78
81
|
|
79
82
|
@stream = Async::IO::Stream.new(@socket)
|
@@ -207,6 +210,16 @@ module RSMP
|
|
207
210
|
end
|
208
211
|
end
|
209
212
|
|
213
|
+
# handle incoming alarm acknowledge
|
214
|
+
def handle_alarm_acknowledge message
|
215
|
+
component_id = message.attributes["cId"]
|
216
|
+
component = @site.find_component component_id
|
217
|
+
alarm_code = message.attribute("aCId")
|
218
|
+
log "Received #{message.type} #{alarm_code} acknowledgement", message: message, level: :log
|
219
|
+
acknowledge message
|
220
|
+
component.acknowledge_alarm alarm_code
|
221
|
+
end
|
222
|
+
|
210
223
|
# handle incoming alarm suspend
|
211
224
|
def handle_alarm_suspend message
|
212
225
|
component_id = message.attributes["cId"]
|
data/lib/rsmp/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rsmp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Emil Tin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-04-
|
11
|
+
date: 2023-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: async
|