From d52bce74d3a40d75dcfa3496e67abbed9f1fcba8 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Thu, 8 May 2008 11:18:36 +0000 Subject: 2008-05-08 Tatsuhiro Tsujikawa Rewritten name resolver. Now async DNS can be disabled by --async-dns option. The asynchronous DNS is not capable of IPv6 yet. By disabling asynchronous DNS, aria2 is IPv6 enabled application, at least for HTTP download. * src/AbstractCommand.cc * src/AbstractCommand.h * src/AsyncNameResolver.cc * src/AsyncNameResolver.h * src/DHTEntryPointNameResolveCommand.cc * src/DHTEntryPointNameResolveCommand.h * src/DownloadEngine.cc * src/DownloadEngine.h * src/FtpInitiateConnectionCommand.cc * src/FtpInitiateConnectionCommand.h * src/HelpItemFactory.cc * src/HttpInitiateConnectionCommand.cc * src/HttpInitiateConnectionCommand.h * src/InitiateConnectionCommand.cc * src/InitiateConnectionCommand.h * src/Makefile.am * src/Makefile.in * src/NameResolver.cc * src/NameResolver.h * src/OptionHandlerFactory.cc * src/SocketCore.cc * src/SocketCore.h * src/Util.cc * src/Util.h * src/option_processing.cc * src/prefs.h * src/usage_text.h --- src/DHTEntryPointNameResolveCommand.h | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src/DHTEntryPointNameResolveCommand.h') diff --git a/src/DHTEntryPointNameResolveCommand.h b/src/DHTEntryPointNameResolveCommand.h index ad4ca2c2..4979402e 100644 --- a/src/DHTEntryPointNameResolveCommand.h +++ b/src/DHTEntryPointNameResolveCommand.h @@ -47,13 +47,17 @@ class DHTTaskFactory; class DHTRoutingTable; class DHTNode; class DownloadEngine; -class NameResolver; +#ifdef ENABLE_ASYNC_DNS +class AsyncNameResolver; +#endif // ENABLE_ASYNC_DNS class DHTEntryPointNameResolveCommand:public Command { protected: DownloadEngine* _e; private: - SharedHandle _resolver; +#ifdef ENABLE_ASYNC_DNS + SharedHandle _resolver; +#endif // ENABLE_ASYNC_DNS SharedHandle _taskQueue; @@ -71,12 +75,14 @@ private: void addPingTask(const std::pair& addr); +#ifdef ENABLE_ASYNC_DNS bool resolveHostname(const std::string& hostname, - const SharedHandle& resolver); + const SharedHandle& resolver); - void setNameResolverCheck(const SharedHandle& resolver); + void setNameResolverCheck(const SharedHandle& resolver); - void disableNameResolverCheck(const SharedHandle& resolver); + void disableNameResolverCheck(const SharedHandle& resolver); +#endif // ENABLE_ASYNC_DNS public: DHTEntryPointNameResolveCommand(int32_t cuid, DownloadEngine* e, -- cgit