• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #ifndef SYNC_SYNCABLE_SYNCABLE_CHANGES_VERSION_H_
6 #define SYNC_SYNCABLE_SYNCABLE_CHANGES_VERSION_H_
7 
8 namespace syncer {
9 namespace syncable {
10 
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:
14 //
15 //  1.  CHANGES_VERSION is less than 0.
16 //  2.  The server only issues positive version numbers.
17 //
18 // Breaking these abstractions makes some operations 10 times
19 // faster.  If either of these invariants change, then those queries
20 // must be revisited.
21 
22 enum {
23   CHANGES_VERSION = -1
24 };
25 
26 #define CHANGES_VERSION_STRING "-1"
27 
28 }  // namespace syncable
29 }  // namespace syncer
30 
31 #endif  // SYNC_SYNCABLE_SYNCABLE_CHANGES_VERSION_H_
32