Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(44)

Unified Diff: sync/internal_api/sync_manager_impl.cc

Issue 10911084: Implement Invalidator::Acknowledge (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sync/internal_api/sync_manager_impl.cc
diff --git a/sync/internal_api/sync_manager_impl.cc b/sync/internal_api/sync_manager_impl.cc
index 0823e713888d7b5ca8388266cbbbef4447b0c003..c63732181e2de1ea8a98c035ddbacb29cc3e52c9 100644
--- a/sync/internal_api/sync_manager_impl.cc
+++ b/sync/internal_api/sync_manager_impl.cc
@@ -681,6 +681,13 @@ void SyncManagerImpl::UnregisterInvalidationHandler(
invalidator_->UnregisterHandler(handler);
}
+void SyncManagerImpl::AcknowledgeInvalidation(
+ const invalidation::ObjectId& id, const syncer::AckHandle& ack_handle) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+ DCHECK(initialized_);
+ invalidator_->Acknowledge(id, ack_handle);
+}
+
void SyncManagerImpl::AddObserver(SyncManager::Observer* observer) {
DCHECK(thread_checker_.CalledOnValidThread());
observers_.AddObserver(observer);
@@ -1278,6 +1285,11 @@ void SyncManagerImpl::OnIncomingInvalidation(
allstatus_.IncrementNotificationsReceived();
UpdateNotificationInfo(type_state_map);
debug_info_event_listener_.OnIncomingNotification(type_state_map);
+ // TODO(dcheng): Acknowledge immediately for now. Fix this logic eventually.
Pete Williamson 2012/09/14 18:28:22 What fix is needed here? Ack later instead of imm
dcheng 2012/09/14 19:08:49 Eventually, the final patches for crbug.com/124149
+ for (ObjectIdStateMap::const_iterator it = id_state_map.begin();
+ it != id_state_map.end(); ++it) {
+ invalidator_->Acknowledge(it->first, it->second.ack_handle);
+ }
} else {
LOG(WARNING) << "Sync received invalidation without any type information.";
}

Powered by Google App Engine
This is Rietveld 408576698