/* */ #include "DHTTokenUpdateCommand.h" #include "DHTTokenTracker.h" #include "DownloadEngine.h" #include "RequestGroupMan.h" #include "RecoverableException.h" #include "message.h" #include "Logger.h" #include "LogFactory.h" namespace aria2 { DHTTokenUpdateCommand::DHTTokenUpdateCommand(cuid_t cuid, DownloadEngine* e, std::chrono::seconds interval) : TimeBasedCommand{cuid, e, std::move(interval)}, tokenTracker_{nullptr} { } DHTTokenUpdateCommand::~DHTTokenUpdateCommand() {} void DHTTokenUpdateCommand::preProcess() { if (getDownloadEngine()->getRequestGroupMan()->downloadFinished() || getDownloadEngine()->isHaltRequested()) { enableExit(); } } void DHTTokenUpdateCommand::process() { try { tokenTracker_->updateTokenSecret(); } catch (RecoverableException& e) { A2_LOG_ERROR_EX(EX_EXCEPTION_CAUGHT, e); } } void DHTTokenUpdateCommand::setTokenTracker(DHTTokenTracker* tokenTracker) { tokenTracker_ = tokenTracker; } } // namespace aria2