summaryrefslogtreecommitdiffstats
path: root/components/data_reduction_proxy/proto/client_config.proto
diff options
context:
space:
mode:
Diffstat (limited to 'components/data_reduction_proxy/proto/client_config.proto')
-rw-r--r--components/data_reduction_proxy/proto/client_config.proto70
1 files changed, 70 insertions, 0 deletions
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 0000000..f2c796c
--- /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;
+}
+
+// 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.
+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;
+}
+
+// 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 {
+}