ducts-client 0.3.0 → 0.4.0

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: 462bf9fef3fa7a84f427eff39582c60f9f8128968ecc1df60e28f9bb21a34d0d
4
- data.tar.gz: 21c0f5740793fb1438097cd6305c3d2db620e86870148384b2ad1b2c15ccd8e5
3
+ metadata.gz: de6d875bf28e0042c19c44dbbffa9fbef3f02baebc6038fb0cdbeab5582e14c3
4
+ data.tar.gz: c731e1c5f040b2c1615f6515c678f6d2f8736378c04bbeffc6a588346dedeca3
5
5
  SHA512:
6
- metadata.gz: '008a89071f257fe97c0b368d1a6e6ca2354cfd2735f38c183f4e9481176df7c74d7a7c96d618a2dae4d9587f5ce28db5a6cfdd0499f7b50cb1aa4af5109dbf88'
7
- data.tar.gz: d1050d195567a46c6b40f59878c10d58227a49df173d01d3ea5de67e8c3a1d02e07b3043968d0cdc22ad3894c77c356211d8b2e10eb51c98b553f116b1afc419
6
+ metadata.gz: 92fedce71a7ba385eb3115fbc38e8a77d360ec06d31ce4079ca177d01f2dfba9c32ffb9a3c1326aed4579820a6cd8772b2ff114bd33e77471ef0234e53be1d0e
7
+ data.tar.gz: 173051b649d8358550a24bec88437d469f99e3f5e8e086611e0a4b83359144454351a8c60700c66486a02023bfbf9079a12a8f31fe75449cb4389cf5a82ff365
data/lib/ducts/client.rb CHANGED
@@ -56,6 +56,8 @@ module Ducts
56
56
  end
57
57
  end
58
58
 
59
+ DuctEventHandlerReturnValue = Struct.new(:value)
60
+
59
61
  class ConnectionEventListener < DuctEventListener
60
62
  attr_writer :onopen, :onclose, :onerror, :onmessage
61
63
  def onopen(event)
@@ -284,13 +286,13 @@ module Ducts
284
286
  handle = @_event_handler[eid]
285
287
  handle ||= @uncaught_event_handler
286
288
  ret = handle.call(rid, eid, data)
287
- ret ||= data
289
+ data = ret.value if ret.instance_of? DuctEventHandlerReturnValue
288
290
  completion = @_waiting_completion.delete(rid)
289
291
  if completion
290
292
  if eid > 0
291
- completion.succeed(ret)
293
+ completion.succeed(data)
292
294
  else
293
- completion.fail(DuctError.exception(ret))
295
+ completion.fail(DuctError.exception(data))
294
296
  end
295
297
  end
296
298
  rescue => error
@@ -310,7 +312,6 @@ module Ducts
310
312
  @_time_offset = (@_time_offset * @_time_count + new_offset) / (@_time_count + 1)
311
313
  @_time_latency = (@_time_latency * @_time_count + new_latency) / (@_time_count + 1)
312
314
  @_time_count += 1
313
- nil
314
315
  end
315
316
 
316
317
  def _loop_response_handler(rid, eid, data)
@@ -324,7 +325,7 @@ module Ducts
324
325
  @_loop_queues[rid] ||= EM::Queue.new
325
326
  queue = @_loop_queues[rid]
326
327
  queue.push(source_data) if source_data
327
- queue
328
+ DuctEventHandlerReturnValue.new(queue)
328
329
  end
329
330
 
330
331
  def _loop_response_end_handler(rid, eid, data)
@@ -338,19 +339,17 @@ module Ducts
338
339
  handle.call(rid, source_eid, source_data)
339
340
  queue = @_loop_queues.delete(rid)
340
341
  queue.push(nil)
341
- source_eid
342
+ DuctEventHandlerReturnValue.new(source_eid)
342
343
  end
343
344
 
344
345
  def _divided_response_append_handler(rid, eid, data)
345
346
  raise 'Not implemented.'
346
347
  # TODO
347
- nil
348
348
  end
349
349
 
350
350
  def _divided_response_end_handler(rid, eid, data)
351
351
  raise 'Not implemented.'
352
352
  # TODO
353
- nil
354
353
  end
355
354
  end
356
355
  end
@@ -4,7 +4,7 @@ module Ducts
4
4
  class Client
5
5
  module Version
6
6
  MAJOR = 0
7
- MINOR = 3
7
+ MINOR = 4
8
8
  PATCH = 0
9
9
  end
10
10
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ducts-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenshiro Ueda
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-07 00:00:00.000000000 Z
11
+ date: 2021-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faye-websocket