| Index: net/base/host_resolver_impl.h
|
| ===================================================================
|
| --- net/base/host_resolver_impl.h (revision 85651)
|
| +++ net/base/host_resolver_impl.h (working copy)
|
| @@ -85,19 +85,22 @@
|
| // |max_jobs| specifies the maximum number of threads that the host resolver
|
| // will use (not counting potential duplicate attempts). Use
|
| // SetPoolConstraints() to specify finer-grain settings.
|
| + // |max_retry_attempts| is the maximum number of times we will retry for host
|
| + // resolution. Pass HostResolver::kDefaultRetryAttempts to choose a default
|
| + // value.
|
| //
|
| // For each attempt, we could start another attempt if host is not resolved
|
| // within unresponsive_delay_ time. We keep attempting to resolve the host
|
| - // until retry interval reaches maximum_unresponsive_delay_ time. For every
|
| - // retry attempt, we grow the unresponsive_delay_ by the retry_factor_ amount
|
| - // (that is retry interval is multiplied by the retry factor each time). Once
|
| - // retry interval exceeds maximum_unresponsive_delay_ time, we give up on
|
| - // additional attempts.
|
| + // for max_retry_attempts. For every retry attempt, we grow the
|
| + // unresponsive_delay_ by the retry_factor_ amount (that is retry interval is
|
| + // multiplied by the retry factor each time). Once we have retried
|
| + // max_retry_attempts, we give up on additional attempts.
|
| //
|
| // |net_log| must remain valid for the life of the HostResolverImpl.
|
| HostResolverImpl(HostResolverProc* resolver_proc,
|
| HostCache* cache,
|
| size_t max_jobs,
|
| + size_t max_retry_attempts,
|
| NetLog* net_log);
|
|
|
| // If any completion callbacks are pending when the resolver is destroyed,
|
| @@ -250,13 +253,21 @@
|
| // NetworkChangeNotifier::IPAddressObserver methods:
|
| virtual void OnIPAddressChanged();
|
|
|
| + // Helper methods to get and set max_retry_attempts_.
|
| + size_t max_retry_attempts() const {
|
| + return max_retry_attempts_;
|
| + }
|
| + void set_max_retry_attempts(const size_t max_retry_attempts) {
|
| + max_retry_attempts_ = max_retry_attempts;
|
| + }
|
| +
|
| // Helper methods for unit tests to get and set unresponsive_delay_.
|
| base::TimeDelta unresponsive_delay() const { return unresponsive_delay_; }
|
| void set_unresponsive_delay(const base::TimeDelta& unresponsive_delay) {
|
| unresponsive_delay_ = unresponsive_delay;
|
| }
|
|
|
| - // Helper methods to get and set retry_factor.
|
| + // Helper methods to get and set retry_factor_.
|
| uint32 retry_factor() const {
|
| return retry_factor_;
|
| }
|
| @@ -264,15 +275,6 @@
|
| retry_factor_ = retry_factor;
|
| }
|
|
|
| - // Helper methods for unit tests to get and set maximum_unresponsive_delay_.
|
| - base::TimeDelta maximum_unresponsive_delay() const {
|
| - return maximum_unresponsive_delay_;
|
| - }
|
| - void set_maximum_unresponsive_delay(
|
| - const base::TimeDelta& maximum_unresponsive_delay) {
|
| - maximum_unresponsive_delay_ = maximum_unresponsive_delay;
|
| - }
|
| -
|
| // Cache of host resolution results.
|
| scoped_ptr<HostCache> cache_;
|
|
|
| @@ -283,6 +285,9 @@
|
| // create multiple concurrent resolve attempts for the hostname.
|
| size_t max_jobs_;
|
|
|
| + // Maximum number retry attempts to resolve the hostname.
|
| + size_t max_retry_attempts_;
|
| +
|
| // This is the limit after which we make another attempt to resolve the host
|
| // if the worker thread has not responded yet. Allow unit tests to change the
|
| // value.
|
| @@ -292,11 +297,6 @@
|
| // change the value.
|
| uint32 retry_factor_;
|
|
|
| - // This is the limit on how large we grow the retry interval. Once it exceeds
|
| - // this, we give up on additional attempts. Allow unit tests to change the
|
| - // value.
|
| - base::TimeDelta maximum_unresponsive_delay_;
|
| -
|
| // The information to track pending requests for a JobPool, as well as
|
| // how many outstanding jobs the pool already has, and its constraints.
|
| JobPool* job_pools_[POOL_COUNT];
|
|
|