diff options
Diffstat (limited to 'components/data_reduction_proxy/proto/client_config.proto')
-rw-r--r-- | components/data_reduction_proxy/proto/client_config.proto | 70 |
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 { +} |