Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(345)

Unified Diff: sync/internal_api/sync_manager_impl.cc

Issue 488843002: [Sync] Add support for server controlled nudge delays (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sync/internal_api/sync_manager_impl.h ('k') | sync/internal_api/sync_manager_impl_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/internal_api/sync_manager_impl.cc
diff --git a/sync/internal_api/sync_manager_impl.cc b/sync/internal_api/sync_manager_impl.cc
index f0fecbc45c2ba1af12bfdffe0309a534474402b4..23ac6b28237ab3b0c9a7d88f32920374708e18c0 100644
--- a/sync/internal_api/sync_manager_impl.cc
+++ b/sync/internal_api/sync_manager_impl.cc
@@ -61,12 +61,6 @@ using syncable::UNIQUE_POSITION;
namespace {
-// Delays for syncer nudges.
-static const int kDefaultNudgeDelayMilliseconds = 200;
-static const int kSlowNudgeDelayMilliseconds = 2000;
-static const int kSyncRefreshDelayMsec = 500;
-static const int kSyncSchedulerDelayMsec = 250;
-
GetUpdatesCallerInfo::GetUpdatesSource GetSourceFromReason(
ConfigureReason reason) {
switch (reason) {
@@ -89,84 +83,6 @@ GetUpdatesCallerInfo::GetUpdatesSource GetSourceFromReason(
} // namespace
-// A class to calculate nudge delays for types.
-class NudgeStrategy {
- public:
- static TimeDelta GetNudgeDelayTimeDelta(const ModelType& model_type,
- SyncManagerImpl* core) {
- NudgeDelayStrategy delay_type = GetNudgeDelayStrategy(model_type);
- return GetNudgeDelayTimeDeltaFromType(delay_type,
- model_type,
- core);
- }
-
- private:
- // Possible types of nudge delay for datatypes.
- // Note: These are just hints. If a sync happens then all dirty entries
- // would be committed as part of the sync.
- enum NudgeDelayStrategy {
- // Sync right away.
- IMMEDIATE,
-
- // Sync this change while syncing another change.
- ACCOMPANY_ONLY,
-
- // The datatype does not use one of the predefined wait times but defines
- // its own wait time logic for nudge.
- CUSTOM,
- };
-
- static NudgeDelayStrategy GetNudgeDelayStrategy(const ModelType& type) {
- switch (type) {
- case AUTOFILL:
- return ACCOMPANY_ONLY;
- case BOOKMARKS:
- case PREFERENCES:
- case SESSIONS:
- case FAVICON_IMAGES:
- case FAVICON_TRACKING:
- return CUSTOM;
- default:
- return IMMEDIATE;
- }
- }
-
- static TimeDelta GetNudgeDelayTimeDeltaFromType(
- const NudgeDelayStrategy& delay_type, const ModelType& model_type,
- const SyncManagerImpl* core) {
- CHECK(core);
- TimeDelta delay = TimeDelta::FromMilliseconds(
- kDefaultNudgeDelayMilliseconds);
- switch (delay_type) {
- case IMMEDIATE:
- delay = TimeDelta::FromMilliseconds(
- kDefaultNudgeDelayMilliseconds);
- break;
- case ACCOMPANY_ONLY:
- delay = TimeDelta::FromSeconds(kDefaultShortPollIntervalSeconds);
- break;
- case CUSTOM:
- switch (model_type) {
- case BOOKMARKS:
- case PREFERENCES:
- delay = TimeDelta::FromMilliseconds(kSlowNudgeDelayMilliseconds);
- break;
- case SESSIONS:
- case FAVICON_IMAGES:
- case FAVICON_TRACKING:
- delay = core->scheduler()->GetSessionsCommitDelay();
- break;
- default:
- NOTREACHED();
- }
- break;
- default:
- NOTREACHED();
- }
- return delay;
- }
-};
-
SyncManagerImpl::SyncManagerImpl(const std::string& name)
: name_(name),
change_delegate_(NULL),
@@ -882,23 +798,12 @@ void SyncManagerImpl::HandleCalculateChangesChangeEventFromSyncer(
}
}
-TimeDelta SyncManagerImpl::GetNudgeDelayTimeDelta(
- const ModelType& model_type) {
- return NudgeStrategy::GetNudgeDelayTimeDelta(model_type, this);
-}
-
void SyncManagerImpl::RequestNudgeForDataTypes(
const tracked_objects::Location& nudge_location,
ModelTypeSet types) {
debug_info_event_listener_.OnNudgeFromDatatype(types.First().Get());
- // TODO(lipalani) : Calculate the nudge delay based on all types.
- base::TimeDelta nudge_delay = NudgeStrategy::GetNudgeDelayTimeDelta(
- types.First().Get(),
- this);
- scheduler_->ScheduleLocalNudge(nudge_delay,
- types,
- nudge_location);
+ scheduler_->ScheduleLocalNudge(types, nudge_location);
}
void SyncManagerImpl::NudgeForInitialDownload(syncer::ModelType type) {
@@ -998,7 +903,6 @@ void SyncManagerImpl::OnIncomingInvalidation(
DCHECK(thread_checker_.CalledOnValidThread());
scheduler_->ScheduleInvalidationNudge(
- TimeDelta::FromMilliseconds(kSyncSchedulerDelayMsec),
type,
invalidation.Pass(),
FROM_HERE);
@@ -1010,7 +914,6 @@ void SyncManagerImpl::RefreshTypes(ModelTypeSet types) {
LOG(WARNING) << "Sync received refresh request with no types specified.";
} else {
scheduler_->ScheduleLocalRefreshRequest(
- TimeDelta::FromMilliseconds(kSyncRefreshDelayMsec),
types, FROM_HERE);
}
}
@@ -1144,14 +1047,4 @@ void SyncManagerImpl::RequestEmitDebugInfo() {
model_type_registry_->RequestEmitDebugInfo();
}
-// static.
-int SyncManagerImpl::GetDefaultNudgeDelay() {
- return kDefaultNudgeDelayMilliseconds;
-}
-
-// static.
-int SyncManagerImpl::GetSlowNudgeDelay() {
- return kSlowNudgeDelayMilliseconds;
-}
-
} // namespace syncer
« no previous file with comments | « sync/internal_api/sync_manager_impl.h ('k') | sync/internal_api/sync_manager_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698