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

Side by Side Diff: net/dns/host_resolver_impl.h

Issue 1163903002: Remove "Default Address Family" behavior from the HostResolver. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adjust comment on TestHostResolverImpl Created 5 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef NET_DNS_HOST_RESOLVER_IMPL_H_ 5 #ifndef NET_DNS_HOST_RESOLVER_IMPL_H_
6 #define NET_DNS_HOST_RESOLVER_IMPL_H_ 6 #define NET_DNS_HOST_RESOLVER_IMPL_H_
7 7
8 #include <map> 8 #include <map>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 int Resolve(const RequestInfo& info, 128 int Resolve(const RequestInfo& info,
129 RequestPriority priority, 129 RequestPriority priority,
130 AddressList* addresses, 130 AddressList* addresses,
131 const CompletionCallback& callback, 131 const CompletionCallback& callback,
132 RequestHandle* out_req, 132 RequestHandle* out_req,
133 const BoundNetLog& source_net_log) override; 133 const BoundNetLog& source_net_log) override;
134 int ResolveFromCache(const RequestInfo& info, 134 int ResolveFromCache(const RequestInfo& info,
135 AddressList* addresses, 135 AddressList* addresses,
136 const BoundNetLog& source_net_log) override; 136 const BoundNetLog& source_net_log) override;
137 void CancelRequest(RequestHandle req) override; 137 void CancelRequest(RequestHandle req) override;
138 void SetDefaultAddressFamily(AddressFamily address_family) override;
139 AddressFamily GetDefaultAddressFamily() const override;
140 void SetDnsClientEnabled(bool enabled) override; 138 void SetDnsClientEnabled(bool enabled) override;
141 HostCache* GetHostCache() override; 139 HostCache* GetHostCache() override;
142 base::Value* GetDnsConfigAsValue() const override; 140 base::Value* GetDnsConfigAsValue() const override;
143 141
144 void set_proc_params_for_test(const ProcTaskParams& proc_params) { 142 void set_proc_params_for_test(const ProcTaskParams& proc_params) {
145 proc_params_ = proc_params; 143 proc_params_ = proc_params;
146 } 144 }
147 145
148 private: 146 private:
149 friend class HostResolverImplTest; 147 friend class HostResolverImplTest;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 // Returns the (hostname, address_family) key to use for |info|, choosing an 196 // Returns the (hostname, address_family) key to use for |info|, choosing an
199 // "effective" address family by inheriting the resolver's default address 197 // "effective" address family by inheriting the resolver's default address
200 // family when the request leaves it unspecified. 198 // family when the request leaves it unspecified.
201 Key GetEffectiveKeyForRequest(const RequestInfo& info, 199 Key GetEffectiveKeyForRequest(const RequestInfo& info,
202 const IPAddressNumber* ip_number, 200 const IPAddressNumber* ip_number,
203 const BoundNetLog& net_log); 201 const BoundNetLog& net_log);
204 202
205 // Probes IPv6 support and returns true if IPv6 support is enabled. 203 // Probes IPv6 support and returns true if IPv6 support is enabled.
206 // Results are cached, i.e. when called repeatedly this method returns result 204 // Results are cached, i.e. when called repeatedly this method returns result
207 // from the first probe for some time before probing again. 205 // from the first probe for some time before probing again.
208 bool IsIPv6Reachable(const BoundNetLog& net_log); 206 virtual bool IsIPv6Reachable(const BoundNetLog& net_log);
209 207
210 // Records the result in cache if cache is present. 208 // Records the result in cache if cache is present.
211 void CacheResult(const Key& key, 209 void CacheResult(const Key& key,
212 const HostCache::Entry& entry, 210 const HostCache::Entry& entry,
213 base::TimeDelta ttl); 211 base::TimeDelta ttl);
214 212
215 // Removes |job| from |jobs_|, only if it exists. 213 // Removes |job| from |jobs_|, only if it exists.
216 void RemoveJob(Job* job); 214 void RemoveJob(Job* job);
217 215
218 // Aborts all in progress jobs with ERR_NETWORK_CHANGED and notifies their 216 // Aborts all in progress jobs with ERR_NETWORK_CHANGED and notifies their
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 scoped_ptr<PrioritizedDispatcher> dispatcher_; 259 scoped_ptr<PrioritizedDispatcher> dispatcher_;
262 260
263 // Limit on the maximum number of jobs queued in |dispatcher_|. 261 // Limit on the maximum number of jobs queued in |dispatcher_|.
264 size_t max_queued_jobs_; 262 size_t max_queued_jobs_;
265 263
266 // Parameters for ProcTask. 264 // Parameters for ProcTask.
267 ProcTaskParams proc_params_; 265 ProcTaskParams proc_params_;
268 266
269 NetLog* net_log_; 267 NetLog* net_log_;
270 268
271 // Address family to use when the request doesn't specify one.
272 AddressFamily default_address_family_;
273
274 // If present, used by DnsTask and ServeFromHosts to resolve requests. 269 // If present, used by DnsTask and ServeFromHosts to resolve requests.
275 scoped_ptr<DnsClient> dns_client_; 270 scoped_ptr<DnsClient> dns_client_;
276 271
277 // True if received valid config from |dns_config_service_|. Temporary, used 272 // True if received valid config from |dns_config_service_|. Temporary, used
278 // to measure performance of DnsConfigService: http://crbug.com/125599 273 // to measure performance of DnsConfigService: http://crbug.com/125599
279 bool received_dns_config_; 274 bool received_dns_config_;
280 275
281 // Number of consecutive failures of DnsTask, counted when fallback succeeds. 276 // Number of consecutive failures of DnsTask, counted when fallback succeeds.
282 unsigned num_dns_failures_; 277 unsigned num_dns_failures_;
283 278
284 // True if probing is done for each Request to set address family. When false,
285 // explicit setting in |default_address_family_| is used.
286 bool probe_ipv6_support_;
287
288 // True if DnsConfigService detected that system configuration depends on 279 // True if DnsConfigService detected that system configuration depends on
289 // local IPv6 connectivity. Disables probing. 280 // local IPv6 connectivity. Disables probing.
290 bool use_local_ipv6_; 281 bool use_local_ipv6_;
291 282
292 base::TimeTicks last_ipv6_probe_time_; 283 base::TimeTicks last_ipv6_probe_time_;
293 bool last_ipv6_probe_result_; 284 bool last_ipv6_probe_result_;
294 285
295 // True iff ProcTask has successfully resolved a hostname known to have IPv6 286 // True iff ProcTask has successfully resolved a hostname known to have IPv6
296 // addresses using ADDRESS_FAMILY_UNSPECIFIED. Reset on IP address change. 287 // addresses using ADDRESS_FAMILY_UNSPECIFIED. Reset on IP address change.
297 bool resolved_known_ipv6_hostname_; 288 bool resolved_known_ipv6_hostname_;
298 289
299 // Any resolver flags that should be added to a request by default. 290 // Any resolver flags that should be added to a request by default.
300 HostResolverFlags additional_resolver_flags_; 291 HostResolverFlags additional_resolver_flags_;
301 292
302 // Allow fallback to ProcTask if DnsTask fails. 293 // Allow fallback to ProcTask if DnsTask fails.
303 bool fallback_to_proctask_; 294 bool fallback_to_proctask_;
304 295
305 base::WeakPtrFactory<HostResolverImpl> weak_ptr_factory_; 296 base::WeakPtrFactory<HostResolverImpl> weak_ptr_factory_;
306 297
307 base::WeakPtrFactory<HostResolverImpl> probe_weak_ptr_factory_; 298 base::WeakPtrFactory<HostResolverImpl> probe_weak_ptr_factory_;
308 299
309 DISALLOW_COPY_AND_ASSIGN(HostResolverImpl); 300 DISALLOW_COPY_AND_ASSIGN(HostResolverImpl);
310 }; 301 };
311 302
312 } // namespace net 303 } // namespace net
313 304
314 #endif // NET_DNS_HOST_RESOLVER_IMPL_H_ 305 #endif // NET_DNS_HOST_RESOLVER_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698