Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1468)

Unified Diff: net/base/host_resolver_impl.cc

Issue 7011044: Add a command line option to turn off retry attempts to resolve host (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/base/host_resolver_impl.cc
===================================================================
--- net/base/host_resolver_impl.cc (revision 85450)
+++ net/base/host_resolver_impl.cc (working copy)
@@ -97,6 +97,7 @@
// static
HostResolver* CreateSystemHostResolver(size_t max_concurrent_resolves,
+ size_t max_retry_attempts,
NetLog* net_log) {
// Maximum of 8 concurrent resolver threads.
// Some routers (or resolvers) appear to start to provide host-not-found if
@@ -108,8 +109,8 @@
max_concurrent_resolves = kDefaultMaxJobs;
HostResolverImpl* resolver =
- new HostResolverImpl(NULL, CreateDefaultCache(),
- max_concurrent_resolves, net_log);
+ new HostResolverImpl(NULL, CreateDefaultCache(), max_concurrent_resolves,
+ max_retry_attempts, net_log);
return resolver;
}
@@ -437,10 +438,12 @@
// OnCheckForComplete has the potential for starting a new attempt on a
// different worker thread if none of our outstanding attempts have
// completed yet.
- origin_loop_->PostDelayedTask(
- FROM_HERE,
- NewRunnableMethod(this, &Job::OnCheckForComplete),
- unresponsive_delay_.InMilliseconds());
+ if (attempt_number_ <= resolver_->max_retry_attempts()) {
+ origin_loop_->PostDelayedTask(
+ FROM_HERE,
+ NewRunnableMethod(this, &Job::OnCheckForComplete),
+ unresponsive_delay_.InMilliseconds());
+ }
}
// Cancels the current job. The Job will be orphaned. Any outstanding resolve
@@ -540,7 +543,7 @@
void OnCheckForComplete() {
DCHECK(origin_loop_->BelongsToCurrentThread());
- if (was_cancelled() || was_completed())
+ if (was_completed() || was_cancelled())
return;
DCHECK(resolver_);
@@ -1011,9 +1014,11 @@
HostResolverProc* resolver_proc,
HostCache* cache,
size_t max_jobs,
+ size_t max_retry_attempts,
NetLog* net_log)
: cache_(cache),
max_jobs_(max_jobs),
+ max_retry_attempts_(max_retry_attempts),
unresponsive_delay_(base::TimeDelta::FromMilliseconds(6000)),
retry_factor_(2),
maximum_unresponsive_delay_(base::TimeDelta::FromMilliseconds(60000)),
@@ -1515,7 +1520,7 @@
NULL);
scoped_refptr<Job> job(new Job(next_job_id_++, this, key,
- req->request_net_log(), net_log_));
+ req->request_net_log(), net_log_));
job->AddRequest(req);
AddOutstandingJob(job);
job->Start();

Powered by Google App Engine
This is Rietveld 408576698