summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sync/notifier/chrome_invalidation_client.cc
diff options
context:
space:
mode:
authorakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-10 23:35:48 +0000
committerakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-10 23:35:48 +0000
commitb7af0f9a510d5bd372e3a589fb1ad2da3a2aeed1 (patch)
tree864b8fb2e53dbde99a5e38d1862e7a7617ba790d /chrome/browser/sync/notifier/chrome_invalidation_client.cc
parentd6d8f719ce2e6c1483e085523ddb963eba1b6514 (diff)
downloadchromium_src-b7af0f9a510d5bd372e3a589fb1ad2da3a2aeed1.zip
chromium_src-b7af0f9a510d5bd372e3a589fb1ad2da3a2aeed1.tar.gz
chromium_src-b7af0f9a510d5bd372e3a589fb1ad2da3a2aeed1.tar.bz2
[Sync] Refactor notification RegistrationManager, implement backoff
Currently, we retry immediately if we lose a registration, which can cause problems if the failure is permanent. Exponential backoff should avoid killing our notification servers. BUG=75209 TEST= Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=77607 Review URL: http://codereview.chromium.org/6649010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77725 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/sync/notifier/chrome_invalidation_client.cc')
-rw-r--r--chrome/browser/sync/notifier/chrome_invalidation_client.cc20
1 files changed, 2 insertions, 18 deletions
diff --git a/chrome/browser/sync/notifier/chrome_invalidation_client.cc b/chrome/browser/sync/notifier/chrome_invalidation_client.cc
index 0c38936..81614ae 100644
--- a/chrome/browser/sync/notifier/chrome_invalidation_client.cc
+++ b/chrome/browser/sync/notifier/chrome_invalidation_client.cc
@@ -159,9 +159,8 @@ void ChromeInvalidationClient::RegistrationStateChanged(
}
if (new_state != invalidation::RegistrationState_REGISTERED) {
- // TODO(akalin): Figure out something else to do if the failure
- // isn't transient. Even if it is transient, we may still want to
- // add exponential back-off or limit the number of attempts.
+ // We don't care about |unknown_hint|; we let
+ // |registration_manager_| handle the registration backoff policy.
registration_manager_->MarkRegistrationLost(model_type);
}
}
@@ -175,21 +174,6 @@ void ChromeInvalidationClient::AllRegistrationsLost(
RunAndDeleteClosure(callback);
}
-void ChromeInvalidationClient::RegistrationLost(
- const invalidation::ObjectId& object_id,
- invalidation::Closure* callback) {
- DCHECK(non_thread_safe_.CalledOnValidThread());
- DCHECK(invalidation::IsCallbackRepeatable(callback));
- VLOG(1) << "RegistrationLost: " << ObjectIdToString(object_id);
- syncable::ModelType model_type;
- if (ObjectIdToRealModelType(object_id, &model_type)) {
- registration_manager_->MarkRegistrationLost(model_type);
- } else {
- LOG(WARNING) << "Could not get object id model type; ignoring";
- }
- RunAndDeleteClosure(callback);
-}
-
void ChromeInvalidationClient::WriteState(const std::string& state) {
DCHECK(non_thread_safe_.CalledOnValidThread());
CHECK(state_writer_);