rsmp 0.19.4 → 0.20.1

Sign up to get free protection for your applications and to get access to all the features.
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
  - - ">="