summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2012-07-09 13:08:11 +0200
committerLoïc Hoguin <[email protected]>2012-07-09 13:13:44 +0200
commit3ef82b0acf23b387cfb3eb5cf93f95b524146a0f (patch)
treebd896f9d68b8b4c295d3debe961b33c96cec4a9f
parent6f17bb1455574012b4a15ad780585f964d85b7f9 (diff)
downloadbullet-3ef82b0acf23b387cfb3eb5cf93f95b524146a0f.tar.gz
bullet-3ef82b0acf23b387cfb3eb5cf93f95b524146a0f.tar.bz2
bullet-3ef82b0acf23b387cfb3eb5cf93f95b524146a0f.zip
Add an ondisconnect hook and fix reconnect retries
-rw-r--r--priv/bullet.js17
1 files changed, 11 insertions, 6 deletions
diff --git a/priv/bullet.js b/priv/bullet.js
index 811f477..3a378f6 100644
--- a/priv/bullet.js
+++ b/priv/bullet.js
@@ -172,14 +172,19 @@
var readyState = CLOSED;
var heartbeat;
var delay = delayDefault = 80;
+ var delayMax = 10000;
- var transport = next();
+ var transport;
function init(){
readyState = CONNECTING;
+ transport = next();
if (!transport){
- // No transport, give up
- // @todo Trigger a disconnect error
+ // Hard disconnect, inform the user and retry later
+ delay = delayDefault;
+ tn = 0;
+ stream.ondisconnect();
+ setTimeout(function(){init();}, delayMax);
return false;
}
@@ -209,12 +214,11 @@
}
delay *= 2;
- if (delay > 10000){
- delay = 10000;
+ if (delay > delayMax){
+ delay = delayMax;
}
setTimeout(function(){
- transport = next();
init();
}, delay);
}
@@ -228,6 +232,7 @@
this.onopen = function(){};
this.onmessage = function(){};
+ this.ondisconnect = function(){};
this.onclose = function(){};
this.onheartbeat = function(){};