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 |