em-jack 0.1.2 → 0.1.3

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.
@@ -11,6 +11,6 @@ end
11
11
 
12
12
  module EMJack
13
13
  module VERSION
14
- STRING = '0.1.2'
14
+ STRING = '0.1.3'
15
15
  end
16
16
  end
@@ -233,6 +233,7 @@ module EMJack
233
233
  end
234
234
 
235
235
  def connected
236
+ @reconnect_proc = nil
236
237
  @retries = 0
237
238
  succeed
238
239
  end
@@ -240,7 +241,8 @@ module EMJack
240
241
  def disconnected
241
242
  d = @deferrables.dup
242
243
 
243
- prev_used, prev_watched = reset_tube_state
244
+ ## if reconnecting, need to fail ourself to remove any callbacks
245
+ fail
244
246
 
245
247
  set_deferred_status(nil)
246
248
  d.each { |df| df.fail(:disconnected) }
@@ -253,8 +255,11 @@ module EMJack
253
255
  end
254
256
  end
255
257
 
258
+ prev_used, prev_watched = reset_tube_state
259
+ @reconnect_proc = Proc.new { reconnect(prev_used, prev_watched) } unless @reconnect_proc
260
+
256
261
  @retries += 1
257
- EM.add_timer(5) { reconnect(prev_used, prev_watched) }
262
+ EM.add_timer(5) { @reconnect_proc.call }
258
263
  end
259
264
 
260
265
  def reconnect(prev_used, prev_watched)
@@ -302,7 +307,6 @@ module EMJack
302
307
  break if idx.nil?
303
308
 
304
309
  first = @data[0..(idx + 1)]
305
-
306
310
  df = @deferrables.shift
307
311
  handled, skip = false, false
308
312
  EMJack::Connection.handlers.each do |h|
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: em-jack
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 2
10
- version: 0.1.2
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - dan sinclair