OLD | NEW |
| (Empty) |
1 // Copyright 2015 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 syntax = "proto2"; | |
6 | |
7 option optimize_for = LITE_RUNTIME; | |
8 option retain_unknown_fields = true; | |
9 | |
10 package sync_pb; | |
11 | |
12 // Sync proto to store entity metadata in model type storage. | |
13 message EntityMetadata { | |
14 // A hash based on the client tag and model type. | |
15 // Used for various map lookups. Should always be available. | |
16 // Sent to the server as SyncEntity::client_defined_unique_tag. | |
17 optional string client_tag_hash = 1; | |
18 | |
19 // The entity's server-assigned ID. | |
20 // | |
21 // Prior to the item's first commit, we leave this value as an empty string. | |
22 // The initial ID for a newly created item has to meet certain uniqueness | |
23 // requirements, and we handle those on the sync thread. | |
24 optional string server_id = 2; | |
25 | |
26 // Whether or not the entity is deleted. | |
27 optional bool is_deleted = 3; | |
28 | |
29 // A version number used to track in-progress commits. Each local change | |
30 // increments this number. | |
31 optional int64 sequence_number = 4; | |
32 | |
33 // The sequence number of the last item known to be successfully committed. | |
34 optional int64 acked_sequence_number = 5; | |
35 | |
36 // The server version on which this item is based. | |
37 // | |
38 // If there are no local changes, this is the version of the entity as we see | |
39 // it here. | |
40 // | |
41 // If there are local changes, this is the version of the entity on which | |
42 // those changes are based. | |
43 optional int64 server_version = 6 [default = -1]; | |
44 | |
45 // Entity creation and modification timestamps. | |
46 // Assigned by the client and synced by the server, though the server usually | |
47 // doesn't bother to inspect their values. | |
48 optional int64 creation_time = 7; | |
49 optional int64 modification_time = 8; | |
50 | |
51 // A hash of the current entity specifics value. Used to detect whether | |
52 // entity's specifics value has changed without having to keep specifics in | |
53 // memory. | |
54 optional string specifics_hash = 9; | |
55 | |
56 // A hash of the last specifics known by both the client and server. Used to | |
57 // detect when local commits and remote updates are just for encryption. This | |
58 // value will be the empty string only in the following cases: the entity is | |
59 // in sync with the server, has never been synced, or is deleted. | |
60 optional string base_specifics_hash = 10; | |
61 } | |
OLD | NEW |