summaryrefslogtreecommitdiff
path: root/src/TrackerUpdateCommand.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2007-05-20 13:51:52 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2007-05-20 13:51:52 +0000
commiteaf2d53a91d4019683bc6caf25c5a143f88a84b4 (patch)
tree91137d789cdaa42221017a52346befb406c3addf /src/TrackerUpdateCommand.cc
parentdd37b7be0aa5d818636530bc60f894893fd8f7a4 (diff)
2007-05-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* Added the simultaneous download feature.
Diffstat (limited to 'src/TrackerUpdateCommand.cc')
-rw-r--r--src/TrackerUpdateCommand.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/TrackerUpdateCommand.cc b/src/TrackerUpdateCommand.cc
index d619a754..53796e76 100644
--- a/src/TrackerUpdateCommand.cc
+++ b/src/TrackerUpdateCommand.cc
@@ -62,7 +62,7 @@ char* TrackerUpdateCommand::getTrackerResponse(size_t& trackerResponseLength) {
char data[2048];
try {
while(1) {
- int dataLength = e->segmentMan->diskWriter->readData(data, sizeof(data), bufLength);
+ int dataLength = e->_requestGroupMan->getRequestGroup(0)->getSegmentMan()->diskWriter->readData(data, sizeof(data), bufLength);
if(bufLength+dataLength >= maxBufLength) {
maxBufLength = Util::expandBuffer(&buf, bufLength, bufLength+dataLength);
}
@@ -84,7 +84,8 @@ bool TrackerUpdateCommand::execute() {
if(btAnnounce->noMoreAnnounce()) {
return true;
}
- if(!e->segmentMan->finished()) {
+ if(e->_requestGroupMan->countRequestGroup() == 0 ||
+ !e->_requestGroupMan->downloadFinished()) {
return prepareForRetry();
}
char* trackerResponse = 0;
@@ -112,10 +113,10 @@ bool TrackerUpdateCommand::execute() {
}
btAnnounce->announceSuccess();
btAnnounce->resetAnnounce();
- e->segmentMan->init();
+ e->_requestGroupMan->removeStoppedGroup();
} catch(RecoverableException* err) {
logger->error("CUID#%d - Error occurred while processing tracker response.", cuid, err);
- e->segmentMan->errors++;
+ e->_requestGroupMan->getRequestGroup(0)->getSegmentMan()->errors++;
delete err;
}
if(trackerResponse) {