summaryrefslogtreecommitdiffstats
path: root/sync/internal_api/public/util
diff options
context:
space:
mode:
authorrlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-20 05:35:33 +0000
committerrlarocque@chromium.org <rlarocque@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-20 05:35:33 +0000
commit92816e3ba6049bd90ea487564ce109976d5733a6 (patch)
tree9a6f34e11dbd0f847d41f03ff20619ba2cdf17fe /sync/internal_api/public/util
parent9abe1698b556c9baa5f4dd74adf39b0ae1723e79 (diff)
downloadchromium_src-92816e3ba6049bd90ea487564ce109976d5733a6.zip
chromium_src-92816e3ba6049bd90ea487564ce109976d5733a6.tar.gz
chromium_src-92816e3ba6049bd90ea487564ce109976d5733a6.tar.bz2
sync: Add pre-commit update avoidance mode + flag
This CL allows the syncer to avoid requesting updates from the server prior to a commit if the nudge tracker determines that such a request is not necessary. In general, the nudge tracker will consider such a request to be unnecessary unless the sync cycle was triggered by a local refresh request or an invalidation, or invalidations are disabled. This behavior is enabled only if explicitly requested by the client or the server. The client can enable this mode with the command-line flag '--sync-enable-get-update-avoidance'. The server can toggle it on or off with the 'pre_commit_update_avoidance' experiment. Unless at least one of these flags are set, this CL will have no effect on syncer behavior. When this experimental mode is enabled, the SyncScheduler will use the "short poll" interval rather than the "long poll". This should help clients keep in sync with each other even if the experiment breaks. Also included in this CL are some extensions to the python test server to enable manual testing of the pre_commit_update_avoidance experiment node. BUG=147685 Review URL: https://chromiumcodereview.appspot.com/19309002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@212746 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/internal_api/public/util')
-rw-r--r--sync/internal_api/public/util/experiments.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sync/internal_api/public/util/experiments.h b/sync/internal_api/public/util/experiments.h
index 6c53e30..144687d 100644
--- a/sync/internal_api/public/util/experiments.h
+++ b/sync/internal_api/public/util/experiments.h
@@ -11,6 +11,7 @@ namespace syncer {
const char kAutofillCullingTag[] = "autofill_culling";
const char kFaviconSyncTag[] = "favicon_sync";
+const char kPreCommitUpdateAvoidanceTag[] = "pre_commit_update_avoidance";
// A structure to hold the enable status of experimental sync features.
struct Experiments {