diff options
author | bengr@google.com <bengr@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-10 18:10:34 +0000 |
---|---|---|
committer | bengr@google.com <bengr@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-10 18:10:34 +0000 |
commit | 4ce032776b057eec5fd6b5a0804a6c55a70d1761 (patch) | |
tree | 0fbd148d52f6d34689906ccf8eb49b328d58c301 | |
parent | 6b729c02d8175c0c7e7270c256cb17f11154892b (diff) | |
download | chromium_src-4ce032776b057eec5fd6b5a0804a6c55a70d1761.zip chromium_src-4ce032776b057eec5fd6b5a0804a6c55a70d1761.tar.gz chromium_src-4ce032776b057eec5fd6b5a0804a6c55a70d1761.tar.bz2 |
Merge 199288 "Randomize proxy timeout on Android over a range."
> Randomize proxy timeout on Android over a range.
>
> BUG=237876
>
> Review URL: https://chromiumcodereview.appspot.com/14864016
TBR=bengr@chromium.org
Review URL: https://codereview.chromium.org/14623026
git-svn-id: svn://svn.chromium.org/chrome/branches/1500/src@199504 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | net/proxy/proxy_list.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/net/proxy/proxy_list.cc b/net/proxy/proxy_list.cc index a3ab02c..723e718 100644 --- a/net/proxy/proxy_list.cc +++ b/net/proxy/proxy_list.cc @@ -6,6 +6,7 @@ #include "base/callback.h" #include "base/logging.h" +#include "base/rand_util.h" #include "base/strings/string_tokenizer.h" #include "base/time.h" #include "base/values.h" @@ -193,11 +194,13 @@ bool ProxyList::Fallback(ProxyRetryInfoMap* proxy_retry_info, void ProxyList::UpdateRetryInfoOnFallback( ProxyRetryInfoMap* proxy_retry_info, const BoundNetLog& net_log) const { - // Number of minutes to wait before retrying a bad proxy server. + // Time to wait before retrying a bad proxy server. #if defined(OS_ANDROID) - const TimeDelta kProxyRetryDelay = TimeDelta::FromMinutes(1); + // Randomize the timeout over a range from one to five minutes. + const TimeDelta proxy_retry_delay = + TimeDelta::FromMilliseconds(base::RandInt(1 * 60 * 1000, 5 * 60 * 1000)); #else - const TimeDelta kProxyRetryDelay = TimeDelta::FromMinutes(5); + const TimeDelta proxy_retry_delay = TimeDelta::FromMinutes(5); #endif if (proxies_.empty()) { @@ -215,7 +218,7 @@ void ProxyList::UpdateRetryInfoOnFallback( iter->second.bad_until = TimeTicks::Now() + iter->second.current_delay; } else { ProxyRetryInfo retry_info; - retry_info.current_delay = kProxyRetryDelay; + retry_info.current_delay = proxy_retry_delay; retry_info.bad_until = TimeTicks().Now() + retry_info.current_delay; (*proxy_retry_info)[key] = retry_info; } |