summaryrefslogtreecommitdiffstats
path: root/net/base/host_resolver_proc.h
diff options
context:
space:
mode:
authoreroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-16 19:42:46 +0000
committereroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-05-16 19:42:46 +0000
commit2152600d98b5c802fec1caba84ae9d0cb16af235 (patch)
tree37be46839818f20cfefecf2a284e9352ead55bb8 /net/base/host_resolver_proc.h
parenta643d62e025c82ad920117e833508f5def0d1deb (diff)
downloadchromium_src-2152600d98b5c802fec1caba84ae9d0cb16af235.zip
chromium_src-2152600d98b5c802fec1caba84ae9d0cb16af235.tar.gz
chromium_src-2152600d98b5c802fec1caba84ae9d0cb16af235.tar.bz2
Log the OS error that getaddrinfo() failed with.
- Display it on the about:net-internals page - Collect it in the histogram Net.OSErrorsForGetAddrinfo. Review URL: http://codereview.chromium.org/2134004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47386 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/host_resolver_proc.h')
-rw-r--r--net/base/host_resolver_proc.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/net/base/host_resolver_proc.h b/net/base/host_resolver_proc.h
index 6f32280..3a8adc7 100644
--- a/net/base/host_resolver_proc.h
+++ b/net/base/host_resolver_proc.h
@@ -27,11 +27,13 @@ class HostResolverProc : public base::RefCountedThreadSafe<HostResolverProc> {
// Resolves |host| to an address list, restricting the results to addresses
// in |address_family|. If successful returns OK and fills |addrlist| with
- // a list of socket addresses. Otherwise returns a network error code.
+ // a list of socket addresses. Otherwise returns a network error code, and
+ // fills |os_error| with a more specific error if it was non-NULL.
virtual int Resolve(const std::string& host,
AddressFamily address_family,
HostResolverFlags host_resolver_flags,
- AddressList* addrlist) = 0;
+ AddressList* addrlist,
+ int* os_error) = 0;
protected:
friend class base::RefCountedThreadSafe<HostResolverProc>;
@@ -42,7 +44,8 @@ class HostResolverProc : public base::RefCountedThreadSafe<HostResolverProc> {
int ResolveUsingPrevious(const std::string& host,
AddressFamily address_family,
HostResolverFlags host_resolver_flags,
- AddressList* addrlist);
+ AddressList* addrlist,
+ int* os_error);
private:
friend class HostResolverImpl;
@@ -77,11 +80,13 @@ class HostResolverProc : public base::RefCountedThreadSafe<HostResolverProc> {
// Resolves |host| to an address list, using the system's default host resolver.
// (i.e. this calls out to getaddrinfo()). If successful returns OK and fills
// |addrlist| with a list of socket addresses. Otherwise returns a
-// network error code.
+// network error code, and fills |os_error| with a more specific errir if it
+// was non-NULL.
int SystemHostResolverProc(const std::string& host,
AddressFamily address_family,
HostResolverFlags host_resolver_flags,
- AddressList* addrlist);
+ AddressList* addrlist,
+ int* os_error);
} // namespace net