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

Unified Diff: sync/engine/update_applicator.h

Issue 10933075: FYI: Remove PerModelSafeGroupState + move ConflictResolution (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 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/syncer_util.cc ('k') | sync/engine/update_applicator.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/engine/update_applicator.h
diff --git a/sync/engine/update_applicator.h b/sync/engine/update_applicator.h
index 487b41d16c93d3dec7fd1e1ce406e8e61e98fdd6..d996471ae20a7df7b3515df069855913e76075d7 100644
--- a/sync/engine/update_applicator.h
+++ b/sync/engine/update_applicator.h
@@ -17,12 +17,12 @@
#include "base/port.h"
#include "sync/internal_api/public/engine/model_safe_worker.h"
#include "sync/syncable/syncable_id.h"
+#include "sync/sessions/status_controller.h"
namespace syncer {
namespace sessions {
-class ConflictProgress;
-class UpdateProgress;
+class StatusController;
}
namespace syncable {
@@ -37,75 +37,35 @@ class UpdateApplicator {
public:
typedef std::vector<int64>::iterator UpdateIterator;
- UpdateApplicator(ConflictResolver* resolver,
- Cryptographer* cryptographer,
- const UpdateIterator& begin,
- const UpdateIterator& end,
+ UpdateApplicator(Cryptographer* cryptographer,
const ModelSafeRoutingInfo& routes,
ModelSafeGroup group_filter);
~UpdateApplicator();
- // returns true if there's more we can do.
- bool AttemptOneApplication(syncable::WriteTransaction* trans);
- // return true if we've applied all updates.
- bool AllUpdatesApplied() const;
+ // Attempt to apply the specified updates.
+ void AttemptApplications(syncable::WriteTransaction* trans,
+ std::vector<int64> to_apply,
+ std::set<syncable::Id>* simple_conflict_ids);
- // This class does not automatically save its progress into the
- // SyncSession -- to get that to happen, call this method after update
- // application is finished (i.e., when AttemptOneAllocation stops returning
- // true).
- void SaveProgressIntoSessionState(
- sessions::ConflictProgress* conflict_progress,
- sessions::UpdateProgress* update_progress);
+ // Save our internal stat counters to the StatusController.
+ void SaveStats(sessions::StatusController* status);
private:
- // Track the status of all applications.
- class ResultTracker {
- public:
- explicit ResultTracker(size_t num_results);
- virtual ~ResultTracker();
- void AddSimpleConflict(syncable::Id);
- void AddEncryptionConflict(syncable::Id);
- void AddHierarchyConflict(syncable::Id);
- void AddSuccess(syncable::Id);
- void SaveProgress(sessions::ConflictProgress* conflict_progress,
- sessions::UpdateProgress* update_progress);
- void ClearConflicts();
-
- // Returns true iff conflicting_ids_ is empty. Does not check
- // encryption_conflict_ids_.
- bool no_conflicts() const;
- private:
- std::vector<syncable::Id> conflicting_ids_;
- std::vector<syncable::Id> successful_ids_;
- std::vector<syncable::Id> encryption_conflict_ids_;
- std::vector<syncable::Id> hierarchy_conflict_ids_;
- };
-
// If true, AttemptOneApplication will skip over |entry| and return true.
bool SkipUpdate(const syncable::Entry& entry);
- // Adjusts the UpdateIterator members to move ahead by one update.
- void Advance();
-
- // Used to resolve conflicts when trying to apply updates.
- ConflictResolver* const resolver_;
-
// Used to decrypt sensitive sync nodes.
Cryptographer* cryptographer_;
- UpdateIterator const begin_;
- UpdateIterator end_;
- UpdateIterator pointer_;
ModelSafeGroup group_filter_;
- bool progress_;
const ModelSafeRoutingInfo routing_info_;
- // Track the result of the attempts to update applications.
- ResultTracker application_results_;
-
DISALLOW_COPY_AND_ASSIGN(UpdateApplicator);
+
+ int updates_applied_;
+ int encryption_conflicts_;
+ int hierarchy_conflicts_;
};
} // namespace syncer
« no previous file with comments | « sync/engine/syncer_util.cc ('k') | sync/engine/update_applicator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698