Roll src/third_party/WebKit 9301d6f:4619053 (svn 201058:201059)
[chromium-blink-merge.git] / sync / syncable / syncable_changes_version.h
blob9b57aedaf4118223fb7c1cbc07bf90212a658f84
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef SYNC_SYNCABLE_SYNCABLE_CHANGES_VERSION_H_
6 #define SYNC_SYNCABLE_SYNCABLE_CHANGES_VERSION_H_
8 namespace syncer {
9 namespace syncable {
11 // For the most part, the sync engine treats version numbers as opaque values.
12 // However, there are parts of our code base that break this abstraction, and
13 // depend on the following two invariants:
15 // 1. CHANGES_VERSION is less than 0.
16 // 2. The server only issues positive version numbers.
18 // Breaking these abstractions makes some operations 10 times
19 // faster. If either of these invariants change, then those queries
20 // must be revisited.
22 enum {
23 CHANGES_VERSION = -1
26 #define CHANGES_VERSION_STRING "-1"
28 } // namespace syncable
29 } // namespace syncer
31 #endif // SYNC_SYNCABLE_SYNCABLE_CHANGES_VERSION_H_