selfsdk 0.0.166 → 0.0.167

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/messaging.rb +14 -7
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c85c6fa67915d806be363e234ac87b2bdffc6d331a48a273f48f737bb476fa6
4
- data.tar.gz: fadf3e8a7df24cb74b71fc0e695f647b94510afb4092e58ca86f9aa6e0d2deaa
3
+ metadata.gz: 425117eb38ae08f2a8d3e65e1ba7ba772b06a4cbc378d17cbe5870a5598d2cb2
4
+ data.tar.gz: a638bc535a0e81732c7f48e11a779fe7ac08a8ea7f5239b0600af087030df65f
5
5
  SHA512:
6
- metadata.gz: dfc07013f91c98b460991df709e4526fe86ee37d6f26818d87fe3c29c10c99ec69401d1c51a1f7ab80f1a7bad1248ce81cb7091fa469d584863d962e6c39effa
7
- data.tar.gz: 7f3455f82fd7a2dec5579dd67d4a43a80ffc3fb24b35f90f7ab82bffd86d264e8760154decc7119ffc9c9fc6976669f2804f0f8222c7f52a6a0e4ebe55496cc5
6
+ metadata.gz: 69c5dd8b994ddcc2ba6432baac35fb20e03d810d927b991956ae878efa3546a988e617aa12bb831897656fa4a8adb8c6e1180f09934d110703b938cbe3d3e5cf
7
+ data.tar.gz: 300df2dbe461f01666943f29a5d137e9bc254fc6dbdbdb80763bfaad302b3eca1dc63e35682afcba06a4364f74f7a5f674dccccae7ab6fa69d035af54bcffb59
data/lib/messaging.rb CHANGED
@@ -43,6 +43,7 @@ module SelfSDK
43
43
  @client = client
44
44
  @ack_timeout = 60 # seconds
45
45
  @timeout = 120 # seconds
46
+ @auth_id = SecureRandom.uuid
46
47
  @device_id = options.fetch(:device_id, DEFAULT_DEVICE)
47
48
  @auto_reconnect = options.fetch(:auto_reconnect, DEFAULT_AUTO_RECONNECT)
48
49
  @raw_storage_dir = options.fetch(:storage_dir, DEFAULT_STORAGE_DIR)
@@ -264,8 +265,10 @@ module SelfSDK
264
265
  # Start sthe websocket listener
265
266
  def start
266
267
  SelfSDK.logger.info "starting"
268
+ auth_id = @auth_id.dup
269
+
267
270
  @mon.synchronize do
268
- @acks["authentication"] = { waiting_cond: @mon.new_cond,
271
+ @acks[auth_id] = { waiting_cond: @mon.new_cond,
269
272
  waiting: true,
270
273
  timeout: SelfSDK::Time.now + @ack_timeout }
271
274
  end
@@ -283,16 +286,16 @@ module SelfSDK
283
286
  end
284
287
 
285
288
  @mon.synchronize do
286
- @acks["authentication"][:waiting_cond].wait_while { @acks["authentication"][:waiting] }
287
- @acks.delete("authentication")
289
+ @acks[auth_id][:waiting_cond].wait_while { @acks[auth_id][:waiting] }
290
+ @acks.delete(auth_id)
288
291
  end
289
292
  # In case this does not succeed start the process again.
290
- if @acks.include? 'authentication'
291
- if @acks['authentication'][:waiting]
293
+ if @acks.include? auth_id
294
+ if @acks[auth_id][:waiting]
292
295
  close
293
296
  start_connection
294
297
  end
295
- @acks.delete("authentication")
298
+ @acks.delete(auth_id)
296
299
  end
297
300
  end
298
301
 
@@ -412,14 +415,18 @@ module SelfSDK
412
415
 
413
416
  # Authenticates current client on the websocket server.
414
417
  def authenticate
418
+ @auth_id = SecureRandom.uuid if @auth_id.nil?
419
+
415
420
  SelfSDK.logger.info "authenticating"
416
421
  send_raw Msgproto::Auth.new(
417
422
  type: Msgproto::MsgType::AUTH,
418
- id: "authentication",
423
+ id: @auth_id,
419
424
  token: @jwt.auth_token,
420
425
  device: @device_id,
421
426
  offset: @offset,
422
427
  )
428
+
429
+ @auth_id = nil
423
430
  end
424
431
 
425
432
  def send_raw(msg)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selfsdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.166
4
+ version: 0.0.167
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aldgate Ventures