summaryrefslogtreecommitdiff
path: root/tt-rss.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2010-11-11 22:59:01 +0300
committerAndrew Dolgov <[email protected]>2010-11-11 22:59:01 +0300
commit6237ea0537bb06c5ae1a715132f145601cbd71c8 (patch)
tree7c43783b10cf5a678511b75c0323e44cb2a48d32 /tt-rss.js
parent08e49bb91dcb5e8c9574e705718025bb30ca0d64 (diff)
implement sequence numbers for counter rpc requests
Diffstat (limited to 'tt-rss.js')
-rw-r--r--tt-rss.js24
1 files changed, 23 insertions, 1 deletions
diff --git a/tt-rss.js b/tt-rss.js
index e755faf70..4226fd8da 100644
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -15,6 +15,17 @@ var feedlist_sortable_enabled = false;
var _force_scheduled_update = false;
var last_scheduled_update = false;
+var _rpc_seq = 0;
+
+function next_seq() {
+ _rpc_seq += 1;
+ return _rpc_seq;
+}
+
+function get_seq() {
+ return _rpc_seq;
+}
+
function activeFeedIsCat() {
return _active_feed_is_cat;
}
@@ -167,7 +178,7 @@ function timeout() {
window.clearTimeout(counter_timeout_id);
- var query_str = "?op=rpc&subop=getAllCounters";
+ var query_str = "?op=rpc&subop=getAllCounters&seq=" + next_seq();
var omode;
@@ -1263,6 +1274,17 @@ function handle_rpc_reply(transport, scheduled_call) {
if (!transport_error_check(transport)) return false;
+ var seq = transport.responseXML.getElementsByTagName("seq")[0];
+
+ if (seq) {
+ seq = seq.firstChild.nodeValue;
+
+ if (get_seq() != seq) {
+ //console.log("[handle_rpc_reply] sequence mismatch: " + seq);
+ return true;
+ }
+ }
+
var message = transport.responseXML.getElementsByTagName("message")[0];
if (message) {