summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbengr@google.com <bengr@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-10 18:10:34 +0000
committerbengr@google.com <bengr@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-10 18:10:34 +0000
commit4ce032776b057eec5fd6b5a0804a6c55a70d1761 (patch)
tree0fbd148d52f6d34689906ccf8eb49b328d58c301
parent6b729c02d8175c0c7e7270c256cb17f11154892b (diff)
downloadchromium_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.cc11
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;
}