| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 // | 4 // |
| 5 // A class to track the outstanding work required to bring the client back into | 5 // A class to track the outstanding work required to bring the client back into |
| 6 // sync with the server. | 6 // sync with the server. |
| 7 #ifndef SYNC_SESSIONS_NUDGE_TRACKER_H_ | 7 #ifndef SYNC_SESSIONS_NUDGE_TRACKER_H_ |
| 8 #define SYNC_SESSIONS_NUDGE_TRACKER_H_ | 8 #define SYNC_SESSIONS_NUDGE_TRACKER_H_ |
| 9 | 9 |
| 10 #include <list> | 10 #include <list> |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 152 | 152 |
| 153 // Update the default nudge delay. | 153 // Update the default nudge delay. |
| 154 void SetDefaultNudgeDelay(base::TimeDelta nudge_delay); | 154 void SetDefaultNudgeDelay(base::TimeDelta nudge_delay); |
| 155 | 155 |
| 156 private: | 156 private: |
| 157 typedef std::map<ModelType, DataTypeTracker*> TypeTrackerMap; | 157 typedef std::map<ModelType, DataTypeTracker*> TypeTrackerMap; |
| 158 | 158 |
| 159 TypeTrackerMap type_trackers_; | 159 TypeTrackerMap type_trackers_; |
| 160 STLValueDeleter<TypeTrackerMap> type_tracker_deleter_; | 160 STLValueDeleter<TypeTrackerMap> type_tracker_deleter_; |
| 161 | 161 |
| 162 // Merged updates source. This should be obsolete, but the server still | |
| 163 // relies on it for some heuristics. | |
| 164 sync_pb::GetUpdatesCallerInfo::GetUpdatesSource updates_source_; | |
| 165 | |
| 166 // Tracks whether or not invalidations are currently enabled. | 162 // Tracks whether or not invalidations are currently enabled. |
| 167 bool invalidations_enabled_; | 163 bool invalidations_enabled_; |
| 168 | 164 |
| 169 // This flag is set if suspect that some technical malfunction or known bug | 165 // This flag is set if suspect that some technical malfunction or known bug |
| 170 // may have left us with some unserviced invalidations. | 166 // may have left us with some unserviced invalidations. |
| 171 // | 167 // |
| 172 // Keeps track of whether or not we're fully in sync with the invalidation | 168 // Keeps track of whether or not we're fully in sync with the invalidation |
| 173 // server. This can be false even if invalidations are enabled and working | 169 // server. This can be false even if invalidations are enabled and working |
| 174 // correctly. For example, until we get ack-tracking working properly, we | 170 // correctly. For example, until we get ack-tracking working properly, we |
| 175 // won't persist invalidations between restarts, so we may be out of sync when | 171 // won't persist invalidations between restarts, so we may be out of sync when |
| 176 // we restart. The only way to get back into sync is to have invalidations | 172 // we restart. The only way to get back into sync is to have invalidations |
| 177 // enabled, then complete a sync cycle to make sure we're fully up to date. | 173 // enabled, then complete a sync cycle to make sure we're fully up to date. |
| 178 bool invalidations_out_of_sync_; | 174 bool invalidations_out_of_sync_; |
| 179 | 175 |
| 180 size_t num_payloads_per_type_; | |
| 181 | |
| 182 base::TimeTicks last_successful_sync_time_; | 176 base::TimeTicks last_successful_sync_time_; |
| 183 | 177 |
| 184 // A pending update to the current_retry_time_. | 178 // A pending update to the current_retry_time_. |
| 185 // | 179 // |
| 186 // The GU retry time is specified by a call to SetNextRetryTime, but we don't | 180 // The GU retry time is specified by a call to SetNextRetryTime, but we don't |
| 187 // want that change to take effect right away, since it could happen in the | 181 // want that change to take effect right away, since it could happen in the |
| 188 // middle of a sync cycle. We delay the update until the start of the next | 182 // middle of a sync cycle. We delay the update until the start of the next |
| 189 // sync cycle, which is indicated by a call to SetSyncCycleStartTime(). | 183 // sync cycle, which is indicated by a call to SetSyncCycleStartTime(). |
| 190 base::TimeTicks next_retry_time_; | 184 base::TimeTicks next_retry_time_; |
| 191 | 185 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 203 base::TimeDelta local_refresh_nudge_delay_; | 197 base::TimeDelta local_refresh_nudge_delay_; |
| 204 base::TimeDelta remote_invalidation_nudge_delay_; | 198 base::TimeDelta remote_invalidation_nudge_delay_; |
| 205 | 199 |
| 206 DISALLOW_COPY_AND_ASSIGN(NudgeTracker); | 200 DISALLOW_COPY_AND_ASSIGN(NudgeTracker); |
| 207 }; | 201 }; |
| 208 | 202 |
| 209 } // namespace sessions | 203 } // namespace sessions |
| 210 } // namespace syncer | 204 } // namespace syncer |
| 211 | 205 |
| 212 #endif // SYNC_SESSIONS_NUDGE_TRACKER_H_ | 206 #endif // SYNC_SESSIONS_NUDGE_TRACKER_H_ |
| OLD | NEW |