Index: components/data_reduction_proxy/proto/client_config.proto |
diff --git a/components/data_reduction_proxy/proto/client_config.proto b/components/data_reduction_proxy/proto/client_config.proto |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f2c796c12be0d75b744efcdd71299ab15e4bb1e4 |
--- /dev/null |
+++ b/components/data_reduction_proxy/proto/client_config.proto |
@@ -0,0 +1,70 @@ |
+// Copyright 2015 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. |
+ |
+syntax = "proto2"; |
+ |
+option optimize_for = LITE_RUNTIME; |
+ |
+package data_reduction_proxy; |
+ |
+// The client configuration information for using the Data Saver service. |
+message ClientConfig { |
+ // An opaque per-session key assigned by the server which permits use of the |
+ // Data Saver HTTP proxy servers. |
+ optional string session_key = 1; |
+ // The time at which the secure_session_key is no longer valid. This is |
+ // enforced by the Data Saver service, and is provided to permit the client |
+ // to request a new session key prior to expiration. |
+ optional Timestamp expire_time = 2; |
+ // The DataSaver proxy configuration that is valid for the session. |
+ optional ProxyConfig proxy_config = 3; |
bengr
2015/03/19 16:31:15
Where do you say what kind of traffic should be pr
jeremyim
2015/03/20 16:21:12
Line 42: // Provides proxy server information for
|
+} |
+ |
+// A Timestamp represents a point in time independent of any time zone |
+// or calendar, represented as seconds and fractions of seconds at |
+// nanosecond resolution in UTC Epoch time. |
sclittle
2015/03/18 20:31:51
Why do you need nanosecond resolution? Are microse
jeremyim
2015/03/20 16:21:12
We don't need it; however, the service definition
|
+message Timestamp { |
+ // Represents seconds of UTC time since Unix epoch |
+ // 1970-01-01T00:00:00Z. Must be from from 0001-01-01T00:00:00Z to |
+ // 9999-12-31T23:59:59Z inclusive. |
+ optional int64 seconds = 1; |
+ |
+ // Non-negative fractions of a second at nanosecond resolution. Negative |
+ // second values with fractions must still have non-negative nanos values |
+ // that count forward in time. Must be from 0 to 999,999,999 |
+ // inclusive. |
+ optional int32 nanos = 2; |
bengr
2015/03/19 16:31:15
Why not use uint32?
jeremyim
2015/03/20 16:21:12
Another restriction due to the service definition.
|
+} |
+ |
+// Data Saver proxy configuration. |
+message ProxyConfig { |
+ // Provides proxy server information for HTTP URIs. |
+ repeated ProxyServer http_proxy_servers = 1; |
+} |
+ |
+// Configuration information for a specific proxy server. |
+message ProxyServer { |
+ // The scheme of the proxy server. |
+ enum ProxyScheme { |
+ // The proxy scheme is unspecified. |
+ UNSPECIFIED = 0; |
+ // HTTP |
+ HTTP = 1; |
+ // HTTPS |
+ HTTPS = 2; |
+ // HTTPS over QUIC |
+ QUIC = 3; |
+ } |
+ |
+ // The scheme for the proxy server. |
+ optional ProxyScheme scheme = 1; |
+ // The host name for the proxy server. |
+ optional string host = 2; |
+ // The port number for the proxy server. |
+ optional int32 port = 3; |
+} |
+ |
+// Request object to create a client configuration object. |
+message CreateClientConfigRequest { |
+} |