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

Unified Diff: sync/notifier/dropped_invalidation_tracker.h

Issue 322333004: sync: Inject sync/'s dependency on invalidations (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 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/internal_api/test/fake_sync_manager.cc ('k') | sync/notifier/dropped_invalidation_tracker.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/notifier/dropped_invalidation_tracker.h
diff --git a/sync/notifier/dropped_invalidation_tracker.h b/sync/notifier/dropped_invalidation_tracker.h
deleted file mode 100644
index 20f32af983bf25cd2041037a7d0ed4d4d4cd8642..0000000000000000000000000000000000000000
--- a/sync/notifier/dropped_invalidation_tracker.h
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef SYNC_NOTIFIER_DROPPED_INVALIDATION_TRACKER_H_
-#define SYNC_NOTIFIER_DROPPED_INVALIDATION_TRACKER_H_
-
-#include "google/cacheinvalidation/include/types.h"
-#include "sync/base/sync_export.h"
-#include "sync/internal_api/public/base/ack_handle.h"
-#include "sync/internal_api/public/util/weak_handle.h"
-#include "sync/notifier/ack_handler.h"
-
-namespace syncer {
-
-class Invalidation;
-
-// Helps InvalidationHandlers keep track of dropped invalidations for a given
-// ObjectId.
-//
-// The intent of this class is to hide some of the implementation details around
-// how the invalidations system manages dropping and drop recovery. Any
-// invalidation handler that intends to buffer and occasionally drop
-// invalidations should keep one instance of it per registered ObjectId.
-//
-// When an invalidation handler wishes to drop an invalidation, it must provide
-// an instance of this class to that Invalidation's Drop() method. In order to
-// indicate recovery from a drop, the handler can call this class'
-// RecordRecoveryFromDropEvent().
-//
-// Copy and assign are allowed for this class so we can use it in STL
-// containers.
-class SYNC_EXPORT DroppedInvalidationTracker {
- public:
- explicit DroppedInvalidationTracker(const invalidation::ObjectId& id);
- ~DroppedInvalidationTracker();
-
- const invalidation::ObjectId& object_id() const;
-
- // Called by Invalidation::Drop() to keep track of a drop event.
- //
- // Takes ownership of the internals belonging to a soon to be discarded
- // dropped invalidation. See also the comment for this class'
- // |drop_ack_handler_| member.
- void RecordDropEvent(WeakHandle<AckHandler> handler, AckHandle handle);
-
- // Returns true if we're still recovering from a drop event.
- bool IsRecoveringFromDropEvent() const;
-
- // Called by the InvalidationHandler when it recovers from the drop event.
- void RecordRecoveryFromDropEvent();
-
- private:
- invalidation::ObjectId id_;
- AckHandle drop_ack_handle_;
-
- // This flag is set to true when we have dropped an invalidation and have not
- // yet recovered from this drop event. Note that this may not always coincide
- // with drop_ack_handler_ being initialized because a null AckHandler could be
- // passed in to RecordDropEvent().
- bool recovering_from_drop_;
-
- // A WeakHandle to the enitity responsible for persisting invalidation
- // acknowledgement state on disk. We can get away with using a WeakHandle
- // because we don't care if our drop recovery message doesn't gets delivered
- // in some shutdown cases. If that happens, we'll have to process the
- // invalidation state again on the next restart. It would be a waste of time
- // and resources, but otherwise not particularly harmful.
- WeakHandle<AckHandler> drop_ack_handler_;
-};
-
-} // namespace syncer
-
-#endif // SYNC_NOTIFIER_DROPPED_INVALIDATION_TRACKER_H_
« no previous file with comments | « sync/internal_api/test/fake_sync_manager.cc ('k') | sync/notifier/dropped_invalidation_tracker.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698