| 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 |