em-jack 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|