diff options
author | agayev@chromium.org <agayev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-28 04:11:50 +0000 |
---|---|---|
committer | agayev@chromium.org <agayev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-28 04:11:50 +0000 |
commit | 6c1e21845d52076a03f1ed9ed6799190e1833dd3 (patch) | |
tree | f83a390db1b0497f6df51257e00e705852073e12 /chrome/common/net | |
parent | a6833b8c7436364df8ff118399a7b38dc7fcebc2 (diff) | |
download | chromium_src-6c1e21845d52076a03f1ed9ed6799190e1833dd3.zip chromium_src-6c1e21845d52076a03f1ed9ed6799190e1833dd3.tar.gz chromium_src-6c1e21845d52076a03f1ed9ed6799190e1833dd3.tar.bz2 |
Initial support for built-in DNS resolver/cache.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/3693001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64202 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/net')
-rw-r--r-- | chrome/common/net/raw_host_resolver_proc.cc | 28 | ||||
-rw-r--r-- | chrome/common/net/raw_host_resolver_proc.h | 40 |
2 files changed, 68 insertions, 0 deletions
diff --git a/chrome/common/net/raw_host_resolver_proc.cc b/chrome/common/net/raw_host_resolver_proc.cc new file mode 100644 index 0000000..474afa2 --- /dev/null +++ b/chrome/common/net/raw_host_resolver_proc.cc @@ -0,0 +1,28 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/common/net/raw_host_resolver_proc.h" + +#include "base/logging.h" +#include "net/base/net_errors.h" + +namespace chrome_common_net { + +RawHostResolverProc::RawHostResolverProc(const net::IPAddressNumber& dns_server, + net::HostResolverProc* previous) + : HostResolverProc(previous), dns_server_(dns_server) {} + +int RawHostResolverProc::Resolve(const std::string& host, + net::AddressFamily address_family, + net::HostResolverFlags host_resolver_flags, + net::AddressList* addrlist, + int* os_error) { + // TODO(agayev): Implement raw DNS resolution. + LOG(INFO) << "trying to resolve " << host; + return net::ERR_NAME_NOT_RESOLVED; +} + +RawHostResolverProc::~RawHostResolverProc() {} + +} // namespace chrome_common_net diff --git a/chrome/common/net/raw_host_resolver_proc.h b/chrome/common/net/raw_host_resolver_proc.h new file mode 100644 index 0000000..7ec751a --- /dev/null +++ b/chrome/common/net/raw_host_resolver_proc.h @@ -0,0 +1,40 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_COMMON_NET_RAW_HOST_RESOLVER_PROC_H_ +#define CHROME_COMMON_NET_RAW_HOST_RESOLVER_PROC_H_ +#pragma once + +// RawHostResolverProc will eventually be a getaddrinfo() replacement. It +// will construct and send DNS queries to the DNS server specified via +// --dns-server flag and will parse the responses and put it into a cache +// together with the TTL. Necessary amendments will be made to cache and +// HostResolverProc interface to accomodate these. + +#include <string> + +#include "net/base/host_resolver_proc.h" +#include "net/base/net_util.h" + +namespace chrome_common_net { + +class RawHostResolverProc : public net::HostResolverProc { + public: + RawHostResolverProc(const net::IPAddressNumber& dns_server, + net::HostResolverProc* previous); + + virtual int Resolve(const std::string& host, + net::AddressFamily address_family, + net::HostResolverFlags host_resolver_flags, + net::AddressList* addrlist, + int* os_error); + private: + virtual ~RawHostResolverProc(); + + net::IPAddressNumber dns_server_; +}; + +} // namespace chrome_common_net + +#endif // CHROME_COMMON_NET_RAW_HOST_RESOLVER_PROC_H_ |