From 542a06de6da5c2cfb98076b2d52a60b242c2e772 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Thu, 11 Mar 2010 16:04:50 +0000 Subject: [PATCH] 2010-03-12 Tatsuhiro Tsujikawa Use global option for DHTSetup. * src/DHTSetup.cc * src/DHTSetup.h * src/RequestGroup.cc --- ChangeLog | 7 +++++++ src/DHTSetup.cc | 15 ++++++++------- src/DHTSetup.h | 4 +--- src/RequestGroup.cc | 4 ++-- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index ac420222..cc91afe8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-03-12 Tatsuhiro Tsujikawa + + Use global option for DHTSetup. + * src/DHTSetup.cc + * src/DHTSetup.h + * src/RequestGroup.cc + 2010-03-12 Tatsuhiro Tsujikawa Added bt-enable-lpt, reuse-uri diff --git a/src/DHTSetup.cc b/src/DHTSetup.cc index 6373c37a..e8448e85 100644 --- a/src/DHTSetup.cc +++ b/src/DHTSetup.cc @@ -81,8 +81,7 @@ DHTSetup::DHTSetup():_logger(LogFactory::getInstance()) {} DHTSetup::~DHTSetup() {} -void DHTSetup::setup(std::vector& commands, - DownloadEngine* e, const Option* option) +void DHTSetup::setup(std::vector& commands, DownloadEngine* e) { if(_initialized) { return; @@ -94,7 +93,7 @@ void DHTSetup::setup(std::vector& commands, SharedHandle localNode; DHTRoutingTableDeserializer deserializer; - std::string dhtFile = option->get(PREF_DHT_FILE_PATH); + std::string dhtFile = e->option->get(PREF_DHT_FILE_PATH); try { std::ifstream in(dhtFile.c_str(), std::ios::binary); if(!in) { @@ -112,7 +111,8 @@ void DHTSetup::setup(std::vector& commands, SharedHandle connection(new DHTConnectionImpl()); { - IntSequence seq = util::parseIntRange(option->get(PREF_DHT_LISTEN_PORT)); + IntSequence seq = + util::parseIntRange(e->option->get(PREF_DHT_LISTEN_PORT)); uint16_t port; if(!connection->bind(port, seq)) { throw DL_ABORT_EX("Error occurred while binding port for DHT"); @@ -195,10 +195,11 @@ void DHTSetup::setup(std::vector& commands, taskQueue->addPeriodicTask1(task); } - if(!option->get(PREF_DHT_ENTRY_POINT_HOST).empty()) { + if(!e->option->get(PREF_DHT_ENTRY_POINT_HOST).empty()) { { - std::pair addr(option->get(PREF_DHT_ENTRY_POINT_HOST), - option->getAsInt(PREF_DHT_ENTRY_POINT_PORT)); + std::pair addr + (e->option->get(PREF_DHT_ENTRY_POINT_HOST), + e->option->getAsInt(PREF_DHT_ENTRY_POINT_PORT)); std::vector > entryPoints; entryPoints.push_back(addr); DHTEntryPointNameResolveCommand* command = diff --git a/src/DHTSetup.h b/src/DHTSetup.h index a1e517e2..7678b631 100644 --- a/src/DHTSetup.h +++ b/src/DHTSetup.h @@ -40,7 +40,6 @@ namespace aria2 { class Logger; -class Option; class DownloadEngine; class Command; @@ -55,8 +54,7 @@ public: ~DHTSetup(); - void setup(std::vector& commands, - DownloadEngine* e, const Option* option); + void setup(std::vector& commands, DownloadEngine* e); static bool initialized(); }; diff --git a/src/RequestGroup.cc b/src/RequestGroup.cc index 13df5454..0abb17ca 100644 --- a/src/RequestGroup.cc +++ b/src/RequestGroup.cc @@ -274,7 +274,7 @@ void RequestGroup::createInitialCommand if(metadataGetMode) { if(_option->getAsBool(PREF_ENABLE_DHT)) { std::vector dhtCommands; - DHTSetup().setup(dhtCommands, e, _option.get()); + DHTSetup().setup(dhtCommands, e); e->addCommand(dhtCommands); } else { _logger->notice("For BitTorrent Magnet URI, enabling DHT is strongly" @@ -335,7 +335,7 @@ void RequestGroup::createInitialCommand if(torrentAttrs[bittorrent::PRIVATE].i() == 0 && _option->getAsBool(PREF_ENABLE_DHT)) { std::vector dhtCommands; - DHTSetup().setup(dhtCommands, e, _option.get()); + DHTSetup().setup(dhtCommands, e); e->addCommand(dhtCommands); if(!torrentAttrs[bittorrent::NODES].empty() && DHTSetup::initialized()) { std::vector > entryPoints;