- add sources.
[platform/framework/web/crosswalk.git] / src / sync / syncable / syncable_changes_version.h
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_