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
3 // found in the LICENSE file.
5 #ifndef NET_PROXY_PROXY_RETRY_INFO_H_
6 #define NET_PROXY_PROXY_RETRY_INFO_H_
10 #include "base/time/time.h"
14 // Contains the information about when to retry a proxy server.
15 struct ProxyRetryInfo
{
16 ProxyRetryInfo() : try_while_bad(true), net_error(0) {}
18 // We should not retry until this time.
19 base::TimeTicks bad_until
;
21 // This is the current delay. If the proxy is still bad, we need to increase
23 base::TimeDelta current_delay
;
25 // True if this proxy should be considered even if still bad.
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
34 // Map of proxy servers with the associated RetryInfo structures.
35 // The key is a proxy URI string [<scheme>"://"]<host>":"<port>.
36 typedef std::map
<std::string
, ProxyRetryInfo
> ProxyRetryInfoMap
;
40 #endif // NET_PROXY_PROXY_RETRY_INFO_H_