rsmp 0.53.0 → 0.53.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: 66bd0079bb76c72ad04ce15f191ac3f33a06bcaf4f941c8d23f10b8239c3f308
4
- data.tar.gz: 34f6fb37b13637ffe1bdf3f92064e103fc3b8b798fce11e2764d0ab810f23190
3
+ metadata.gz: 753bf9789b6bf177b83fb54c6fb95856b5f6ceed515a9ff17ba4993109a88d29
4
+ data.tar.gz: 0ab04b23c2e57490c605f26bb2962d79a88dc6a1e4b165085dedbc4dab52a834
5
5
  SHA512:
6
- metadata.gz: 140f8cd7c0f9f5b542d4b4f47fd4d99095ff7eecaaf784bc6b6ae92e5dee1014b4f0a6338159c21e3bdda86e3ef06764f17b9d0055c3880b213a2c18e0e18708
7
- data.tar.gz: ab5da12c73a27485b2e94d73cc2090adce96b69aa97dbb4530b5d5819aad20ecf0fa466d2b3b3f5068e678cbe41fcfefdf9808155c25656ad4fb52e78432ce7c
6
+ metadata.gz: e66c0016019dff11724b0989dd3da9d319aa8a24ce8ad3b326068bd03abe73580d212c15023470378cc21690b92cb298666fde785195b1267e28a3b4fe5cbdbd
7
+ data.tar.gz: ccd8d17f4eef01bf389f7b17851ffc321b3d64bf2b562e06700809e693065f9b71bac39bc50fb6630a896d1e7fb1ea60a59e7fc6f0182e1cef36e9bb41582310
data/CHANGELOG.md CHANGED
@@ -738,3 +738,6 @@ Initial release.
738
738
  ## 0.53.0
739
739
  - update core 3.3.0 support to sync with latest core 3.3.0 draft
740
740
  - allow fractional status subscription intervals for all older core versions to align with their specs.
741
+
742
+ ## 0.53.1
743
+ - skip repeated status value checks for buffered values (`q=old`) and unknown subscription settings
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rsmp (0.53.0)
4
+ rsmp (0.53.1)
5
5
  async (~> 2.45)
6
6
  colorize (~> 1.1)
7
7
  io-endpoint (~> 0.17)
@@ -18,8 +18,8 @@ module RSMP
18
18
  end
19
19
  end
20
20
 
21
- # Check that were not receiving repeated update values.
22
- # The check is not performed for item with an update interval.
21
+ # Check live values only for known change-only subscriptions. Buffered
22
+ # values may have been generated under different subscription settings.
23
23
  def check_repeat_values(message, subscription_list)
24
24
  message.attribute('sS').each do |item|
25
25
  check_status_item_for_repeats(item, subscription_list)
@@ -27,6 +27,8 @@ module RSMP
27
27
  end
28
28
 
29
29
  def check_status_item_for_repeats(item, subscription_list)
30
+ return if item['q'] == 'old'
31
+
30
32
  status_code = item['sCI']
31
33
  status_name = item['n']
32
34
  return if update_rate_set?(subscription_list, status_code, status_name)
@@ -43,8 +45,9 @@ module RSMP
43
45
  end
44
46
 
45
47
  def should_check_repeats?(subscription_list, status_code, status_name)
46
- soc = subscription_list.dig(c_id, status_code, status_name, 'sOc')
47
- return false if soc == false
48
+ subscription = subscription_list.dig(c_id, status_code, status_name)
49
+ return false unless subscription
50
+ return false if subscription['sOc'] == false
48
51
  return false if @allow_repeat_updates[status_code]&.include?(status_name)
49
52
 
50
53
  true
data/lib/rsmp/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RSMP
2
- VERSION = '0.53.0'.freeze
2
+ VERSION = '0.53.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsmp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.53.0
4
+ version: 0.53.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emil Tin