diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-04-01 01:24:18 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-04-01 01:24:18 +0900 |
| commit | b5a6c39262a3adeba1c04eee7b6ef29913081c28 (patch) | |
| tree | c3e5ea65cdd6a24098ce18a5724e3d50b1a77b92 /src/AsyncNameResolverMan.cc | |
| parent | 597e1a5c1b10aa3668f91bcae02a864dcd0c045b (diff) | |
Use AsyncNameResolverMan in DHTEntryPointNameResolveCommand
Diffstat (limited to 'src/AsyncNameResolverMan.cc')
| -rw-r--r-- | src/AsyncNameResolverMan.cc | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/AsyncNameResolverMan.cc b/src/AsyncNameResolverMan.cc index 4e66cce1..2b418394 100644 --- a/src/AsyncNameResolverMan.cc +++ b/src/AsyncNameResolverMan.cc @@ -39,6 +39,9 @@ #include "message.h" #include "fmt.h" #include "LogFactory.h" +#include "Option.h" +#include "SocketCore.h" +#include "prefs.h" namespace aria2 { @@ -186,5 +189,26 @@ const std::string& AsyncNameResolverMan::getLastError() const return A2STR::NIL; } -} // namespace aria2 +void AsyncNameResolverMan::reset(DownloadEngine* e, Command* command) +{ + disableNameResolverCheck(e, command); + assert(resolverCheck_ == 0); + for(size_t i = 0; i < numResolver_; ++i) { + asyncNameResolver_[i].reset(); + } + numResolver_ = 0; +} +void configureAsyncNameResolverMan(AsyncNameResolverMan* asyncNameResolverMan, + Option* option) +{ + if(!net::getIPv4AddrConfigured()) { + asyncNameResolverMan->setIPv4(false); + } + if(!net::getIPv6AddrConfigured() || + option->getAsBool(PREF_DISABLE_IPV6)) { + asyncNameResolverMan->setIPv6(false); + } +} + +} // namespace aria2 |
