Index: sync/engine/sync_scheduler_impl.h |
diff --git a/sync/engine/sync_scheduler_impl.h b/sync/engine/sync_scheduler_impl.h |
index 7cb295b37c8f578851edd83e8c95c5fdf66a49c2..756690b35aae0bcb3ca45238bf9cd809490a8a0c 100644 |
--- a/sync/engine/sync_scheduler_impl.h |
+++ b/sync/engine/sync_scheduler_impl.h |
@@ -56,23 +56,18 @@ class SYNC_EXPORT_PRIVATE SyncSchedulerImpl |
const ConfigurationParams& params) OVERRIDE; |
virtual void Stop() OVERRIDE; |
virtual void ScheduleLocalNudge( |
- const base::TimeDelta& desired_delay, |
ModelTypeSet types, |
const tracked_objects::Location& nudge_location) OVERRIDE; |
virtual void ScheduleLocalRefreshRequest( |
- const base::TimeDelta& desired_delay, |
ModelTypeSet types, |
const tracked_objects::Location& nudge_location) OVERRIDE; |
virtual void ScheduleInvalidationNudge( |
- const base::TimeDelta& desired_delay, |
syncer::ModelType type, |
scoped_ptr<InvalidationInterface> invalidation, |
const tracked_objects::Location& nudge_location) OVERRIDE; |
virtual void ScheduleInitialSyncNudge(syncer::ModelType model_type) OVERRIDE; |
virtual void SetNotificationsEnabled(bool notifications_enabled) OVERRIDE; |
- virtual base::TimeDelta GetSessionsCommitDelay() const OVERRIDE; |
- |
virtual void OnCredentialsUpdated() OVERRIDE; |
virtual void OnConnectionStatusChange() OVERRIDE; |
@@ -86,8 +81,8 @@ class SYNC_EXPORT_PRIVATE SyncSchedulerImpl |
const base::TimeDelta& new_interval) OVERRIDE; |
virtual void OnReceivedLongPollIntervalUpdate( |
const base::TimeDelta& new_interval) OVERRIDE; |
- virtual void OnReceivedSessionsCommitDelay( |
- const base::TimeDelta& new_delay) OVERRIDE; |
+ virtual void OnReceivedCustomNudgeDelays( |
+ const std::map<ModelType, int>& nudge_delays) OVERRIDE; |
virtual void OnReceivedClientInvalidationHintBufferSize(int size) OVERRIDE; |
virtual void OnSyncProtocolError( |
const SyncProtocolError& sync_protocol_error) OVERRIDE; |
@@ -97,6 +92,9 @@ class SYNC_EXPORT_PRIVATE SyncSchedulerImpl |
// Returns true if the client is currently in exponential backoff. |
bool IsBackingOff() const; |
+ // Returns the nudge delay to be used based on |types|. |
+ base::TimeDelta GetNudgeDelayForTypes(ModelTypeSet types) const; |
+ |
private: |
enum JobPriority { |
// Non-canary jobs respect exponential backoff. |
@@ -150,6 +148,8 @@ class SYNC_EXPORT_PRIVATE SyncSchedulerImpl |
static const char* GetModeString(Mode mode); |
+ void SetDefaultNudgeDelay(int delay_ms); |
+ |
// Invoke the syncer to perform a nudge job. |
void DoNudgeSyncSessionJob(JobPriority priority); |
@@ -251,8 +251,9 @@ class SYNC_EXPORT_PRIVATE SyncSchedulerImpl |
base::TimeDelta syncer_short_poll_interval_seconds_; |
base::TimeDelta syncer_long_poll_interval_seconds_; |
- // Server-tweakable sessions commit delay. |
- base::TimeDelta sessions_commit_delay_; |
+ // Server-tweakable custom nudge delays. |
rlarocque
2014/08/20 00:13:31
The nudge delay tracking code is somewhat complica
Nicolas Zea
2014/08/20 22:49:43
Discussed offline, moved this state into NudgeTrac
|
+ int minimum_nudge_delay_ms_; |
+ std::map<ModelType, base::TimeDelta> nudge_delays_; |
// Periodic timer for polling. See AdjustPolling. |
base::RepeatingTimer<SyncSchedulerImpl> poll_timer_; |