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

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, 1 month 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/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..02317c98b5f94a4739c2c351f59a2448af16fbc5 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,24 @@ 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));
+ }
+ task_runner->PostTask(FROM_HERE, base::Bind(callback, ack_handles));
akalin 2012/11/28 00:11:42 do something with return value (ADD_FAILURE?)
dcheng 2012/11/30 01:42:54 Done.
+}
+
+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

Powered by Google App Engine
This is Rietveld 408576698