| Index: sync/notifier/non_blocking_invalidator.cc
|
| diff --git a/sync/notifier/non_blocking_invalidator.cc b/sync/notifier/non_blocking_invalidator.cc
|
| index 05744152e391c7dca8e89f580c7ede44f40f9c25..b513a5dc531f514f4e32aab12c9193d2ac08465d 100644
|
| --- a/sync/notifier/non_blocking_invalidator.cc
|
| +++ b/sync/notifier/non_blocking_invalidator.cc
|
| @@ -30,12 +30,14 @@ class NonBlockingInvalidator::Core
|
| // Helpers called on I/O thread.
|
| void Initialize(
|
| const notifier::NotifierOptions& notifier_options,
|
| - const InvalidationVersionMap& initial_max_invalidation_versions,
|
| + const InvalidationStateMap& initial_invalidation_state_map,
|
| const std::string& initial_invalidation_state,
|
| const WeakHandle<InvalidationStateTracker>& invalidation_state_tracker,
|
| const std::string& client_info);
|
| void Teardown();
|
| void UpdateRegisteredIds(const ObjectIdSet& ids);
|
| + void Acknowledge(const invalidation::ObjectId& id,
|
| + const AckHandle& ack_handle);
|
| void SetUniqueId(const std::string& unique_id);
|
| void SetStateDeprecated(const std::string& state);
|
| void UpdateCredentials(const std::string& email, const std::string& token);
|
| @@ -72,7 +74,7 @@ NonBlockingInvalidator::Core::~Core() {
|
|
|
| void NonBlockingInvalidator::Core::Initialize(
|
| const notifier::NotifierOptions& notifier_options,
|
| - const InvalidationVersionMap& initial_max_invalidation_versions,
|
| + const InvalidationStateMap& initial_invalidation_state_map,
|
| const std::string& initial_invalidation_state,
|
| const WeakHandle<InvalidationStateTracker>& invalidation_state_tracker,
|
| const std::string& client_info) {
|
| @@ -85,7 +87,7 @@ void NonBlockingInvalidator::Core::Initialize(
|
| invalidation_notifier_.reset(
|
| new InvalidationNotifier(
|
| notifier::PushClient::CreateDefaultOnIOThread(notifier_options),
|
| - initial_max_invalidation_versions,
|
| + initial_invalidation_state_map,
|
| initial_invalidation_state,
|
| invalidation_state_tracker,
|
| client_info));
|
| @@ -104,6 +106,12 @@ void NonBlockingInvalidator::Core::UpdateRegisteredIds(const ObjectIdSet& ids) {
|
| invalidation_notifier_->UpdateRegisteredIds(this, ids);
|
| }
|
|
|
| +void NonBlockingInvalidator::Core::Acknowledge(const invalidation::ObjectId& id,
|
| + const AckHandle& ack_handle) {
|
| + DCHECK(network_task_runner_->BelongsToCurrentThread());
|
| + invalidation_notifier_->Acknowledge(id, ack_handle);
|
| +}
|
| +
|
| void NonBlockingInvalidator::Core::SetUniqueId(const std::string& unique_id) {
|
| DCHECK(network_task_runner_->BelongsToCurrentThread());
|
| invalidation_notifier_->SetUniqueId(unique_id);
|
| @@ -139,7 +147,7 @@ void NonBlockingInvalidator::Core::OnIncomingInvalidation(
|
|
|
| NonBlockingInvalidator::NonBlockingInvalidator(
|
| const notifier::NotifierOptions& notifier_options,
|
| - const InvalidationVersionMap& initial_max_invalidation_versions,
|
| + const InvalidationStateMap& initial_invalidation_state_map,
|
| const std::string& initial_invalidation_state,
|
| const WeakHandle<InvalidationStateTracker>&
|
| invalidation_state_tracker,
|
| @@ -157,7 +165,7 @@ NonBlockingInvalidator::NonBlockingInvalidator(
|
| &NonBlockingInvalidator::Core::Initialize,
|
| core_.get(),
|
| notifier_options,
|
| - initial_max_invalidation_versions,
|
| + initial_invalidation_state_map,
|
| initial_invalidation_state,
|
| invalidation_state_tracker,
|
| client_info))) {
|
| @@ -199,6 +207,20 @@ void NonBlockingInvalidator::UnregisterHandler(InvalidationHandler* handler) {
|
| registrar_.UnregisterHandler(handler);
|
| }
|
|
|
| +void NonBlockingInvalidator::Acknowledge(const invalidation::ObjectId& id,
|
| + const AckHandle& ack_handle) {
|
| + DCHECK(parent_task_runner_->BelongsToCurrentThread());
|
| + if (!network_task_runner_->PostTask(
|
| + FROM_HERE,
|
| + base::Bind(
|
| + &NonBlockingInvalidator::Core::Acknowledge,
|
| + core_.get(),
|
| + id,
|
| + ack_handle))) {
|
| + NOTREACHED();
|
| + }
|
| +}
|
| +
|
| InvalidatorState NonBlockingInvalidator::GetInvalidatorState() const {
|
| DCHECK(parent_task_runner_->BelongsToCurrentThread());
|
| return registrar_.GetInvalidatorState();
|
|
|