| 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) {} |
| 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 |
| 28 // The network error we received when we tried to use this proxy. |
| 29 int net_error; |
| 27 }; | 30 }; |
| 28 | 31 |
| 29 // Map of proxy servers with the associated RetryInfo structures. | 32 // Map of proxy servers with the associated RetryInfo structures. |
| 30 // The key is a proxy URI string [<scheme>"://"]<host>":"<port>. | 33 // The key is a proxy URI string [<scheme>"://"]<host>":"<port>. |
| 31 typedef std::map<std::string, ProxyRetryInfo> ProxyRetryInfoMap; | 34 typedef std::map<std::string, ProxyRetryInfo> ProxyRetryInfoMap; |
| 32 | 35 |
| 33 } // namespace net | 36 } // namespace net |
| 34 | 37 |
| 35 #endif // NET_PROXY_PROXY_RETRY_INFO_H_ | 38 #endif // NET_PROXY_PROXY_RETRY_INFO_H_ |
| OLD | NEW |