rsmp 0.19.4 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8f188c0b34f0877ae12b9948d0784b5e1f3f2a44e52e11995ba2adf12e299f4a
4
- data.tar.gz: a2b8097b5d73897840d093ce8fbf1690bd7c8bee1e1a2102a605565d12c22ddb
3
+ metadata.gz: e4840e792c5220a0314e3fddc2998fe41a0072f39cff3c1ff27aec53c61a17be
4
+ data.tar.gz: e1e72c37a1f33780bfc069c61cb263f810e44c76a4140d38362643f7498d9c7e
5
5
  SHA512:
6
- metadata.gz: '04258e76affbf8e3def87f12edaed2bde5ccf6bf36dfba175c47488082bfaa1e4e8e9c0c8c749295b098e73a39b0ca28bcb0ed4d0e0c90c054486f29a8e0d02d'
7
- data.tar.gz: 516d8818dc1737648afdb7cb1496d3c96ea2e9870dc61d185d3bb5a40897ea85ecb930cfece5e5f8dbd1bf8abaf6a62244c5f6188498b082e4c896c02551b190
6
+ metadata.gz: 953b54b09b714a62ecab71975ae2905b054f42ddbb0822b77abbed9337533a14f23199d8c4cab4b25ad8a2af98307472abf51948af4634e4165a3678caf0a622
7
+ data.tar.gz: 8e7d9394ecf2b27a4137ecc6b26855c179a006bf5ef283aabd35106c2d634eb628a9bef5b1ec14faa53b39e519d60e8222b1760c197e45443695fb3c7848fe51
@@ -10,7 +10,7 @@ jobs:
10
10
  matrix:
11
11
  os: [ubuntu-latest, macos-latest, windows-latest]
12
12
  # Due to https://github.com/actions/runner/issues/849, we have to use quotes
13
- ruby: ['3.0', '3.1', '3.2']
13
+ ruby: ['3.2']
14
14
  runs-on: ${{ matrix.os }}
15
15
  steps:
16
16
  - uses: actions/checkout@v2
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rsmp (0.19.4)
5
- async (~> 1.30.3)
6
- async-io (~> 1.34.3)
4
+ rsmp (0.20.1)
5
+ async (~> 2.6.2)
6
+ async-io (~> 1.35.0)
7
7
  colorize (~> 0.8.1)
8
8
  rsmp_schema (~> 0.4.0)
9
9
  thor (~> 1.2.2)
@@ -18,11 +18,12 @@ GEM
18
18
  cucumber (>= 4.0, < 9.0)
19
19
  rspec-expectations (~> 3.4)
20
20
  thor (~> 1.0)
21
- async (1.30.3)
21
+ async (2.6.2)
22
22
  console (~> 1.10)
23
- nio4r (~> 2.3)
23
+ fiber-annotation
24
+ io-event (~> 1.1)
24
25
  timers (~> 4.1)
25
- async-io (1.34.3)
26
+ async-io (1.35.0)
26
27
  async
27
28
  builder (3.2.4)
28
29
  childprocess (4.1.0)
@@ -62,6 +63,7 @@ GEM
62
63
  fiber-annotation (0.2.0)
63
64
  fiber-local (1.0.0)
64
65
  hana (1.3.7)
66
+ io-event (1.2.2)
65
67
  json_schemer (0.2.25)
66
68
  ecma-re-validator (~> 0.3)
67
69
  hana (~> 1.3)
@@ -72,7 +74,6 @@ GEM
72
74
  mime-types-data (~> 3.2015)
73
75
  mime-types-data (3.2023.0218.1)
74
76
  multi_test (1.1.0)
75
- nio4r (2.5.9)
76
77
  rake (13.0.6)
77
78
  regexp_parser (2.8.1)
78
79
  rsmp_schema (0.4.0)
@@ -35,8 +35,6 @@ module RSMP
35
35
  @category = category || 'D'
36
36
  @priority = priority || 2
37
37
  @rvs = rvs
38
-
39
- update_timestamp unless @timestamp
40
38
  end
41
39
 
42
40
  def to_hash
@@ -101,8 +99,9 @@ module RSMP
101
99
  false
102
100
  end
103
101
 
104
- def message_is_older? message
105
- Time.parse(message.attribute('aTs')) < @timestamp
102
+ def older_message? message
103
+ return false if @timestamp == nil
104
+ RSMP::Clock.parse(message.attribute('aTs')) < @timestamp
106
105
  end
107
106
 
108
107
  # update from rsmp message
@@ -111,11 +110,11 @@ module RSMP
111
110
  unless differ_from_message? message
112
111
  raise RepeatedAlarmError.new("no changes from previous alarm #{message.m_id_short}")
113
112
  end
114
- if message_is_older? message
113
+ if older_message? message
115
114
  raise TimestampError.new("timestamp is earlier than previous alarm #{message.m_id_short}")
116
115
  end
117
116
  ensure
118
- @timestamp = message.attribute('aTs')
117
+ @timestamp = RSMP::Clock.parse message.attribute('aTs')
119
118
  @acknowledged = message.attribute('ack') == 'True'
120
119
  @suspended = message.attribute('sS') == 'True'
121
120
  @active = message.attribute('aS') == 'True'
data/lib/rsmp/proxy.rb CHANGED
@@ -24,6 +24,11 @@ module RSMP
24
24
  @state = :disconnected
25
25
  end
26
26
 
27
+
28
+ def now
29
+ node.now
30
+ end
31
+
27
32
  def disconnect
28
33
  end
29
34
 
@@ -39,8 +44,13 @@ module RSMP
39
44
  log "Closing connection", level: :warning
40
45
  close_stream
41
46
  close_socket
47
+ stop_reader
42
48
  set_state :disconnected
43
49
  notify_error DisconnectError.new("Connection was closed")
50
+
51
+ # stop timer
52
+ # as we're running inside the timer, code after stop_timer() will not be called,
53
+ # unless it's in the ensure block
44
54
  stop_timer
45
55
  end
46
56
 
@@ -52,26 +62,26 @@ module RSMP
52
62
  end
53
63
 
54
64
  def stop_timer
55
- return unless @timer
56
- @timer.stop
65
+ @timer.stop if @timer
66
+ ensure
57
67
  @timer = nil
58
68
  end
59
69
 
60
70
  def stop_reader
61
- return unless @reader
62
- @reader.stop
71
+ @reader.stop if @reader
72
+ ensure
63
73
  @reader = nil
64
74
  end
65
75
 
66
76
  def close_stream
67
- return unless @stream
68
- @stream.close
77
+ @stream.close if @stream
78
+ ensure
69
79
  @stream = nil
70
80
  end
71
81
 
72
82
  def close_socket
73
- return unless @socket
74
- @socket.close
83
+ @socket.close if @socket
84
+ ensure
75
85
  @socket = nil
76
86
  end
77
87
 
data/lib/rsmp/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RSMP
2
- VERSION = "0.19.4"
2
+ VERSION = "0.20.1"
3
3
  end
data/rsmp.gemspec CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
13
13
  spec.description = %q{Easy RSMP site and supervisor communication.}
14
14
  spec.homepage = "https://github.com/rsmp-nordic/rsmp"
15
15
  spec.licenses = ['MIT']
16
- spec.required_ruby_version = '>= 3.0.0'
16
+ spec.required_ruby_version = '>= 3.2.0'
17
17
 
18
18
  spec.metadata["homepage_uri"] = spec.homepage
19
19
  spec.metadata["source_code_uri"] = "https://github.com/rsmp-nordic/rsmp"
@@ -30,8 +30,8 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
32
 
33
- spec.add_dependency "async", "~> 1.30.3"
34
- spec.add_dependency "async-io", "~> 1.34.3"
33
+ spec.add_dependency "async", "~> 2.6.2"
34
+ spec.add_dependency "async-io", "~> 1.35.0"
35
35
  spec.add_dependency "colorize", "~> 0.8.1"
36
36
  spec.add_dependency "thor", "~> 1.2.2"
37
37
  spec.add_dependency "rsmp_schema", "~> 0.4.0"
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.19.4
4
+ version: 0.20.1
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-06-16 00:00:00.000000000 Z
11
+ date: 2023-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.30.3
19
+ version: 2.6.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.30.3
26
+ version: 2.6.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: async-io
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.34.3
33
+ version: 1.35.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.34.3
40
+ version: 1.35.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: colorize
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -271,7 +271,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
271
271
  requirements:
272
272
  - - ">="
273
273
  - !ruby/object:Gem::Version
274
- version: 3.0.0
274
+ version: 3.2.0
275
275
  required_rubygems_version: !ruby/object:Gem::Requirement
276
276
  requirements:
277
277
  - - ">="