Reconnect.js
539 Bytes
//>>built
define(["dojox/socket","dojo/aspect"],function(c,h){c.Reconnect=function(a,b){b=b||{};var d=b.reconnectTime||1E4,k=b.backoffRate||2,e=d,f,g;h.after(a,"onclose",function(b){clearTimeout(f);b.wasClean||a.disconnected(function(){c.replace(a,g=a.reconnect())})},!0);a.disconnected||(a.disconnected=function(a){setTimeout(function(){a();f=setTimeout(function(){2>g.readyState&&(e=d)},d)},e);e*=k});a.reconnect||(a.reconnect=function(){return a.args?c.LongPoll(a.args):c.WebSocket({url:a.URL||a.url})});return a};
return c.Reconnect});