| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file | 3 // found in the LICENSE file |
| 4 | 4 |
| 5 syntax = "proto2"; | 5 syntax = "proto2"; |
| 6 | 6 |
| 7 option optimize_for = LITE_RUNTIME; | 7 option optimize_for = LITE_RUNTIME; |
| 8 | 8 |
| 9 package gcm_proto; | 9 package sync_pb; |
| 10 | 10 |
| 11 // Flags for enabling the GCM feature. | 11 import "experiments_specifics.proto"; |
| 12 message GcmChannelFlags { | |
| 13 optional bool enabled = 1; | |
| 14 } | |
| 15 | 12 |
| 16 // This request allows an unauthenticated client to check the status of the | 13 // This request allows an unauthenticated client to check the status of the |
| 17 // experiments which do not require user authentication. The status of an | 14 // experiments which do not require user authentication. The status of an |
| 18 // experiment for a specific client can be determined based on the user agent | 15 // experiment for a specific client can be determined based on the user agent |
| 19 // string and/or the client id sent in the HTTPS POST request. | 16 // string and/or the client id sent in the HTTPS POST request. |
| 20 message ExperimentStatusRequest { | 17 message ExperimentStatusRequest { |
| 21 // Enumerates the experiments for which the status should be returned. An | 18 // Enumerates the experiments for which the status should be returned. An |
| 22 // experiment name must be the same as one of the field names specified in | 19 // experiment name must be the same as one of the field names specified in |
| 23 // ExperimentsSpecifics. See sync/protocol/experiments_specifics.proto. | 20 // ExperimentsSpecifics. See sync/protocol/experiments_specifics.proto. |
| 24 repeated string experiment_name = 1; | 21 repeated string experiment_name = 1; |
| 25 } | 22 } |
| 26 | 23 |
| 27 // Response to an experiment status request. | 24 // Response to an experiment status request. |
| 28 message ExperimentStatusResponse { | 25 message ExperimentStatusResponse { |
| 29 // Minimal time to wait before issuing another request. | 26 // Minimal time to wait before issuing another request. |
| 30 optional int32 poll_interval_seconds = 1 [default = 3600]; | 27 optional int32 poll_interval_seconds = 1 [default = 3600]; |
| 31 | 28 |
| 32 // This flag is returned if and only if the client asks for gcm_channel. | 29 // The experiments that the client has asked for, with each experiment |
| 33 optional GcmChannelFlags gcm_channel = 2; | 30 // containing exactly one experiment flag. The client can inspect the |
| 31 // embedded flag to obtain the experiment status. Note that the number of |
| 32 // experiments should be less than or equal to the number of experiment_name |
| 33 // sent in the request since it is possible that there is no experiment |
| 34 // matching an experiment_name. |
| 35 repeated ExperimentsSpecifics experiment = 2; |
| 34 } | 36 } |
| OLD | NEW |