OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 #ifndef SYNC_SYNCABLE_SYNCABLE_CHANGES_VERSION_H_ | 5 #ifndef SYNC_SYNCABLE_SYNCABLE_CHANGES_VERSION_H_ |
6 #define SYNC_SYNCABLE_SYNCABLE_CHANGES_VERSION_H_ | 6 #define SYNC_SYNCABLE_SYNCABLE_CHANGES_VERSION_H_ |
7 #pragma once | |
8 | 7 |
9 namespace syncer { | 8 namespace syncer { |
10 namespace syncable { | 9 namespace syncable { |
11 | 10 |
12 // For the most part, the sync engine treats version numbers as opaque values. | 11 // For the most part, the sync engine treats version numbers as opaque values. |
13 // However, there are parts of our code base that break this abstraction, and | 12 // However, there are parts of our code base that break this abstraction, and |
14 // depend on the following two invariants: | 13 // depend on the following two invariants: |
15 // | 14 // |
16 // 1. CHANGES_VERSION is less than 0. | 15 // 1. CHANGES_VERSION is less than 0. |
17 // 2. The server only issues positive version numbers. | 16 // 2. The server only issues positive version numbers. |
18 // | 17 // |
19 // Breaking these abstractions makes some operations 10 times | 18 // Breaking these abstractions makes some operations 10 times |
20 // faster. If either of these invariants change, then those queries | 19 // faster. If either of these invariants change, then those queries |
21 // must be revisited. | 20 // must be revisited. |
22 | 21 |
23 enum { | 22 enum { |
24 CHANGES_VERSION = -1 | 23 CHANGES_VERSION = -1 |
25 }; | 24 }; |
26 | 25 |
27 #define CHANGES_VERSION_STRING "-1" | 26 #define CHANGES_VERSION_STRING "-1" |
28 | 27 |
29 } // namespace syncable | 28 } // namespace syncable |
30 } // namespace syncer | 29 } // namespace syncer |
31 | 30 |
32 #endif // SYNC_SYNCABLE_SYNCABLE_CHANGES_VERSION_H_ | 31 #endif // SYNC_SYNCABLE_SYNCABLE_CHANGES_VERSION_H_ |
OLD | NEW |