Chromium Code Reviews| OLD | NEW |
|---|---|
| (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 } | |
| OLD | NEW |