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

Side by Side Diff: components/sync/engine_impl/worker_entity_tracker.cc

Issue 2420213002: [USS] Show USS counters in Types tab (Closed)
Patch Set: git rebase Created 4 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/sync/engine_impl/worker_entity_tracker.h" 5 #include "components/sync/engine_impl/worker_entity_tracker.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "components/sync/base/model_type.h" 10 #include "components/sync/base/model_type.h"
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 ack->specifics_hash = pending_commit_specifics_hash_; 120 ack->specifics_hash = pending_commit_specifics_hash_;
121 121
122 // Because an in-progress commit blocks the sync thread, we can assume that 122 // Because an in-progress commit blocks the sync thread, we can assume that
123 // the item we just committed successfully is exactly the one we have now. 123 // the item we just committed successfully is exactly the one we have now.
124 // Nothing changed it while the commit was happening. Since we're now in 124 // Nothing changed it while the commit was happening. Since we're now in
125 // sync with the server, we can clear the pending commit. 125 // sync with the server, we can clear the pending commit.
126 ClearPendingCommit(); 126 ClearPendingCommit();
127 } 127 }
128 128
129 void WorkerEntityTracker::ReceiveUpdate(const UpdateResponseData& update) { 129 void WorkerEntityTracker::ReceiveUpdate(const UpdateResponseData& update) {
130 if (update.response_version <= highest_gu_response_version_) 130 if (!UpdateContainsNewVersion(update))
131 return; 131 return;
132 132
133 highest_gu_response_version_ = update.response_version; 133 highest_gu_response_version_ = update.response_version;
134 id_ = update.entity->id; 134 id_ = update.entity->id;
135 135
136 // Got an applicable update newer than any pending updates. It must be safe 136 // Got an applicable update newer than any pending updates. It must be safe
137 // to discard the old encrypted update, if there was one. 137 // to discard the old encrypted update, if there was one.
138 ClearEncryptedUpdate(); 138 ClearEncryptedUpdate();
139 139
140 if (IsInConflict()) { 140 if (IsInConflict()) {
141 // Incoming update clobbers the pending commit on the sync thread. 141 // Incoming update clobbers the pending commit on the sync thread.
142 // The model thread can re-request this commit later if it wants to. 142 // The model thread can re-request this commit later if it wants to.
143 ClearPendingCommit(); 143 ClearPendingCommit();
144 } 144 }
145 } 145 }
146 146
147 bool WorkerEntityTracker::UpdateContainsNewVersion(
148 const UpdateResponseData& update) {
149 if (update.response_version <= highest_gu_response_version_)
pavely 2016/10/19 18:18:59 It is easier to read if condition follows name/sem
Gang Wu 2016/10/20 21:35:36 Done.
150 return false;
151 return true;
152 }
153
147 bool WorkerEntityTracker::ReceiveEncryptedUpdate( 154 bool WorkerEntityTracker::ReceiveEncryptedUpdate(
148 const UpdateResponseData& data) { 155 const UpdateResponseData& data) {
149 if (data.response_version < highest_gu_response_version_) 156 if (data.response_version < highest_gu_response_version_)
150 return false; 157 return false;
151 158
152 highest_gu_response_version_ = data.response_version; 159 highest_gu_response_version_ = data.response_version;
153 encrypted_update_.reset(new UpdateResponseData(data)); 160 encrypted_update_.reset(new UpdateResponseData(data));
154 ClearPendingCommit(); 161 ClearPendingCommit();
155 return true; 162 return true;
156 } 163 }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 bool WorkerEntityTracker::IsServerKnown() const { 200 bool WorkerEntityTracker::IsServerKnown() const {
194 return base_version_ != kUncommittedVersion; 201 return base_version_ != kUncommittedVersion;
195 } 202 }
196 203
197 void WorkerEntityTracker::ClearPendingCommit() { 204 void WorkerEntityTracker::ClearPendingCommit() {
198 pending_commit_.reset(); 205 pending_commit_.reset();
199 pending_commit_specifics_hash_.clear(); 206 pending_commit_specifics_hash_.clear();
200 } 207 }
201 208
202 } // namespace syncer 209 } // namespace syncer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698