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

Unified Diff: sync/notifier/fake_invalidation_state_tracker.cc

Issue 11415049: Implement features needed for local ack handling in InvalidationStateTracker. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ...... Created 8 years 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/fake_invalidation_state_tracker.h ('k') | sync/notifier/invalidation_state_tracker.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/notifier/fake_invalidation_state_tracker.cc
diff --git a/sync/notifier/fake_invalidation_state_tracker.cc b/sync/notifier/fake_invalidation_state_tracker.cc
index 9073e45b1dff6e7fd200fa713c5efc96288a8f5d..2af5db563da5e51ef046774be095b351ec0a3e24 100644
--- a/sync/notifier/fake_invalidation_state_tracker.cc
+++ b/sync/notifier/fake_invalidation_state_tracker.cc
@@ -4,6 +4,10 @@
#include "sync/notifier/fake_invalidation_state_tracker.h"
+#include "base/bind.h"
+#include "base/callback.h"
+#include "base/location.h"
+#include "base/task_runner.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace syncer {
@@ -25,8 +29,10 @@ FakeInvalidationStateTracker::GetAllInvalidationStates() const {
return state_map_;
}
-void FakeInvalidationStateTracker::SetMaxVersion(
- const invalidation::ObjectId& id, int64 max_version) {
+void FakeInvalidationStateTracker::SetMaxVersionAndPayload(
+ const invalidation::ObjectId& id,
+ int64 max_version,
+ const std::string& payload) {
InvalidationStateMap::const_iterator it = state_map_.find(id);
if ((it != state_map_.end()) && (max_version <= it->second.version)) {
ADD_FAILURE();
@@ -50,4 +56,25 @@ std::string FakeInvalidationStateTracker::GetBootstrapData() const {
return bootstrap_data_;
}
+void FakeInvalidationStateTracker::GenerateAckHandles(
+ const ObjectIdSet& ids,
+ const scoped_refptr<base::TaskRunner>& task_runner,
+ base::Callback<void(const AckHandleMap&)> callback) {
+ AckHandleMap ack_handles;
+ for (ObjectIdSet::const_iterator it = ids.begin(); it != ids.end(); ++it) {
+ state_map_[*it].expected = AckHandle::CreateUnique();
+ ack_handles.insert(std::make_pair(*it, state_map_[*it].expected));
+ }
+ if (!task_runner->PostTask(FROM_HERE, base::Bind(callback, ack_handles)))
+ ADD_FAILURE();
+}
+
+void FakeInvalidationStateTracker::Acknowledge(const invalidation::ObjectId& id,
+ const AckHandle& ack_handle) {
+ InvalidationStateMap::iterator it = state_map_.find(id);
+ if (it == state_map_.end())
+ ADD_FAILURE();
+ it->second.current = ack_handle;
+}
+
} // namespace syncer
« no previous file with comments | « sync/notifier/fake_invalidation_state_tracker.h ('k') | sync/notifier/invalidation_state_tracker.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698