/* */ #include "DHTBucketRefreshCommand.h" #include "DHTRoutingTable.h" #include "DHTTaskQueue.h" #include "DHTTaskFactory.h" #include "DHTTask.h" #include "DownloadEngine.h" #include "RequestGroupMan.h" namespace aria2 { DHTBucketRefreshCommand::DHTBucketRefreshCommand(int32_t cuid, DownloadEngine* e, time_t interval): TimeBasedCommand(cuid, e, interval), _routingTable(0), _taskQueue(0), _taskFactory(0) {} DHTBucketRefreshCommand::~DHTBucketRefreshCommand() {} void DHTBucketRefreshCommand::preProcess() { _exit = _e->_requestGroupMan->downloadFinished() || _e->isHaltRequested(); } void DHTBucketRefreshCommand::process() { _taskQueue->addPeriodicTask1(_taskFactory->createBucketRefreshTask()); } void DHTBucketRefreshCommand::setRoutingTable(const SharedHandle& routingTable) { _routingTable = routingTable; } void DHTBucketRefreshCommand::setTaskQueue(const SharedHandle& taskQueue) { _taskQueue = taskQueue; } void DHTBucketRefreshCommand::setTaskFactory(const SharedHandle& taskFactory) { _taskFactory = taskFactory; } } // namespace aria2