summaryrefslogtreecommitdiffstats
path: root/sync
diff options
context:
space:
mode:
authorzea@chromium.org <zea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-14 04:06:20 +0000
committerzea@chromium.org <zea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-14 04:06:20 +0000
commitb27e9c185d34cdc15423cd1bd4484f0c2f708461 (patch)
treec00b398d0616cc5538dcb37d386ae92dd618af80 /sync
parent1ef40bdee8ac43d248e0838d619b5dc8b514ede5 (diff)
downloadchromium_src-b27e9c185d34cdc15423cd1bd4484f0c2f708461.zip
chromium_src-b27e9c185d34cdc15423cd1bd4484f0c2f708461.tar.gz
chromium_src-b27e9c185d34cdc15423cd1bd4484f0c2f708461.tar.bz2
[Sync] Update ChipBag proto
Add an optional bytes server_chips field to represent the opaque server data. BUG=None Review URL: https://chromiumcodereview.appspot.com/11361234 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167586 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync')
-rw-r--r--sync/protocol/sync.proto19
1 files changed, 17 insertions, 2 deletions
diff --git a/sync/protocol/sync.proto b/sync/protocol/sync.proto
index 2b564e5..6877ece 100644
--- a/sync/protocol/sync.proto
+++ b/sync/protocol/sync.proto
@@ -469,9 +469,24 @@ message AuthenticateMessage {
required string auth_token = 1;
};
-// Opaque data used by the server to track the client with.
+// The client must preserve, store, and resend the chip bag with
+// every request. The server depends on the chip bag in order
+// to precisely choreograph a client-server state machines.
+//
+// Because the client stores and sends this data on every request,
+// the contents of the chip bag should be kept relatively small.
+//
+// If the server does not return a chip bag, the client must assume
+// that there has been no change to the chip bag. The client must
+// resend the bag of chips it had prior on the next request.
+//
+// The client must make the chip bag durable if and only if it
+// processes the response from the server.
message ChipBag {
-};
+ // Server chips are deliberately oqaque, allowing the server
+ // to encapsulate its state machine logic.
+ optional bytes server_chips = 1;
+}
// Information about the syncer's state.
message ClientStatus {