diff options
author | Andrew Dolgov <[email protected]> | 2010-11-11 22:59:01 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2010-11-11 22:59:01 +0300 |
commit | 6237ea0537bb06c5ae1a715132f145601cbd71c8 (patch) | |
tree | 7c43783b10cf5a678511b75c0323e44cb2a48d32 /tt-rss.js | |
parent | 08e49bb91dcb5e8c9574e705718025bb30ca0d64 (diff) |
implement sequence numbers for counter rpc requests
Diffstat (limited to 'tt-rss.js')
-rw-r--r-- | tt-rss.js | 24 |
1 files changed, 23 insertions, 1 deletions
@@ -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) { |