diff options
author | zea@chromium.org <zea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-14 04:06:20 +0000 |
---|---|---|
committer | zea@chromium.org <zea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-14 04:06:20 +0000 |
commit | b27e9c185d34cdc15423cd1bd4484f0c2f708461 (patch) | |
tree | c00b398d0616cc5538dcb37d386ae92dd618af80 /sync | |
parent | 1ef40bdee8ac43d248e0838d619b5dc8b514ede5 (diff) | |
download | chromium_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.proto | 19 |
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 { |