ducts-client 0.3.0 → 0.4.0

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: 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