--- googlecode.com/svn/trunk/public_html/meteor.js 2008/02/27 22:01:02 54
+++ googlecode.com/svn/trunk/public_html/meteor.js 2008/02/28 00:21:39 55
@@ -96,7 +96,8 @@
clearTimeout(Meteor.updatepollfreqtimer);
clearTimeout(Meteor.frameloadtimer);
if (typeof CollectGarbage == 'function') CollectGarbage();
- Meteor.setstatus(0);
+ if (Meteor.status != 6) Meteor.setstatus(0);
+ Meteor.log("Disconnected");
}
},
@@ -121,6 +122,8 @@
surl += ".h";
}
}
+ var now = new Date();
+ surl += "?nc="+now.getTime();
return surl;
},
@@ -196,18 +199,22 @@
},
reset: function() {
- Meteor.log("Stream reset");
- Meteor.ping();
- Meteor.callbacks["reset"]();
- var now = new Date();
- var t = now.getTime();
- var x = Meteor.pollfreq - (t-Meteor.lastrequest);
- if (x < 10) x = 10;
- setTimeout(Meteor.connect, x);
+ if (Meteor.status != 6) {
+ Meteor.log("Stream reset");
+ Meteor.ping();
+ Meteor.callbacks["reset"]();
+ var now = new Date();
+ var t = now.getTime();
+ var x = Meteor.pollfreq - (t-Meteor.lastrequest);
+ if (x < 10) x = 10;
+ setTimeout(Meteor.connect, x);
+ }
},
eof: function() {
+ Meteor.log("Received end of stream, will not reconnect");
Meteor.callbacks["eof"]();
+ Meteor.setstatus(6);
Meteor.disconnect();
},
@@ -265,6 +272,7 @@
// 3 = Controller frame timeout, retrying.
// 4 = Controller frame loaded and ready
// 5 = Receiving data
+ // 6 = End of stream, will not reconnect
if (Meteor.status != newstatus) {
Meteor.status = newstatus;