/[meteor]/googlecode.com/svn/trunk/public_html/poll.html
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /googlecode.com/svn/trunk/public_html/poll.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3 by andrew.betts, Mon Nov 20 17:59:30 2006 UTC revision 29 by andrew.betts, Wed Oct 10 22:18:30 2007 UTC
# Line 9  document.domain = topdomain; Line 9  document.domain = topdomain;
9  var lastrequesttime = 0;  var lastrequesttime = 0;
10  var pollreq = false;  var pollreq = false;
11  var polltimer = false;  var polltimer = false;
12    var i=0;
13    var isaborted = 0;
14  parent.Meteor.register(this);  parent.Meteor.register(this);
15    
16  Function.prototype.bind = function(obj) {  Function.prototype.bind = function(obj) {
# Line 40  function newXmlHttp() { Line 42  function newXmlHttp() {
42  }  }
43    
44  function poll() {  function poll() {
45          if (polltimer) clearTimeout(polltimer);          isaborted = 0;
46            try {
47                    clearTimeout(polltimer);
48            } catch (e) {}
49          var byteoffset = 0;          var byteoffset = 0;
50          var newdata;          var newdata;
51          document.domain = topdomain;          document.domain = topdomain;
52          var url = "http://"+location.hostname+"/push?channel="+get("channel")+"&id="+get("MHostId")+"&persist="+get("persist")+"&template=2";          var url = get("subsurl");
53          if (get("lastmsgreceived") >= 0) {          if (typeof(url)!="undefined") {
54                  url += "&restartfrom="+(get("lastmsgreceived")+1);                  var now = new Date();
55          } else if (get("backtrack") > 0) {                  var t = now.getTime();
56                  url += "&backtrack="+get("backtrack");                  url += "&template=2&nocache="+t;
57          } else if (typeof(get("backtrack")) != "number") {                  try {
58                  url += "&restartfrom=";                          document.domain = thisdomain;
59                    } catch (e) {}
60                    pollreq = newXmlHttp();
61                    pollreq.onreadystatechange = handleresponse;
62                    pollreq.open("GET", url, true);
63                    lastrequesttime = t;
64                    if (get("polltimeout")) polltimer = setTimeout(ptimeout, get("polltimeout"));
65                    pollreq.send(null);
66          }          }
         if (get("maxmessages") && get("persist")) url += "&maxmessages="+get("maxmessages");  
         var now = new Date();  
         var t = now.getTime();  
         url += "&nocache="+t;  
         try {  
                 document.domain = thisdomain;  
         } catch (e) {}  
         pollreq = newXmlHttp();  
         pollreq.open("GET", url, true);  
         pollreq.onreadystatechange = handleresponse.bind(pollreq);  
         lastrequesttime = t;  
         if (get("polltimeout")) polltimer = setTimeout(ptimeout, get("polltimeout"));  
         pollreq.send(null);  
67          document.domain=topdomain;          document.domain=topdomain;
68  }  }
69    
70  function handleresponse() {  function handleresponse() {
71          if (this.readyState == 4) {          if (typeof(pollreq) == "object" && pollreq.readyState == 4 && !isaborted) {
72                    try {
73                            clearTimeout(polltimer);
74                    } catch (e) {}
75                  if (typeof(topdomain) == "undefined") return false;                  if (typeof(topdomain) == "undefined") return false;
76                  document.domain=topdomain;                  document.domain=topdomain;
77                  newdata = this.responseText;                  newdata = pollreq.responseText;
78                  var x = newdata.indexOf("parent.Meteor.setServerTime(");                  var x = newdata.indexOf("parent.Meteor.setServerTime(");
79                  if (x != -1) {                  if (x != -1) {
80                          y = newdata.indexOf(");", x);                          y = newdata.indexOf(");", x);
# Line 101  function handleresponse() { Line 103  function handleresponse() {
103  }  }
104    
105  function ptimeout() {  function ptimeout() {
106          if (typeof(pollreq) == "object") {          isaborted = 1;
107            pollreq.abort();
108            delete pollreq;
109            clearTimeout(polltimer);
110            var now = new Date();
111            var t = now.getTime();
112            var x = get("pollfreq") - (t-lastrequesttime);
113            if (x < 10) x = 10;
114            setTimeout(poll, x);
115    }
116    
117    function guard() {
118            var url = get("subsurl");
119            if (typeof(url)=="undefined") {
120                  pollreq.abort();                  pollreq.abort();
121                  delete pollreq;                  delete pollreq;
122                    clearTimeout(polltimer);
123          }          }
         poll();  
124  }  }
125    
126  poll();  poll();
127    guard();
128    
129    
130  </script>  </script>
131  </body>  </body>
 </html>  
132    </html>

Legend:
Removed from v.3  
changed lines
  Added in v.29

  ViewVC Help
Powered by ViewVC 1.1.26