/* */ #include "HaveEraseCommand.h" #include "DownloadEngine.h" #include "RequestGroupMan.h" #include "PieceStorage.h" #include "RequestGroup.h" namespace aria2 { HaveEraseCommand::HaveEraseCommand(int32_t cuid, DownloadEngine* e, int32_t interval) :TimeBasedCommand(cuid, e, interval) {} HaveEraseCommand::~HaveEraseCommand() {} void HaveEraseCommand::preProcess() { if(_e->_requestGroupMan->downloadFinished() || _e->isHaltRequested()) { _exit = true; } } void HaveEraseCommand::process() { for(int32_t i = 0; i < _e->_requestGroupMan->countRequestGroup(); ++i) { PieceStorageHandle ps = _e->_requestGroupMan->getRequestGroup(i)->getPieceStorage(); if(!ps.isNull()) { ps->removeAdvertisedPiece(5); } } } } // namespace aria2