rsmp 0.1.36 → 0.1.37

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: a9146bde932fc22eeb1f696e9446d063cf98942afa46ef7a876a3ae9b5e3070a
4
- data.tar.gz: 5044ef657416b04e1e6a519ded5d500d7fe6c98fcde4a1697a0e08a1540d5e3b
3
+ metadata.gz: a20b2e46548b2ebcdc9e3148168fafb7062113d171d88bef186900b0c8fe98a9
4
+ data.tar.gz: 436e96144e55742c3c9df9f549ca345c21137deb579c10d10fcefdaad1d94a39
5
5
  SHA512:
6
- metadata.gz: d914ba6a4c7b2ba491999e16be4ae5d12b39ab30482952fec8b07e11ba1801f4bbc6623684c53d0d868258f60cb86b4ddc46cfd0235736d91889b0634516f9b8
7
- data.tar.gz: a4d7f7fa683c31ed002d2a57c4f0a6f63f1bd99fd7703f25e72ce69d32073f1f19353476f91d7c597feb72ddcc4ff9b71e3108cf13e2bc7b9d0a1534115fcdf8
6
+ metadata.gz: d2e07fc806b798e15af70789085d6c5ecf582b46dfe9ff7e5ed2cd48f8e8b2d7d74eddb66ed488150dee047d1fc3886b8d84edf7dc85976db570e89544f29160
7
+ data.tar.gz: 8baba395982e5c105a7e04d3a0c01c91a89ae82fb21cfd180c3fe6adf436cc4b70a437206c1f499f5c5cbfe476746d7cebd1c0b38f1354a467ff4e0f80b6904d
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rsmp (0.1.36)
4
+ rsmp (0.1.37)
5
5
  async (~> 1.28.7)
6
6
  async-io (~> 1.30.2)
7
7
  colorize (~> 0.8.1)
data/lib/rsmp/proxy.rb CHANGED
@@ -162,6 +162,8 @@ module RSMP
162
162
  begin
163
163
  now = Clock.now
164
164
  timer(now)
165
+ rescue RSMP::Schemer::Error => e
166
+ puts "Timer: Schema error: #{e}"
165
167
  rescue EOFError => e
166
168
  log "Timer: Connection closed: #{e}", level: :warning
167
169
  rescue IOError => e
@@ -246,7 +248,7 @@ module RSMP
246
248
  # TODO
247
249
  # what schema should we use to validate the intial Version and MessageAck messages?
248
250
  schemas = { core: '3.1.5' }
249
- schemas[sxl] = sxl_version if sxl
251
+ schemas[sxl] = RSMP::Schemer.sanitize_version(sxl_version) if sxl
250
252
  schemas
251
253
  end
252
254
 
@@ -261,7 +263,7 @@ module RSMP
261
263
  log_send message, reason
262
264
  rescue EOFError, IOError
263
265
  buffer_message message
264
- rescue SchemaError => e
266
+ rescue SchemaError, RSMP::Schemer::Error => e
265
267
  str = "Could not send #{message.type} because schema validation failed: #{e.message}"
266
268
  log str, message: message, level: :error
267
269
  notify_error e.exception("#{str} #{message.json}")
@@ -306,7 +308,7 @@ module RSMP
306
308
  log str, message: Malformed.new(attributes), level: :warning
307
309
  # cannot send NotAcknowledged for a malformed message since we can't read it, just ignore it
308
310
  nil
309
- rescue SchemaError => e
311
+ rescue SchemaError, RSMP::Schemer::Error => e
310
312
  str = "Received invalid #{message.type}, schema errors: #{e.message}"
311
313
  log str, message: message, level: :warning
312
314
  notify_error e.exception("#{str} #{message.json}")
@@ -36,7 +36,8 @@ module RSMP
36
36
 
37
37
  def connection_complete
38
38
  super
39
- log "Connection to site #{@site_id} established, using core #{@rsmp_version}, #{@sxl} #{@site_sxl_version}", level: :info
39
+ sanitized_sxl_version = RSMP::Schemer.sanitize_version(@site_sxl_version)
40
+ log "Connection to site #{@site_id} established, using core #{@rsmp_version}, #{@sxl} #{sanitized_sxl_version}", level: :info
40
41
  end
41
42
 
42
43
  def process_message message
@@ -313,6 +314,8 @@ module RSMP
313
314
  # store sxl version requested by site
314
315
  # TODO should check agaist site settings
315
316
  @site_sxl_version = message.attribute 'SXL'
317
+ rescue RSMP::Schemer::UnknownSchemaError => e
318
+ dont_acknowledge message, "Rejected #{message.type} message,", "#{e}"
316
319
  end
317
320
 
318
321
  def sxl_version
@@ -327,8 +330,6 @@ module RSMP
327
330
  check_rsmp_version message
328
331
  check_sxl_version message
329
332
  version_accepted message
330
- rescue RSMP::Schemer::UnknownSchemaError => e
331
- dont_acknowledge message, "Rejected #{message.type} message,", "#{e}"
332
333
  end
333
334
 
334
335
  def check_site_ids message
@@ -54,7 +54,8 @@ module RSMP
54
54
 
55
55
  def connection_complete
56
56
  super
57
- log "Connection to supervisor established, using core #{@rsmp_version}, #{sxl} #{sxl_version}", level: :info
57
+ sanitized_sxl_version = RSMP::Schemer.sanitize_version(sxl_version)
58
+ log "Connection to supervisor established, using core #{@rsmp_version}, #{sxl} #{sanitized_sxl_version}", level: :info
58
59
  start_watchdog
59
60
  end
60
61
 
data/lib/rsmp/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RSMP
2
- VERSION = "0.1.36"
2
+ VERSION = "0.1.37"
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.1.36
4
+ version: 0.1.37
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emil Tin