summaryrefslogtreecommitdiff
path: root/src/HaveEraseCommand.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2012-12-19 23:03:48 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2012-12-19 23:03:48 +0900
commit07bb779eb05478864efb8b5f4d264945bb3f30ac (patch)
treefe0754f0eb748595214808b51b49b9e4c959366a /src/HaveEraseCommand.cc
parentd2892cf7b467c62b63c12a57c7c0ab424b79f7b1 (diff)
Faster deletion of RequestGroup and DownloadResult lists
Diffstat (limited to 'src/HaveEraseCommand.cc')
-rw-r--r--src/HaveEraseCommand.cc11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/HaveEraseCommand.cc b/src/HaveEraseCommand.cc
index 5eff358d..29163860 100644
--- a/src/HaveEraseCommand.cc
+++ b/src/HaveEraseCommand.cc
@@ -55,12 +55,11 @@ void HaveEraseCommand::preProcess()
void HaveEraseCommand::process()
{
- size_t numLoop =
- getDownloadEngine()->getRequestGroupMan()->countRequestGroup();
- for(size_t i = 0; i < numLoop; ++i) {
- SharedHandle<PieceStorage> ps =
- getDownloadEngine()->getRequestGroupMan()->getRequestGroup(i)->
- getPieceStorage();
+ const RequestGroupList& groups =
+ getDownloadEngine()->getRequestGroupMan()->getRequestGroups();
+ for(RequestGroupList::SeqType::const_iterator i = groups.begin(),
+ eoi = groups.end(); i != eoi; ++i) {
+ const SharedHandle<PieceStorage>& ps = (*i).second->getPieceStorage();
if(ps) {
ps->removeAdvertisedPiece(5);
}