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

Unified Diff: blimp/common/proto/helium.proto

Issue 2382533002: Helium: Initial proto and Syncable interface definition (Closed)
Patch Set: https://memegen.googleplex.com/4141705 Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: blimp/common/proto/helium.proto
diff --git a/blimp/common/proto/helium.proto b/blimp/common/proto/helium.proto
new file mode 100644
index 0000000000000000000000000000000000000000..e643d7e7d69aaa2303b87d8aa6d30d6e135f010a
--- /dev/null
+++ b/blimp/common/proto/helium.proto
@@ -0,0 +1,58 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+//
+// Over-the-wire message definitions used for the Helium synchronization
+// protocol.
+
+syntax = "proto3";
+
+option optimize_for = LITE_RUNTIME;
+
+import "blimp_message.proto";
+
+package blimp.helium;
+
+// Vector clock that is used to get the partial order of changes.
+// This class is the proto definition of
+// //blimp/net/helium/vector_clock.h
+message VectorClockMessage {
+ uint32 local_revision = 1;
+ uint32 remote_revision = 2;
+}
+
+// Sample proto for test purposes
+message TestChangesetMessage {
+ int32 value1 = 1;
+ int32 value2 = 2;
+}
+
+// A union of serializable Changeset types. There will be one for each Helium
+// Object that requires serialization.
+message ChangesetMessage {
+ oneof data {
+ // Sample message for the test
+ TestChangesetMessage test = 1;
+ };
+}
+
+// A message encapsulates the actual Changeset with the identifier of the
Kevin M 2016/10/03 21:44:26 This is already self-evident by the contents of th
scf 2016/10/03 22:20:17 Done.
+// object and the timestamp of the checkpoint.
+message HeliumMessage {
+ // Identifies the local revision that this changeset applies to (relative
+ // to the sender), and the remote revision that the local side most recently
+ // received (i.e. an ACK, in effect).
+ VectorClockMessage from = 1;
+
+ // Provides the local view of the vector-clock following application of
+ // the changeset. This allows a single changeset to collate changes across
+ // several revisions, following a break in connectivity, rather than simply
+ // re-transmitting the lost changesets.
+ VectorClockMessage to = 2;
+
+ // Identifies the Object to which this changeset applies.
+ uint32 object_id = 3;
+
+ // The changeset that contain the actual changes
Kevin M 2016/10/03 21:44:26 missing a trailing period
scf 2016/10/03 22:20:17 Done.
+ ChangesetMessage change = 4;
+}
« no previous file with comments | « blimp/common/proto/BUILD.gn ('k') | blimp/net/BUILD.gn » ('j') | blimp/net/helium/syncable.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698