OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 NET_PROXY_PROXY_RETRY_INFO_H_ | 5 #ifndef NET_PROXY_PROXY_RETRY_INFO_H_ |
6 #define NET_PROXY_PROXY_RETRY_INFO_H_ | 6 #define NET_PROXY_PROXY_RETRY_INFO_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 | 9 |
10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
11 | 11 |
12 namespace net { | 12 namespace net { |
13 | 13 |
14 // Contains the information about when to retry a proxy server. | 14 // Contains the information about when to retry a proxy server. |
15 struct ProxyRetryInfo { | 15 struct ProxyRetryInfo { |
16 ProxyRetryInfo() : try_while_bad(true) {} | 16 ProxyRetryInfo() : try_while_bad(true), net_error(0) {} |
17 | 17 |
18 // We should not retry until this time. | 18 // We should not retry until this time. |
19 base::TimeTicks bad_until; | 19 base::TimeTicks bad_until; |
20 | 20 |
21 // This is the current delay. If the proxy is still bad, we need to increase | 21 // This is the current delay. If the proxy is still bad, we need to increase |
22 // this delay. | 22 // this delay. |
23 base::TimeDelta current_delay; | 23 base::TimeDelta current_delay; |
24 | 24 |
25 // True if this proxy should be considered even if still bad. | 25 // True if this proxy should be considered even if still bad. |
26 bool try_while_bad; | 26 bool try_while_bad; |
27 | 27 |
28 // The network error received when this proxy failed, or |OK| if the proxy | 28 // The network error received when this proxy failed, or |OK| if the proxy |
29 // was added to the retry list for a non-network related reason. (e.g. local | 29 // was added to the retry list for a non-network related reason. (e.g. local |
30 // policy). | 30 // policy). |
31 int net_error; | 31 int net_error; |
32 }; | 32 }; |
33 | 33 |
34 // Map of proxy servers with the associated RetryInfo structures. | 34 // Map of proxy servers with the associated RetryInfo structures. |
35 // The key is a proxy URI string [<scheme>"://"]<host>":"<port>. | 35 // The key is a proxy URI string [<scheme>"://"]<host>":"<port>. |
36 typedef std::map<std::string, ProxyRetryInfo> ProxyRetryInfoMap; | 36 typedef std::map<std::string, ProxyRetryInfo> ProxyRetryInfoMap; |
37 | 37 |
38 } // namespace net | 38 } // namespace net |
39 | 39 |
40 #endif // NET_PROXY_PROXY_RETRY_INFO_H_ | 40 #endif // NET_PROXY_PROXY_RETRY_INFO_H_ |
OLD | NEW |