diff --git a/ChangeLog b/ChangeLog index d41ce547..229de382 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2010-06-09 Tatsuhiro Tsujikawa + + Made protected member variable private. Added accessor funcs. + * src/AutoSaveCommand.cc + * src/BtStopDownloadCommand.cc + * src/DHTAutoSaveCommand.cc + * src/DHTBucketRefreshCommand.cc + * src/DHTPeerAnnounceCommand.cc + * src/DHTTokenUpdateCommand.cc + * src/HaveEraseCommand.cc + * src/TimeBasedCommand.h + * src/TimedHaltCommand.cc + 2010-06-09 Tatsuhiro Tsujikawa Made protected member variable private. Added accessor funcs. diff --git a/src/AutoSaveCommand.cc b/src/AutoSaveCommand.cc index 2fd7001d..9784f948 100644 --- a/src/AutoSaveCommand.cc +++ b/src/AutoSaveCommand.cc @@ -49,14 +49,15 @@ AutoSaveCommand::~AutoSaveCommand() {} void AutoSaveCommand::preProcess() { - if(_e->getRequestGroupMan()->downloadFinished() || _e->isHaltRequested()) { - _exit = true; + if(getDownloadEngine()->getRequestGroupMan()->downloadFinished() || + getDownloadEngine()->isHaltRequested()) { + enableExit(); } } void AutoSaveCommand::process() { - _e->getRequestGroupMan()->save(); + getDownloadEngine()->getRequestGroupMan()->save(); } } // namespace aria2 diff --git a/src/BtStopDownloadCommand.cc b/src/BtStopDownloadCommand.cc index 8f397ef3..eead280e 100644 --- a/src/BtStopDownloadCommand.cc +++ b/src/BtStopDownloadCommand.cc @@ -57,14 +57,14 @@ BtStopDownloadCommand::BtStopDownloadCommand void BtStopDownloadCommand::preProcess() { if(_btRuntime->isHalt() || _pieceStorage->downloadFinished()) { - _exit = true; + enableExit(); } if(_checkPoint.difference(global::wallclock) >= _timeout) { getLogger()->notice("GID#%s Stop downloading torrent due to" " --bt-stop-timeout option.", util::itos(_requestGroup->getGID()).c_str()); _requestGroup->setHaltRequested(true); - _exit = true; + enableExit(); } } diff --git a/src/DHTAutoSaveCommand.cc b/src/DHTAutoSaveCommand.cc index 78d4fc7e..5a908457 100644 --- a/src/DHTAutoSaveCommand.cc +++ b/src/DHTAutoSaveCommand.cc @@ -61,16 +61,18 @@ namespace aria2 { -DHTAutoSaveCommand::DHTAutoSaveCommand(cuid_t cuid, DownloadEngine* e, time_t interval): +DHTAutoSaveCommand::DHTAutoSaveCommand +(cuid_t cuid, DownloadEngine* e, time_t interval): TimeBasedCommand(cuid, e, interval) {} DHTAutoSaveCommand::~DHTAutoSaveCommand() {} void DHTAutoSaveCommand::preProcess() { - if(_e->getRequestGroupMan()->downloadFinished() || _e->isHaltRequested()) { + if(getDownloadEngine()->getRequestGroupMan()->downloadFinished() || + getDownloadEngine()->isHaltRequested()) { save(); - _exit = true; + enableExit(); } } @@ -81,7 +83,8 @@ void DHTAutoSaveCommand::process() void DHTAutoSaveCommand::save() { - std::string dhtFile = _e->getOption()->get(PREF_DHT_FILE_PATH); + std::string dhtFile = + getDownloadEngine()->getOption()->get(PREF_DHT_FILE_PATH); getLogger()->info("Saving DHT routing table to %s.", dhtFile.c_str()); std::string tempFile = dhtFile; @@ -142,7 +145,8 @@ void DHTAutoSaveCommand::setLocalNode(const SharedHandle& localNode) _localNode = localNode; } -void DHTAutoSaveCommand::setRoutingTable(const SharedHandle& routingTable) +void DHTAutoSaveCommand::setRoutingTable +(const SharedHandle& routingTable) { _routingTable = routingTable; } diff --git a/src/DHTBucketRefreshCommand.cc b/src/DHTBucketRefreshCommand.cc index ab42e1c5..85ba9552 100644 --- a/src/DHTBucketRefreshCommand.cc +++ b/src/DHTBucketRefreshCommand.cc @@ -54,7 +54,10 @@ DHTBucketRefreshCommand::~DHTBucketRefreshCommand() {} void DHTBucketRefreshCommand::preProcess() { - _exit = _e->getRequestGroupMan()->downloadFinished() || _e->isHaltRequested(); + if(getDownloadEngine()->getRequestGroupMan()->downloadFinished() || + getDownloadEngine()->isHaltRequested()) { + enableExit(); + } } void DHTBucketRefreshCommand::process() @@ -62,17 +65,20 @@ void DHTBucketRefreshCommand::process() _taskQueue->addPeriodicTask1(_taskFactory->createBucketRefreshTask()); } -void DHTBucketRefreshCommand::setRoutingTable(const SharedHandle& routingTable) +void DHTBucketRefreshCommand::setRoutingTable +(const SharedHandle& routingTable) { _routingTable = routingTable; } -void DHTBucketRefreshCommand::setTaskQueue(const SharedHandle& taskQueue) +void DHTBucketRefreshCommand::setTaskQueue +(const SharedHandle& taskQueue) { _taskQueue = taskQueue; } -void DHTBucketRefreshCommand::setTaskFactory(const SharedHandle& taskFactory) +void DHTBucketRefreshCommand::setTaskFactory +(const SharedHandle& taskFactory) { _taskFactory = taskFactory; } diff --git a/src/DHTPeerAnnounceCommand.cc b/src/DHTPeerAnnounceCommand.cc index f2b81f8c..1aa16b41 100644 --- a/src/DHTPeerAnnounceCommand.cc +++ b/src/DHTPeerAnnounceCommand.cc @@ -54,7 +54,10 @@ DHTPeerAnnounceCommand::~DHTPeerAnnounceCommand() {} void DHTPeerAnnounceCommand::preProcess() { - _exit = _e->getRequestGroupMan()->downloadFinished() || _e->isHaltRequested(); + if(getDownloadEngine()->getRequestGroupMan()->downloadFinished() || + getDownloadEngine()->isHaltRequested()) { + enableExit(); + } } void DHTPeerAnnounceCommand::process() @@ -66,7 +69,8 @@ void DHTPeerAnnounceCommand::process() } } -void DHTPeerAnnounceCommand::setPeerAnnounceStorage(const SharedHandle& storage) +void DHTPeerAnnounceCommand::setPeerAnnounceStorage +(const SharedHandle& storage) { _peerAnnounceStorage = storage; } diff --git a/src/DHTTokenUpdateCommand.cc b/src/DHTTokenUpdateCommand.cc index ea57e335..af80654a 100644 --- a/src/DHTTokenUpdateCommand.cc +++ b/src/DHTTokenUpdateCommand.cc @@ -55,7 +55,10 @@ DHTTokenUpdateCommand::~DHTTokenUpdateCommand() {} void DHTTokenUpdateCommand::preProcess() { - _exit = _e->getRequestGroupMan()->downloadFinished() || _e->isHaltRequested(); + if(getDownloadEngine()->getRequestGroupMan()->downloadFinished() || + getDownloadEngine()->isHaltRequested()) { + enableExit(); + } } void DHTTokenUpdateCommand::process() diff --git a/src/HaveEraseCommand.cc b/src/HaveEraseCommand.cc index 4fce7c58..0b560303 100644 --- a/src/HaveEraseCommand.cc +++ b/src/HaveEraseCommand.cc @@ -51,17 +51,20 @@ HaveEraseCommand::~HaveEraseCommand() {} void HaveEraseCommand::preProcess() { - if(_e->getRequestGroupMan()->downloadFinished() || _e->isHaltRequested()) { - _exit = true; + if(getDownloadEngine()->getRequestGroupMan()->downloadFinished() || + getDownloadEngine()->isHaltRequested()) { + enableExit(); } } void HaveEraseCommand::process() { - size_t numLoop = _e->getRequestGroupMan()->countRequestGroup(); + size_t numLoop = + getDownloadEngine()->getRequestGroupMan()->countRequestGroup(); for(size_t i = 0; i < numLoop; ++i) { PieceStorageHandle ps = - _e->getRequestGroupMan()->getRequestGroup(i)->getPieceStorage(); + getDownloadEngine()->getRequestGroupMan()->getRequestGroup(i)-> + getPieceStorage(); if(!ps.isNull()) { ps->removeAdvertisedPiece(5); } diff --git a/src/TimeBasedCommand.h b/src/TimeBasedCommand.h index dc5f0c38..488df5b7 100644 --- a/src/TimeBasedCommand.h +++ b/src/TimeBasedCommand.h @@ -44,7 +44,7 @@ class DownloadEngine; class TimeBasedCommand : public Command { -protected: +private: DownloadEngine* _e; /** @@ -59,8 +59,23 @@ protected: time_t _interval; // unit: sec bool _routineCommand; -private: + Timer _checkPoint; +protected: + DownloadEngine* getDownloadEngine() const + { + return _e; + } + + void enableExit() + { + _exit = true; + } + + time_t getInterval() const + { + return _interval; + } public: /** * preProcess() is called each time when excute() is called. diff --git a/src/TimedHaltCommand.cc b/src/TimedHaltCommand.cc index 1921466f..ee3250f2 100644 --- a/src/TimedHaltCommand.cc +++ b/src/TimedHaltCommand.cc @@ -54,22 +54,23 @@ TimedHaltCommand::~TimedHaltCommand() {} void TimedHaltCommand::preProcess() { - if(_e->getRequestGroupMan()->downloadFinished() || _e->isHaltRequested()) { - _exit = true; + if(getDownloadEngine()->getRequestGroupMan()->downloadFinished() || + getDownloadEngine()->isHaltRequested()) { + enableExit(); } } void TimedHaltCommand::process() { - if(!_e->isHaltRequested()) { - getLogger()->notice(MSG_TIME_HAS_PASSED, _interval); + if(!getDownloadEngine()->isHaltRequested()) { + getLogger()->notice(MSG_TIME_HAS_PASSED, getInterval()); if(_forceHalt) { getLogger()->notice("This is emergency shutdown."); - _e->requestForceHalt(); + getDownloadEngine()->requestForceHalt(); } else { - _e->requestHalt(); + getDownloadEngine()->requestHalt(); } - _exit = true; + enableExit(); } }