Chromium Code Reviews| 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 |
|
eroman
2011/05/17 22:53:26
Note that this does not work as described.
ramant (doing other things)
2011/05/17 23:27:25
Fixed.
Done.
|
| + // 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]; |