Pārlūkot izejas kodu

Tolerate some bufferedAmount.

Only delay sending data if bufferedAmount is greater than 1000.

This seems to match the intention of the spec better. bufferedAmount
does not mean that we can't send, it's just an indication that the
network is becoming saturated. But Opera 11 native WebSockets seems to
have a bug that bufferedAmount isn't set back to zero correctly so
we'll be a bit more tolerant.
Joel Martin 14 gadi atpakaļ
vecāks
revīzija
8b502df2a1
1 mainītis faili ar 6 papildinājumiem un 2 dzēšanām
  1. 6 2
      include/websock.js

+ 6 - 2
include/websock.js

@@ -166,7 +166,10 @@ function decode_message(data) {
 //
 
 function flush() {
-    if (websocket.bufferedAmount === 0) {
+    if (websocket.bufferedAmount !== 0) {
+        Util.Debug("bufferedAmount: " + websocket.bufferedAmount);
+    }
+    if (websocket.bufferedAmount < 1000) {
         //Util.Debug("arr: " + arr);
         //Util.Debug("sQ: " + sQ);
         if (sQ) {
@@ -175,7 +178,8 @@ function flush() {
         }
         return true;
     } else {
-        Util.Debug("Delaying send");
+        Util.Info("Delaying send, bufferedAmount: " +
+                websocket.bufferedAmount);
         return false;
     }
 }