rsmp 0.13.1 → 0.13.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +3 -3
- data/lib/rsmp/component.rb +1 -1
- data/lib/rsmp/component_base.rb +8 -2
- data/lib/rsmp/proxy.rb +8 -0
- data/lib/rsmp/site_proxy.rb +7 -15
- data/lib/rsmp/supervisor_proxy.rb +1 -5
- data/lib/rsmp/tlc/traffic_controller.rb +2 -2
- data/lib/rsmp/tlc/traffic_controller_site.rb +4 -1
- 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: dfc37b07159cf717f60f293434f6fda0ff6935ad209967b7d5ddb025a9794600
|
4
|
+
data.tar.gz: 5c5e6b1e7728bdffd50776e95a7beb0fd6261dbb58b4ec3f530f7b33ee15cdf4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 201cad0d07ee914d79af82d8ad2ee10740fbe49002e1f3cbb2740b3d573df61c26532688651e6f6f70ea538e0475f51cbe0a46055b2b6331cd5fff48aa4b8d3e
|
7
|
+
data.tar.gz: 74a44c4ac848c9dbe5f0fbd772f2839c5565a8322d7292218d64f7e31f5fdf8e4849e59845fee361d0ca1ed0ecaa2ce067fdc71a86eaf0e50959e0d826742b2f
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rsmp (0.13.
|
4
|
+
rsmp (0.13.2)
|
5
5
|
async (~> 1.29.1)
|
6
6
|
async-io (~> 1.32.2)
|
7
7
|
colorize (~> 0.8.1)
|
@@ -68,7 +68,7 @@ GEM
|
|
68
68
|
ffi (1.15.5-x64-mingw32)
|
69
69
|
fiber-local (1.0.0)
|
70
70
|
hana (1.3.7)
|
71
|
-
json_schemer (0.2.
|
71
|
+
json_schemer (0.2.21)
|
72
72
|
ecma-re-validator (~> 0.3)
|
73
73
|
hana (~> 1.3)
|
74
74
|
regexp_parser (~> 2.0)
|
@@ -79,7 +79,7 @@ GEM
|
|
79
79
|
multi_test (0.1.2)
|
80
80
|
nio4r (2.5.8)
|
81
81
|
rake (13.0.6)
|
82
|
-
regexp_parser (2.
|
82
|
+
regexp_parser (2.4.0)
|
83
83
|
rsmp_schemer (0.4.0)
|
84
84
|
json_schemer (~> 0.2.18)
|
85
85
|
rspec (3.10.0)
|
data/lib/rsmp/component.rb
CHANGED
data/lib/rsmp/component_base.rb
CHANGED
@@ -5,7 +5,8 @@ module RSMP
|
|
5
5
|
class ComponentBase
|
6
6
|
include Inspect
|
7
7
|
|
8
|
-
attr_reader :c_id, :
|
8
|
+
attr_reader :c_id, :ntsOId, :xNId, :node, :alarms, :statuses,
|
9
|
+
:aggregated_status, :aggregated_status_bools, :grouped
|
9
10
|
|
10
11
|
AGGREGATED_STATUS_KEYS = [ :local_control,
|
11
12
|
:communication_distruption,
|
@@ -16,8 +17,13 @@ module RSMP
|
|
16
17
|
:rest,
|
17
18
|
:not_connected ]
|
18
19
|
|
19
|
-
def initialize node:, id:, grouped: false
|
20
|
+
def initialize node:, id:, ntsOId: nil, xNId: nil, grouped: false
|
21
|
+
if grouped==false && (ntsOId || xNId)
|
22
|
+
raise RSMP::ConfigurationError.new("ntsOId and xNId are only allowed for grouped objects")
|
23
|
+
end
|
20
24
|
@c_id = id
|
25
|
+
@ntsOId = ntsOId
|
26
|
+
@xNId = xNId
|
21
27
|
@node = node
|
22
28
|
@grouped = grouped
|
23
29
|
clear_aggregated_status
|
data/lib/rsmp/proxy.rb
CHANGED
@@ -643,5 +643,13 @@ module RSMP
|
|
643
643
|
return { sent: message }
|
644
644
|
end
|
645
645
|
end
|
646
|
+
|
647
|
+
def set_nts_message_attributes message
|
648
|
+
return unless @site && @site.main
|
649
|
+
ntsOId = @site.main.ntsOId
|
650
|
+
xNId = @site.main.xNId
|
651
|
+
message.attributes['ntsOId'] = ntsOId if ntsOId
|
652
|
+
message.attributes['xNId'] = xNId if xNId
|
653
|
+
end
|
646
654
|
end
|
647
655
|
end
|
data/lib/rsmp/site_proxy.rb
CHANGED
@@ -114,13 +114,11 @@ module RSMP
|
|
114
114
|
def request_aggregated_status component, options={}
|
115
115
|
validate_ready 'request aggregated status'
|
116
116
|
m_id = options[:m_id] || RSMP::Message.make_m_id
|
117
|
-
|
118
117
|
message = RSMP::AggregatedStatusRequest.new({
|
119
|
-
|
120
|
-
|
121
|
-
"cId" => component,
|
122
|
-
"mId" => m_id
|
118
|
+
"cId" => component,
|
119
|
+
"mId" => m_id
|
123
120
|
})
|
121
|
+
set_nts_message_attributes message
|
124
122
|
send_and_optionally_collect message, options do |collect_options|
|
125
123
|
AggregatedStatusCollector.new(
|
126
124
|
self,
|
@@ -187,12 +185,11 @@ module RSMP
|
|
187
185
|
request_list = status_list.map { |item| item.slice('sCI','n') }
|
188
186
|
|
189
187
|
message = RSMP::StatusRequest.new({
|
190
|
-
"ntsOId" => @ntsOId,
|
191
|
-
"xNId" => @xNId,
|
192
188
|
"cId" => component,
|
193
189
|
"sS" => request_list,
|
194
190
|
"mId" => m_id
|
195
191
|
})
|
192
|
+
set_nts_message_attributes message
|
196
193
|
send_and_optionally_collect message, options do |collect_options|
|
197
194
|
StatusCollector.new(
|
198
195
|
self,
|
@@ -232,12 +229,11 @@ module RSMP
|
|
232
229
|
component.allow_repeat_updates subscribe_list
|
233
230
|
|
234
231
|
message = RSMP::StatusSubscribe.new({
|
235
|
-
"ntsOId" => @ntsOId,
|
236
|
-
"xNId" => @xNId,
|
237
232
|
"cId" => component_id,
|
238
233
|
"sS" => subscribe_list,
|
239
234
|
'mId' => m_id
|
240
235
|
})
|
236
|
+
set_nts_message_attributes message
|
241
237
|
send_and_optionally_collect message, options do |collect_options|
|
242
238
|
StatusCollector.new(
|
243
239
|
self,
|
@@ -262,11 +258,10 @@ module RSMP
|
|
262
258
|
end
|
263
259
|
|
264
260
|
message = RSMP::StatusUnsubscribe.new({
|
265
|
-
"ntsOId" => @ntsOId,
|
266
|
-
"xNId" => @xNId,
|
267
261
|
"cId" => component_id,
|
268
262
|
"sS" => status_list
|
269
263
|
})
|
264
|
+
set_nts_message_attributes message
|
270
265
|
send_message message, validate: options[:validate]
|
271
266
|
message
|
272
267
|
end
|
@@ -292,12 +287,11 @@ module RSMP
|
|
292
287
|
validate_ready 'send command'
|
293
288
|
m_id = options[:m_id] || RSMP::Message.make_m_id
|
294
289
|
message = RSMP::CommandRequest.new({
|
295
|
-
"ntsOId" => @ntsOId,
|
296
|
-
"xNId" => @xNId,
|
297
290
|
"cId" => component,
|
298
291
|
"arg" => command_list,
|
299
292
|
"mId" => m_id
|
300
293
|
})
|
294
|
+
set_nts_message_attributes message
|
301
295
|
send_and_optionally_collect message, options do |collect_options|
|
302
296
|
CommandResponseCollector.new(
|
303
297
|
self,
|
@@ -369,8 +363,6 @@ module RSMP
|
|
369
363
|
@site_settings = find_site_settings @site_id
|
370
364
|
if @site_settings
|
371
365
|
@sxl = @site_settings['sxl']
|
372
|
-
@ntsOId = @site_settings['ntsOId']
|
373
|
-
@xNId = @site_settings['xNId']
|
374
366
|
setup_components @site_settings['components']
|
375
367
|
else
|
376
368
|
dont_acknowledge message, 'Rejected', "No config found for site #{@site_id}"
|
@@ -15,8 +15,6 @@ module RSMP
|
|
15
15
|
@port = options[:port]
|
16
16
|
@status_subscriptions = {}
|
17
17
|
@sxl = @site_settings['sxl']
|
18
|
-
@ntsOId = @site_settings['ntsOId']
|
19
|
-
@xNId = @site_settings['xNId']
|
20
18
|
@synthetic_id = Supervisor.build_id_from_ip_port @ip, @port
|
21
19
|
end
|
22
20
|
|
@@ -162,9 +160,7 @@ module RSMP
|
|
162
160
|
"se" => component.aggregated_status_bools,
|
163
161
|
"mId" => m_id,
|
164
162
|
})
|
165
|
-
message
|
166
|
-
message.attributes['xNId'] = @site_settings['xNId'] if @site_settings['xNId']
|
167
|
-
|
163
|
+
set_nts_message_attributes message
|
168
164
|
send_and_optionally_collect message, options do |collect_options|
|
169
165
|
Collector.new self, collect_options.merge(task:@task, type: 'MessageAck')
|
170
166
|
end
|
@@ -9,9 +9,9 @@ module RSMP
|
|
9
9
|
:functional_position,
|
10
10
|
:startup_sequence_active, :startup_sequence, :startup_sequence_pos
|
11
11
|
|
12
|
-
def initialize node:, id:, cycle_time: 10, signal_plans:,
|
12
|
+
def initialize node:, id:, ntsOId: nil, xNId: nil, cycle_time: 10, signal_plans:,
|
13
13
|
startup_sequence:, live_output:nil, inputs:{}
|
14
|
-
super node: node, id: id, grouped: true
|
14
|
+
super node: node, id: id, ntsOId: ntsOId, xNId: xNId, grouped: true
|
15
15
|
@signal_groups = []
|
16
16
|
@detector_logics = []
|
17
17
|
@plans = signal_plans
|
@@ -52,7 +52,10 @@ module RSMP
|
|
52
52
|
def build_component id:, type:, settings:{}
|
53
53
|
component = case type
|
54
54
|
when 'main'
|
55
|
-
@main = TrafficController.new node: self,
|
55
|
+
@main = TrafficController.new node: self,
|
56
|
+
id: id,
|
57
|
+
ntsOId: settings['ntsOId'],
|
58
|
+
xNId: settings['xNId'],
|
56
59
|
cycle_time: settings['cycle_time'],
|
57
60
|
startup_sequence: @startup_sequence,
|
58
61
|
signal_plans: @signal_plans,
|
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.13.
|
4
|
+
version: 0.13.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Emil Tin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-05-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: async
|