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

Unified Diff: sync/engine/model_thread_sync_entity.h

Issue 351523003: sync: Mass rename of non-blocking sync classes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: const ref some smart pointers Created 6 years, 6 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/engine/entity_tracker_unittest.cc ('k') | sync/engine/model_thread_sync_entity.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/engine/model_thread_sync_entity.h
diff --git a/sync/engine/model_thread_sync_entity.h b/sync/engine/model_thread_sync_entity.h
deleted file mode 100644
index 03a6d2794c06c3041e86f27c7437de0737de087c..0000000000000000000000000000000000000000
--- a/sync/engine/model_thread_sync_entity.h
+++ /dev/null
@@ -1,192 +0,0 @@
-// Copyright 2014 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_ENGINE_MODEL_THREAD_SYNC_ENTITY_H_
-#define SYNC_ENGINE_MODEL_THREAD_SYNC_ENTITY_H_
-
-#include <string>
-
-#include "base/memory/scoped_ptr.h"
-#include "base/time/time.h"
-#include "sync/base/sync_export.h"
-#include "sync/engine/non_blocking_sync_common.h"
-#include "sync/protocol/sync.pb.h"
-
-namespace syncer {
-
-// This is the model thread's representation of a SyncEntity.
-//
-// The model thread sync entity receives updates from the model itself and
-// (asynchronously) from the sync server via the sync thread. From the point
-// of view of this class, updates from the server take precedence over local
-// changes, though the model may be given an opportunity to overwrite this
-// decision later.
-//
-// Sync will try to commit this entity's data to the sync server and local
-// storage.
-//
-// Most of the logic related to those processes live outside this class. This
-// class helps out a bit by offering some functions to serialize its data to
-// various formats and query the entity's status.
-class SYNC_EXPORT_PRIVATE ModelThreadSyncEntity {
- public:
- // Construct an instance representing a new locally-created item.
- static scoped_ptr<ModelThreadSyncEntity> NewLocalItem(
- const std::string& client_tag,
- const sync_pb::EntitySpecifics& specifics,
- base::Time now);
-
- // Construct an instance representing an item newly received from the server.
- static scoped_ptr<ModelThreadSyncEntity> FromServerUpdate(
- const std::string& id,
- const std::string& client_tag_hash,
- const std::string& non_unique_name,
- int64 version,
- const sync_pb::EntitySpecifics& specifics,
- bool deleted,
- base::Time ctime,
- base::Time mtime);
-
- // TODO(rlarocque): Implement FromDisk constructor when we implement storage.
-
- ~ModelThreadSyncEntity();
-
- // Returns true if this data is out of sync with local storage.
- bool IsWriteRequired() const;
-
- // Returns true if this data is out of sync with the server.
- // A commit may or may not be in progress at this time.
- bool IsUnsynced() const;
-
- // Returns true if this data is out of sync with the sync thread.
- //
- // There may or may not be a commit in progress for this item, but there's
- // definitely no commit in progress for this (most up to date) version of
- // this item.
- bool RequiresCommitRequest() const;
-
- // Returns true if the specified update version does not contain new data.
- bool UpdateIsReflection(int64 update_version) const;
-
- // Returns true if the specified update version conflicts with local changes.
- bool UpdateIsInConflict(int64 update_version) const;
-
- // Applies an update from the sync server.
- //
- // Overrides any local changes. Check UpdateIsInConflict() before calling
- // this function if you want to handle conflicts differently.
- void ApplyUpdateFromServer(int64 update_version,
- bool deleted,
- const sync_pb::EntitySpecifics& specifics,
- base::Time mtime);
-
- // Applies a local change to this item.
- void MakeLocalChange(const sync_pb::EntitySpecifics& specifics);
-
- // Applies a local deletion to this item.
- void Delete();
-
- // Initializes a message representing this item's uncommitted state
- // to be forwarded to the sync server for committing.
- void InitializeCommitRequestData(CommitRequestData* request) const;
-
- // Notes that the current version of this item has been queued for commit.
- void SetCommitRequestInProgress();
-
- // Receives a successful commit response.
- //
- // Sucssful commit responses can overwrite an item's ID.
- //
- // Note that the receipt of a successful commit response does not necessarily
- // unset IsUnsynced(). If many local changes occur in quick succession, it's
- // possible that the committed item was already out of date by the time it
- // reached the server.
- void ReceiveCommitResponse(const std::string& id,
- int64 sequence_number,
- int64 response_version);
-
- // Clears any in-memory sync state associated with outstanding commits.
- void ClearTransientSyncState();
-
- // Clears all sync state. Invoked when a user signs out.
- void ClearSyncState();
-
- private:
- ModelThreadSyncEntity(int64 sequence_number,
- int64 commit_requested_sequence_number,
- int64 acked_sequence_number,
- int64 base_version,
- bool is_dirty,
- const std::string& id,
- const std::string& client_tag_hash,
- const std::string& non_unique_name,
- const sync_pb::EntitySpecifics& specifics,
- bool deleted,
- base::Time ctime,
- base::Time mtime);
-
- // A sequence number used to track in-progress commits. Each local change
- // increments this number.
- int64 sequence_number_;
-
- // The sequence number of the last item sent to the sync thread.
- int64 commit_requested_sequence_number_;
-
- // The sequence number of the last item known to be successfully committed.
- int64 acked_sequence_number_;
-
- // The server version on which this item is based.
- //
- // If there are no local changes, this is the version of the entity as we see
- // it here.
- //
- // If there are local changes, this is the version of the entity on which
- // those changes are based.
- int64 base_version_;
-
- // True if this entity is out of sync with local storage.
- bool is_dirty_;
-
- // The entity's ID.
- //
- // Most of the time, this is a server-assigned value.
- //
- // Prior to the item's first commit, we leave this value as an empty string.
- // The initial ID for a newly created item has to meet certain uniqueness
- // requirements, and we handle those on the sync thread.
- std::string id_;
-
- // A hash based on the client tag and model type.
- // Used for various map lookups. Should always be available.
- std::string client_tag_hash_;
-
- // A non-unique name associated with this entity.
- //
- // It is sometimes used for debugging. It gets saved to and restored from
- // the sync server.
- //
- // Its value is often related to the item's unhashed client tag, though this
- // is not guaranteed and should not be relied on. May be hidden when
- // encryption is enabled.
- std::string non_unique_name_;
-
- // A protobuf filled with type-specific information. Contains the most
- // up-to-date specifics, whether it be from the server or a locally modified
- // version.
- sync_pb::EntitySpecifics specifics_;
-
- // Whether or not the item is deleted. The |specifics_| field may be empty
- // if this flag is true.
- bool deleted_;
-
- // Entity creation and modification timestamps.
- // Assigned by the client and synced by the server, though the server usually
- // doesn't bother to inspect their values.
- base::Time ctime_;
- base::Time mtime_;
-};
-
-} // namespace syncer
-
-#endif // SYNC_ENGINE_MODEL_THREAD_SYNC_ENTITY_H_
« no previous file with comments | « sync/engine/entity_tracker_unittest.cc ('k') | sync/engine/model_thread_sync_entity.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698