summaryrefslogtreecommitdiff
path: root/src/DHTEntryPointNameResolveCommand.h
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-05-08 11:18:36 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-05-08 11:18:36 +0000
commitd52bce74d3a40d75dcfa3496e67abbed9f1fcba8 (patch)
tree09c82779bd07f661340800db790e68fe612ca56c /src/DHTEntryPointNameResolveCommand.h
parentd8f911b5815f2f6857b1c0035182391e5d6ecaf5 (diff)
2008-05-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
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
Diffstat (limited to 'src/DHTEntryPointNameResolveCommand.h')
-rw-r--r--src/DHTEntryPointNameResolveCommand.h16
1 files changed, 11 insertions, 5 deletions
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<NameResolver> _resolver;
+#ifdef ENABLE_ASYNC_DNS
+ SharedHandle<AsyncNameResolver> _resolver;
+#endif // ENABLE_ASYNC_DNS
SharedHandle<DHTTaskQueue> _taskQueue;
@@ -71,12 +75,14 @@ private:
void addPingTask(const std::pair<std::string, uint16_t>& addr);
+#ifdef ENABLE_ASYNC_DNS
bool resolveHostname(const std::string& hostname,
- const SharedHandle<NameResolver>& resolver);
+ const SharedHandle<AsyncNameResolver>& resolver);
- void setNameResolverCheck(const SharedHandle<NameResolver>& resolver);
+ void setNameResolverCheck(const SharedHandle<AsyncNameResolver>& resolver);
- void disableNameResolverCheck(const SharedHandle<NameResolver>& resolver);
+ void disableNameResolverCheck(const SharedHandle<AsyncNameResolver>& resolver);
+#endif // ENABLE_ASYNC_DNS
public:
DHTEntryPointNameResolveCommand(int32_t cuid, DownloadEngine* e,