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 |