summaryrefslogtreecommitdiff
path: root/feedlist.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2008-05-20 16:59:42 +0100
committerAndrew Dolgov <[email protected]>2008-05-20 16:59:42 +0100
commit997d9d7cad31d5fdd3d054b95bd952a6f0367be9 (patch)
tree4aa91fd9ab8dfba8de3688d3386751932b9f7543 /feedlist.js
parent5aaf9b34e43c90dfc3b95731d71f4d598251a321 (diff)
view: request counters in background, request_counters(): add client rate limit
Diffstat (limited to 'feedlist.js')
-rw-r--r--feedlist.js24
1 files changed, 23 insertions, 1 deletions
diff --git a/feedlist.js b/feedlist.js
index df30a6107..b4a0e8832 100644
--- a/feedlist.js
+++ b/feedlist.js
@@ -496,7 +496,7 @@ function mouse_up_handler(e) {
}
}
-function request_counters() {
+function request_counters_real() {
try {
var query = "backend.php?op=rpc&subop=getAllCounters";
@@ -517,6 +517,28 @@ function request_counters() {
} });
} catch (e) {
+ exception_error("request_counters_real", e);
+ }
+}
+
+var counters_last_request = 0;
+
+function request_counters() {
+
+ try {
+
+ var date = new Date();
+ var timestamp = Math.round(date.getTime() / 1000);
+
+ if (timestamp - counters_last_request > 10) {
+ debug("scheduling request of counters...");
+ window.setTimeout("request_counters_real()", 100);
+ counters_last_request = timestamp;
+ } else {
+ debug("request_counters: rate limit reached: " + (timestamp - counters_last_request));
+ }
+
+ } catch (e) {
exception_error("request_counters", e);
}
}