Chromium Code Reviews| Index: sync/engine/sync_scheduler_impl.h |
| diff --git a/sync/engine/sync_scheduler_impl.h b/sync/engine/sync_scheduler_impl.h |
| index 68d2a802ed9680b5aea9ed07313e87dca0b431d1..a7c95cc6462c97f26f03966ee2ecfeb944442560 100644 |
| --- a/sync/engine/sync_scheduler_impl.h |
| +++ b/sync/engine/sync_scheduler_impl.h |
| @@ -113,20 +113,6 @@ class SYNC_EXPORT_PRIVATE SyncSchedulerImpl |
| friend class SyncSchedulerWhiteboxTest; |
| friend class SyncerTest; |
| - FRIEND_TEST_ALL_PREFIXES(SyncSchedulerWhiteboxTest, NoNudgesInConfigureMode); |
| - FRIEND_TEST_ALL_PREFIXES(SyncSchedulerWhiteboxTest, |
| - DropNudgeWhileExponentialBackOff); |
| - FRIEND_TEST_ALL_PREFIXES(SyncSchedulerWhiteboxTest, SaveNudge); |
| - FRIEND_TEST_ALL_PREFIXES(SyncSchedulerWhiteboxTest, |
| - SaveNudgeWhileTypeThrottled); |
| - FRIEND_TEST_ALL_PREFIXES(SyncSchedulerWhiteboxTest, ContinueNudge); |
| - FRIEND_TEST_ALL_PREFIXES(SyncSchedulerWhiteboxTest, ContinueConfiguration); |
| - FRIEND_TEST_ALL_PREFIXES(SyncSchedulerWhiteboxTest, |
| - SaveConfigurationWhileThrottled); |
| - FRIEND_TEST_ALL_PREFIXES(SyncSchedulerWhiteboxTest, |
| - SaveNudgeWhileThrottled); |
| - FRIEND_TEST_ALL_PREFIXES(SyncSchedulerWhiteboxTest, |
| - ContinueCanaryJobConfig); |
| FRIEND_TEST_ALL_PREFIXES(SyncSchedulerTest, TransientPollFailure); |
| FRIEND_TEST_ALL_PREFIXES(SyncSchedulerTest, |
| ServerConnectionChangeDuringBackoff); |
| @@ -134,6 +120,9 @@ class SYNC_EXPORT_PRIVATE SyncSchedulerImpl |
| ConnectionChangeCanaryPreemptedByNudge); |
| FRIEND_TEST_ALL_PREFIXES(BackoffTriggersSyncSchedulerTest, |
| FailGetEncryptionKey); |
| + FRIEND_TEST_ALL_PREFIXES(SyncSchedulerTest, SuccessfulRetry); |
| + FRIEND_TEST_ALL_PREFIXES(SyncSchedulerTest, FailedRetry); |
| + FRIEND_TEST_ALL_PREFIXES(SyncSchedulerTest, ReceiveNewRetryDelay); |
| struct SYNC_EXPORT_PRIVATE WaitInterval { |
| enum Mode { |
| @@ -253,6 +242,12 @@ class SYNC_EXPORT_PRIVATE SyncSchedulerImpl |
| virtual void OnActionableError(const sessions::SyncSessionSnapshot& snapshot); |
| + // Helper to process the GU retry delay we received in the previous cycle. |
| + void ProcessReceivedGuRetryDelay(); |
| + |
| + // Helper to clear state associated with the receipt of GU retry requests. |
| + void ClearReceivedGuRetryDelayFlag(); |
| + |
| // For certain methods that need to worry about X-thread posting. |
| WeakHandle<SyncSchedulerImpl> weak_handle_this_; |
| @@ -337,15 +332,21 @@ class SYNC_EXPORT_PRIVATE SyncSchedulerImpl |
| // It is reset back to NORMAL_PRIORITY on every call to TrySyncSessionJobImpl. |
| JobPriority next_sync_session_job_priority_; |
| + // Set by the OnReceivedGuRetryDelay callback. |
| + base::TimeDelta pending_retry_delay_; |
| + |
| + // Set byt he OnReceivedGuRetryDelay callback. |
|
pavely
2014/01/27 11:54:05
typo: "byt he" => "by the"
|
| + bool received_pending_retry_; |
| + |
| + // One-shot timer for scheduling GU retry according to delay set by server. |
| + base::OneShotTimer<SyncSchedulerImpl> retry_timer_; |
| + |
| base::WeakPtrFactory<SyncSchedulerImpl> weak_ptr_factory_; |
| // A second factory specially for weak_handle_this_, to allow the handle |
| // to be const and alleviate threading concerns. |
| base::WeakPtrFactory<SyncSchedulerImpl> weak_ptr_factory_for_weak_handle_; |
| - // One-shot timer for scheduling GU retry according to delay set by server. |
| - base::OneShotTimer<SyncSchedulerImpl> retry_timer_; |
| - |
| DISALLOW_COPY_AND_ASSIGN(SyncSchedulerImpl); |
| }; |