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

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

Issue 2382533002: Helium: Initial proto and Syncable interface definition (Closed)
Patch Set: test changes 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « blimp/common/proto/BUILD.gn ('k') | blimp/net/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..0b215f4f222de6d76350f1a268b8f2cd68f9a144
--- /dev/null
+++ b/blimp/common/proto/helium.proto
@@ -0,0 +1,59 @@
+// 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;
+
+package blimp.proto;
+
+// 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 {
+ uint64 local_revision = 1;
+ uint64 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 payload {
+ // Sample message for the test
+ TestChangesetMessage test = 1;
+ };
+}
+
+// Message that encapsulates a change for a helium object. It contains
+// information required to restore the object from the time specified in |from|
+// until |to|.
+//
+// This is the main object that will be sent in the Helium transport
+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.
+ ChangesetMessage change = 4;
+}
« no previous file with comments | « blimp/common/proto/BUILD.gn ('k') | blimp/net/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698