OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 #include "components/sync/engine_impl/cycle/nudge_tracker.h" | 5 #include "components/sync/engine_impl/cycle/nudge_tracker.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
150 base::TimeDelta NudgeTracker::RecordLocalRefreshRequest(ModelTypeSet types) { | 150 base::TimeDelta NudgeTracker::RecordLocalRefreshRequest(ModelTypeSet types) { |
151 for (ModelTypeSet::Iterator it = types.First(); it.Good(); it.Inc()) { | 151 for (ModelTypeSet::Iterator it = types.First(); it.Good(); it.Inc()) { |
152 TypeTrackerMap::const_iterator tracker_it = type_trackers_.find(it.Get()); | 152 TypeTrackerMap::const_iterator tracker_it = type_trackers_.find(it.Get()); |
153 DCHECK(tracker_it != type_trackers_.end()); | 153 DCHECK(tracker_it != type_trackers_.end()); |
154 tracker_it->second->RecordLocalRefreshRequest(); | 154 tracker_it->second->RecordLocalRefreshRequest(); |
155 } | 155 } |
156 return local_refresh_nudge_delay_; | 156 return local_refresh_nudge_delay_; |
157 } | 157 } |
158 | 158 |
159 base::TimeDelta NudgeTracker::RecordRemoteInvalidation( | 159 base::TimeDelta NudgeTracker::RecordRemoteInvalidation( |
160 syncer::ModelType type, | 160 ModelType type, |
161 std::unique_ptr<InvalidationInterface> invalidation) { | 161 std::unique_ptr<InvalidationInterface> invalidation) { |
162 // Forward the invalidations to the proper recipient. | 162 // Forward the invalidations to the proper recipient. |
163 TypeTrackerMap::const_iterator tracker_it = type_trackers_.find(type); | 163 TypeTrackerMap::const_iterator tracker_it = type_trackers_.find(type); |
164 DCHECK(tracker_it != type_trackers_.end()); | 164 DCHECK(tracker_it != type_trackers_.end()); |
165 tracker_it->second->RecordRemoteInvalidation(std::move(invalidation)); | 165 tracker_it->second->RecordRemoteInvalidation(std::move(invalidation)); |
166 return remote_invalidation_nudge_delay_; | 166 return remote_invalidation_nudge_delay_; |
167 } | 167 } |
168 | 168 |
169 void NudgeTracker::RecordInitialSyncRequired(syncer::ModelType type) { | 169 void NudgeTracker::RecordInitialSyncRequired(ModelType type) { |
170 TypeTrackerMap::const_iterator tracker_it = type_trackers_.find(type); | 170 TypeTrackerMap::const_iterator tracker_it = type_trackers_.find(type); |
171 DCHECK(tracker_it != type_trackers_.end()); | 171 DCHECK(tracker_it != type_trackers_.end()); |
172 tracker_it->second->RecordInitialSyncRequired(); | 172 tracker_it->second->RecordInitialSyncRequired(); |
173 } | 173 } |
174 | 174 |
175 void NudgeTracker::RecordCommitConflict(syncer::ModelType type) { | 175 void NudgeTracker::RecordCommitConflict(ModelType type) { |
176 TypeTrackerMap::const_iterator tracker_it = type_trackers_.find(type); | 176 TypeTrackerMap::const_iterator tracker_it = type_trackers_.find(type); |
177 DCHECK(tracker_it != type_trackers_.end()); | 177 DCHECK(tracker_it != type_trackers_.end()); |
178 tracker_it->second->RecordCommitConflict(); | 178 tracker_it->second->RecordCommitConflict(); |
179 } | 179 } |
180 | 180 |
181 void NudgeTracker::OnInvalidationsEnabled() { | 181 void NudgeTracker::OnInvalidationsEnabled() { |
182 invalidations_enabled_ = true; | 182 invalidations_enabled_ = true; |
183 } | 183 } |
184 | 184 |
185 void NudgeTracker::OnInvalidationsDisabled() { | 185 void NudgeTracker::OnInvalidationsDisabled() { |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
380 void NudgeTracker::SetNextRetryTime(base::TimeTicks retry_time) { | 380 void NudgeTracker::SetNextRetryTime(base::TimeTicks retry_time) { |
381 next_retry_time_ = retry_time; | 381 next_retry_time_ = retry_time; |
382 } | 382 } |
383 | 383 |
384 void NudgeTracker::OnReceivedCustomNudgeDelays( | 384 void NudgeTracker::OnReceivedCustomNudgeDelays( |
385 const std::map<ModelType, base::TimeDelta>& delay_map) { | 385 const std::map<ModelType, base::TimeDelta>& delay_map) { |
386 for (std::map<ModelType, base::TimeDelta>::const_iterator iter = | 386 for (std::map<ModelType, base::TimeDelta>::const_iterator iter = |
387 delay_map.begin(); | 387 delay_map.begin(); |
388 iter != delay_map.end(); ++iter) { | 388 iter != delay_map.end(); ++iter) { |
389 ModelType type = iter->first; | 389 ModelType type = iter->first; |
390 DCHECK(syncer::ProtocolTypes().Has(type)); | 390 DCHECK(ProtocolTypes().Has(type)); |
391 TypeTrackerMap::const_iterator type_iter = type_trackers_.find(type); | 391 TypeTrackerMap::const_iterator type_iter = type_trackers_.find(type); |
392 if (type_iter == type_trackers_.end()) | 392 if (type_iter == type_trackers_.end()) |
393 continue; | 393 continue; |
394 | 394 |
395 if (iter->second > minimum_local_nudge_delay_) { | 395 if (iter->second > minimum_local_nudge_delay_) { |
396 type_iter->second->UpdateLocalNudgeDelay(iter->second); | 396 type_iter->second->UpdateLocalNudgeDelay(iter->second); |
397 } else { | 397 } else { |
398 type_iter->second->UpdateLocalNudgeDelay( | 398 type_iter->second->UpdateLocalNudgeDelay( |
399 GetDefaultDelayForType(type, minimum_local_nudge_delay_)); | 399 GetDefaultDelayForType(type, minimum_local_nudge_delay_)); |
400 } | 400 } |
401 } | 401 } |
402 } | 402 } |
403 | 403 |
404 void NudgeTracker::SetDefaultNudgeDelay(base::TimeDelta nudge_delay) { | 404 void NudgeTracker::SetDefaultNudgeDelay(base::TimeDelta nudge_delay) { |
405 minimum_local_nudge_delay_ = nudge_delay; | 405 minimum_local_nudge_delay_ = nudge_delay; |
406 } | 406 } |
407 | 407 |
408 } // namespace syncer | 408 } // namespace syncer |
OLD | NEW |