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

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

Issue 652072: Refine IPv6 probe to require that the client has an IPv6 address on an interf... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « net/base/host_resolver.h ('k') | net/base/host_resolver_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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_BASE_HOST_RESOLVER_IMPL_H_ 5 #ifndef NET_BASE_HOST_RESOLVER_IMPL_H_
6 #define NET_BASE_HOST_RESOLVER_IMPL_H_ 6 #define NET_BASE_HOST_RESOLVER_IMPL_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 // HostResolver methods: 81 // HostResolver methods:
82 virtual int Resolve(const RequestInfo& info, 82 virtual int Resolve(const RequestInfo& info,
83 AddressList* addresses, 83 AddressList* addresses,
84 CompletionCallback* callback, 84 CompletionCallback* callback,
85 RequestHandle* out_req, 85 RequestHandle* out_req,
86 LoadLog* load_log); 86 LoadLog* load_log);
87 virtual void CancelRequest(RequestHandle req); 87 virtual void CancelRequest(RequestHandle req);
88 virtual void AddObserver(HostResolver::Observer* observer); 88 virtual void AddObserver(HostResolver::Observer* observer);
89 virtual void RemoveObserver(HostResolver::Observer* observer); 89 virtual void RemoveObserver(HostResolver::Observer* observer);
90 90
91 virtual void SetDefaultAddressFamily(AddressFamily address_family) { 91 // Set address family, and disable IPv6 probe support.
92 default_address_family_ = address_family; 92 virtual void SetDefaultAddressFamily(AddressFamily address_family);
93 } 93
94 // Continuously observe whether IPv6 is supported, and set the allowable
95 // address family to IPv4 iff IPv6 is not supported.
96 void ProbeIPv6Support();
94 97
95 virtual HostResolverImpl* GetAsHostResolverImpl() { return this; } 98 virtual HostResolverImpl* GetAsHostResolverImpl() { return this; }
96 99
97 // TODO(eroman): hack for http://crbug.com/15513 100 // TODO(eroman): hack for http://crbug.com/15513
98 void Shutdown(); 101 void Shutdown();
99 102
100 // Returns the cache this resolver uses, or NULL if caching is disabled. 103 // Returns the cache this resolver uses, or NULL if caching is disabled.
101 HostCache* cache() { return cache_.get(); } 104 HostCache* cache() { return cache_.get(); }
102 105
103 // Clears the request trace log. 106 // Clears the request trace log.
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 scoped_refptr<HostResolverProc> resolver_proc_; 240 scoped_refptr<HostResolverProc> resolver_proc_;
238 241
239 // Address family to use when the request doesn't specify one. 242 // Address family to use when the request doesn't specify one.
240 AddressFamily default_address_family_; 243 AddressFamily default_address_family_;
241 244
242 // TODO(eroman): hack for http://crbug.com/15513 245 // TODO(eroman): hack for http://crbug.com/15513
243 bool shutdown_; 246 bool shutdown_;
244 247
245 NetworkChangeNotifier* const network_change_notifier_; 248 NetworkChangeNotifier* const network_change_notifier_;
246 249
250 // Indicate if probing is done after each network change event to set address
251 // family.
252 // When false, explicit setting of address family is used.
253 bool ipv6_probe_monitoring_;
254
247 scoped_refptr<RequestsTrace> requests_trace_; 255 scoped_refptr<RequestsTrace> requests_trace_;
248 256
249 DISALLOW_COPY_AND_ASSIGN(HostResolverImpl); 257 DISALLOW_COPY_AND_ASSIGN(HostResolverImpl);
250 }; 258 };
251 259
252 } // namespace net 260 } // namespace net
253 261
254 #endif // NET_BASE_HOST_RESOLVER_IMPL_H_ 262 #endif // NET_BASE_HOST_RESOLVER_IMPL_H_
OLDNEW
« no previous file with comments | « net/base/host_resolver.h ('k') | net/base/host_resolver_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698