some fixes for xhr and iframe transport came to light after hunged stream test was...
[brisk.git] / web / xynt-streaming.js
index 117c9f7..fe14f24 100644 (file)
@@ -95,6 +95,7 @@ transport_xhr.prototype = {
     },
 
     ctx_new_getchar: function(idx) { /* public */
+        return (this.ctx_new[idx]);
     },
 
     ctx_old_len_is_set: function () { /* public */
@@ -244,10 +245,16 @@ transport_iframe.prototype = {
     ifra: null,
 
     destroy: function () { /* public */
-        if (this.ifra != null) {
-            this.doc.body.removeChild(this.ifra);
-            delete this.ifra;
-            this.ifra = null;
+        try {
+            if (this.ifra != null) {
+                // FIXME: with opera on win this remove child crash js so is
+                //        commented AND NOWWW ????
+                this.doc.body.removeChild(this.ifra);
+                delete this.ifra;
+                this.ifra = null;
+            }
+        } catch (b) {
+            alert("destroy exception catched");
         }
     },
 
@@ -359,8 +366,8 @@ xynt_streaming.prototype = {
     keepalive_new:    -1,
     keepalives_equal:  0,
     /* NOTE: right watch_timeout value to 100, for devel reasons use 1000 or more */
-    /* restart after  3 * 40 * 100 millisec if server ping is missing => 12secs */
-    keepalives_eq_max: 3,
+    /* restart after  4 * 40 * 100 millisec if server ping is missing => 16secs */
+    keepalives_eq_max: 4,
     watchdog_checktm:  40,
     // FIXME watchdog_timeout:  100,
     watchdog_timeout:  100,
@@ -390,12 +397,15 @@ xynt_streaming.prototype = {
 
         // transport instantiation
         if (this.transp_type == "xhr") {
+            this.page = url_append_args(this.page, "transp", "xhr");
             this.transp = new transport_xhr(this.doc, this, this.page);
         }
         else if (this.transp_type == "iframe") {
+            this.page = url_append_args(this.page, "transp", "iframe");
             this.transp = new transport_iframe(this.doc, this, this.page);
         }
         else if (this.transp_type == "htmlfile") {
+            this.page = url_append_args(this.page, "transp", "htmlfile");
             this.transp = new transport_htmlfile(this.doc, this, this.page);
         }
         else
@@ -469,7 +479,7 @@ xynt_streaming.prototype = {
                 this.keepalives_equal = 0;
             }
             
-            if (this.keepalives_equal > this.keepalives_eq_max) {
+            if (this.keepalives_equal >= this.keepalives_eq_max) {
                 this.log("hs::watchdog: MAX ACHIEVED "+this.keepalives_equal);
                 this.reload();
                 // alert("watchdog return reload");