Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(734)

Side by Side Diff: blimp/common/proto/helium.proto

Issue 2377873002: Initial definition of HeliumSyncManager and SyncRegistration objects. (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2016 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 // Over-the-wire message definitions used for the Helium
6 // synchronization protocol.
7
8 syntax = "proto2";
scf 2016/09/28 17:17:59 use proto3 as you describe no?
9
10 option optimize_for = LITE_RUNTIME;
11
12 import "blimp_message.proto";
13
14 package blimp.proto;
scf 2016/09/28 17:18:00 i've noticed other proto files use "package blimp"
15
16 // A FIFO queue of BlimpMessages, for compatibility with features which use
17 // the legacy protocol. Should be removed once all features use Helium.
18 message TransitionalChangeset {
scf 2016/09/28 17:17:59 rename it to LegacyChangeset?
perumaal 2016/09/28 23:31:30 I am confused. Wouldn't you want to wrap a HeliumM
19 repeated BlimpMessage messages = 1;
20 }
21
22 message HeliumRevision {
scf 2016/09/28 17:18:00 Call it HeliumVectorClock so that it matches the c
23 optional int32 local_revision = 1;
scf 2016/09/28 17:18:00 uint32 so that matches the VectorClock
24 optional int32 remote_revision = 2;
25 }
26
27 message HeliumChangeset {
28 oneof changes { TransitionalChangeset transitional = 1; }
29 }
30
31 message HeliumMessage {
32 // Identifies the local revision that this changeset applies to (relative
33 // to the sender), and the remote revision that the local side most recently
34 // received (i.e. an ACK, in effect).
35 // Note that the local revision can usually be inferred rather than actually
36 // sent on the wire. Similarly the remote revision may be omitted if it
37 // hasn’t changed since the last changeset was sent.
38 optional HeliumRevision reference_revision = 1;
scf 2016/09/28 17:17:59 i like calling from/to as it matches the sync_mana
39
40 // Provides the local view of the vector-clock following application of
41 // the changeset. This allows a single changeset to collate changes across
42 // several revisions, following a break in connectivity, rather than simply
43 // re-transmitting the lost changesets.
44 // Note that this can usually be inferred rather than send on-the-wire.
45 optional HeliumRevision changeset_revision = 2;
46
47 // Identifies the Object to which this changeset applies.
48 // Note that this may be omitted if the previous message on this Stream
49 // was for the same Object.
50 optional int32 object_id = 3;
scf 2016/09/28 17:17:59 change to uint32 for consistency with HeliumObject
51
52 // Changeset to be applied to the relevant Object.
53 optional HeliumChangeset changeset = 4;
54 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698