summaryrefslogtreecommitdiff
path: root/src/AbstractCommand.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-05-11 09:36:39 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-05-11 09:36:39 +0000
commit825cfe7715fee70e08a76f87cf2803602d3c5fed (patch)
tree277cec531172e410d6fc56da37a567b1f28108c2 /src/AbstractCommand.cc
parent6d78a7656d1f726fafeede2536584c40e4379cb5 (diff)
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Pass std::deque<Command*> by reference to avoid unnecessary coping. * src/AbstractCommand.cc * src/BtCheckIntegrityEntry.cc * src/BtCheckIntegrityEntry.h * src/BtFileAllocationEntry.cc * src/BtFileAllocationEntry.h * src/BtSetup.cc * src/BtSetup.h * src/CheckIntegrityCommand.cc * src/CheckIntegrityEntry.h * src/ChecksumCheckIntegrityEntry.cc * src/ChecksumCheckIntegrityEntry.h * src/DHTSetup.cc * src/DHTSetup.h * src/DownloadEngine.cc * src/FileAllocationCommand.cc * src/FileAllocationEntry.h * src/RequestGroup.cc * src/RequestGroup.h * src/RequestGroupMan.cc * src/RequestGroupMan.h * src/StreamCheckIntegrityEntry.cc * src/StreamCheckIntegrityEntry.h * src/StreamFileAllocationEntry.cc * src/StreamFileAllocationEntry.h * src/TrackerWatcherCommand.cc * src/a2functional.h
Diffstat (limited to 'src/AbstractCommand.cc')
-rw-r--r--src/AbstractCommand.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/AbstractCommand.cc b/src/AbstractCommand.cc
index 88a8193d..16352cd1 100644
--- a/src/AbstractCommand.cc
+++ b/src/AbstractCommand.cc
@@ -184,7 +184,8 @@ bool AbstractCommand::execute() {
void AbstractCommand::tryReserved() {
_requestGroup->removeServerHost(cuid);
- Commands commands = _requestGroup->createNextCommand(e, 1);
+ Commands commands;
+ _requestGroup->createNextCommand(commands, e, 1);
e->addCommand(commands);
}
@@ -323,7 +324,11 @@ bool AbstractCommand::nameResolveFinished() const {
void AbstractCommand::prepareForNextAction(Command* nextCommand)
{
CheckIntegrityEntryHandle entry(new StreamCheckIntegrityEntry(req, _requestGroup, nextCommand));
- e->addCommand(_requestGroup->processCheckIntegrityEntry(entry, e));
+
+ std::deque<Command*> commands;
+ _requestGroup->processCheckIntegrityEntry(commands, entry, e);
+
+ e->addCommand(commands);
e->setNoWait(true);
}