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

Unified Diff: sync/notifier/sync_invalidation_listener.cc

Issue 19381005: Add version field to syncer::Invalidation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 5 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
« no previous file with comments | « sync/notifier/sync_invalidation_listener.h ('k') | sync/notifier/sync_invalidation_listener_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/notifier/sync_invalidation_listener.cc
diff --git a/sync/notifier/sync_invalidation_listener.cc b/sync/notifier/sync_invalidation_listener.cc
index ddb9e3518402af0d6a678de75ec77b7b8687f106..ed07f2070b7fdc4398758deacd2565c5d69f27ad 100644
--- a/sync/notifier/sync_invalidation_listener.cc
+++ b/sync/notifier/sync_invalidation_listener.cc
@@ -205,7 +205,7 @@ void SyncInvalidationListener::Invalidate(
ObjectIdSet ids;
ids.insert(id);
- PrepareInvalidation(ids, payload, client, ack_handle);
+ PrepareInvalidation(ids, invalidation.version(), payload, client, ack_handle);
}
void SyncInvalidationListener::InvalidateUnknownVersion(
@@ -218,7 +218,12 @@ void SyncInvalidationListener::InvalidateUnknownVersion(
ObjectIdSet ids;
ids.insert(object_id);
- PrepareInvalidation(ids, std::string(), client, ack_handle);
+ PrepareInvalidation(
+ ids,
+ Invalidation::kUnknownVersion,
+ std::string(),
+ client,
+ ack_handle);
}
// This should behave as if we got an invalidation with version
@@ -230,11 +235,17 @@ void SyncInvalidationListener::InvalidateAll(
DCHECK_EQ(client, invalidation_client_.get());
DVLOG(1) << "InvalidateAll";
- PrepareInvalidation(registered_ids_, std::string(), client, ack_handle);
+ PrepareInvalidation(
+ registered_ids_,
+ Invalidation::kUnknownVersion,
+ std::string(),
+ client,
+ ack_handle);
}
void SyncInvalidationListener::PrepareInvalidation(
const ObjectIdSet& ids,
+ int64 version,
const std::string& payload,
invalidation::InvalidationClient* client,
const invalidation::AckHandle& ack_handle) {
@@ -250,6 +261,7 @@ void SyncInvalidationListener::PrepareInvalidation(
base::Bind(&SyncInvalidationListener::EmitInvalidation,
weak_ptr_factory_.GetWeakPtr(),
ids,
+ version,
payload,
client,
ack_handle));
@@ -257,13 +269,14 @@ void SyncInvalidationListener::PrepareInvalidation(
void SyncInvalidationListener::EmitInvalidation(
const ObjectIdSet& ids,
+ int64 version,
const std::string& payload,
invalidation::InvalidationClient* client,
const invalidation::AckHandle& ack_handle,
const AckHandleMap& local_ack_handles) {
DCHECK(CalledOnValidThread());
ObjectIdInvalidationMap invalidation_map =
- ObjectIdSetToInvalidationMap(ids, payload);
+ ObjectIdSetToInvalidationMap(ids, version, payload);
for (AckHandleMap::const_iterator it = local_ack_handles.begin();
it != local_ack_handles.end(); ++it) {
// Update in-memory copy of the invalidation state.
@@ -280,6 +293,7 @@ void SyncInvalidationListener::OnTimeout(const ObjectIdSet& ids) {
for (ObjectIdSet::const_iterator it = ids.begin(); it != ids.end(); ++it) {
Invalidation invalidation;
invalidation.ack_handle = invalidation_state_map_[*it].expected;
+ invalidation.version = invalidation_state_map_[*it].version;
invalidation.payload = invalidation_state_map_[*it].payload;
invalidation_map.insert(std::make_pair(*it, invalidation));
}
« no previous file with comments | « sync/notifier/sync_invalidation_listener.h ('k') | sync/notifier/sync_invalidation_listener_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698