Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Side by Side Diff: components/data_reduction_proxy/browser/data_reduction_proxy_params.h

Issue 390533003: Bypassed Bytes UMAs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Moving #if defined(SPDY_PROXY_AUTH_ORIGIN) Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #ifndef COMPONENTS_DATA_REDUCTION_PROXY_BROWSER_DATA_REDUCTION_PROXY_PARAMS_H_ 5 #ifndef COMPONENTS_DATA_REDUCTION_PROXY_BROWSER_DATA_REDUCTION_PROXY_PARAMS_H_
6 #define COMPONENTS_DATA_REDUCTION_PROXY_BROWSER_DATA_REDUCTION_PROXY_PARAMS_H_ 6 #define COMPONENTS_DATA_REDUCTION_PROXY_BROWSER_DATA_REDUCTION_PROXY_PARAMS_H_
7 7
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "net/base/host_port_pair.h" 13 #include "net/base/host_port_pair.h"
14 #include "net/proxy/proxy_retry_info.h"
14 #include "url/gurl.h" 15 #include "url/gurl.h"
15 16
17 namespace base {
18 class TimeDelta;
19 }
20
16 namespace net { 21 namespace net {
17 class URLRequest; 22 class URLRequest;
18 } 23 }
19 24
20 namespace data_reduction_proxy { 25 namespace data_reduction_proxy {
21 // Provides initialization parameters. Proxy origins, and the probe url are 26 // Provides initialization parameters. Proxy origins, and the probe url are
22 // are taken from flags if available and from preprocessor constants otherwise. 27 // are taken from flags if available and from preprocessor constants otherwise.
23 // The DataReductionProxySettings class and others use this class to determine 28 // The DataReductionProxySettings class and others use this class to determine
24 // the necessary DNS names to configure use of the data reduction proxy. 29 // the necessary DNS names to configure use of the data reduction proxy.
25 class DataReductionProxyParams { 30 class DataReductionProxyParams {
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 // bypassed, if one exists. |proxy_servers| can be NULL if the caller isn't 102 // bypassed, if one exists. |proxy_servers| can be NULL if the caller isn't
98 // interested in its values. Virtual for testing. 103 // interested in its values. Virtual for testing.
99 virtual bool IsDataReductionProxy(const net::HostPortPair& host_port_pair, 104 virtual bool IsDataReductionProxy(const net::HostPortPair& host_port_pair,
100 std::pair<GURL, GURL>* proxy_servers) const; 105 std::pair<GURL, GURL>* proxy_servers) const;
101 106
102 // Returns true if this request will be sent through the data request proxy 107 // Returns true if this request will be sent through the data request proxy
103 // based on applying the param rules to the URL. We do not check bad proxy 108 // based on applying the param rules to the URL. We do not check bad proxy
104 // list. 109 // list.
105 virtual bool IsDataReductionProxyEligible(const net::URLRequest* request); 110 virtual bool IsDataReductionProxyEligible(const net::URLRequest* request);
106 111
112 // Checks if all configured data reduction proxies are in the retry map.
113 // Returns true if the request is bypassed by all configured data reduction
114 // proxies and returns the bypass delay in delay_seconds (if not NULL). If
115 // there are no configured data reduction proxies, returns false. If
116 // the request is bypassed by more than one proxy, delay_seconds returns
117 // the shortest delay.
118 bool AreDataReductionProxiesBypassed(const net::URLRequest& request,
119 base::TimeDelta* min_retry_delay) const;
120
121 // Checks if all configured data reduction proxies are in the retry map.
122 // Returns true if the request is bypassed by all configured data reduction
123 // proxies and returns the bypass delay in delay_seconds (if not NULL). If
124 // there are no configured data reduction proxies, returns false. If
125 // the request is bypassed by more than one proxy, delay_seconds returns
126 // the shortest delay.
127 bool AreProxiesBypassed(const net::ProxyRetryInfoMap& retry_map,
128 bool is_https,
129 base::TimeDelta* min_retry_delay) const;
130
107 // Returns the data reduction proxy primary origin. 131 // Returns the data reduction proxy primary origin.
108 const GURL& origin() const { 132 const GURL& origin() const {
109 return origin_; 133 return origin_;
110 } 134 }
111 135
112 // Returns the data reduction proxy fallback origin. 136 // Returns the data reduction proxy fallback origin.
113 const GURL& fallback_origin() const { 137 const GURL& fallback_origin() const {
114 return fallback_origin_; 138 return fallback_origin_;
115 } 139 }
116 140
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 virtual std::string GetDefaultDevOrigin() const; 221 virtual std::string GetDefaultDevOrigin() const;
198 virtual std::string GetDefaultOrigin() const; 222 virtual std::string GetDefaultOrigin() const;
199 virtual std::string GetDefaultFallbackOrigin() const; 223 virtual std::string GetDefaultFallbackOrigin() const;
200 virtual std::string GetDefaultSSLOrigin() const; 224 virtual std::string GetDefaultSSLOrigin() const;
201 virtual std::string GetDefaultAltOrigin() const; 225 virtual std::string GetDefaultAltOrigin() const;
202 virtual std::string GetDefaultAltFallbackOrigin() const; 226 virtual std::string GetDefaultAltFallbackOrigin() const;
203 virtual std::string GetDefaultProbeURL() const; 227 virtual std::string GetDefaultProbeURL() const;
204 virtual std::string GetDefaultWarmupURL() const; 228 virtual std::string GetDefaultWarmupURL() const;
205 229
206 private: 230 private:
231 // Checks if the primary and fallback data reduction proxies are in the retry
232 // map. Returns true if the request is bypassed by both data reduction
233 // proxies and returns the shortest bypass delay in delay_seconds (if not
234 // NULL). If the fallback proxy is not valid, returns true if primary proxy
235 // was bypassed and returns its bypass delay.
236 bool ArePrimaryAndFallbackBypassed(const net::ProxyRetryInfoMap& retry_map,
237 const GURL& primary,
238 const GURL& fallback,
239 base::TimeDelta* min_retry_delay) const;
207 GURL origin_; 240 GURL origin_;
208 GURL fallback_origin_; 241 GURL fallback_origin_;
209 GURL ssl_origin_; 242 GURL ssl_origin_;
210 GURL alt_origin_; 243 GURL alt_origin_;
211 GURL alt_fallback_origin_; 244 GURL alt_fallback_origin_;
212 GURL probe_url_; 245 GURL probe_url_;
213 GURL warmup_url_; 246 GURL warmup_url_;
214 247
215 bool allowed_; 248 bool allowed_;
216 const bool fallback_allowed_; 249 const bool fallback_allowed_;
217 bool alt_allowed_; 250 bool alt_allowed_;
218 const bool promo_allowed_; 251 const bool promo_allowed_;
219 bool holdback_; 252 bool holdback_;
220 253
221 bool configured_on_command_line_; 254 bool configured_on_command_line_;
222 255
223 DISALLOW_COPY_AND_ASSIGN(DataReductionProxyParams); 256 DISALLOW_COPY_AND_ASSIGN(DataReductionProxyParams);
224 }; 257 };
225 258
226 } // namespace data_reduction_proxy 259 } // namespace data_reduction_proxy
227 #endif // COMPONENTS_DATA_REDUCTION_PROXY_BROWSER_DATA_REDUCTION_PROXY_PARAMS_H _ 260 #endif // COMPONENTS_DATA_REDUCTION_PROXY_BROWSER_DATA_REDUCTION_PROXY_PARAMS_H _
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698