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.
- data/lib/em-jack.rb +1 -1
- data/lib/em-jack/connection.rb +7 -3
- metadata +3 -3
data/lib/em-jack.rb
CHANGED
data/lib/em-jack/connection.rb
CHANGED
@@ -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
|
-
|
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) {
|
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:
|
4
|
+
hash: 29
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 3
|
10
|
+
version: 0.1.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- dan sinclair
|