summaryrefslogtreecommitdiff
path: root/src/DownloadCommand.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-03-19 13:42:10 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-03-19 13:42:10 +0000
commite3ed6adf91180f11edd407432bda16aa5f474dde (patch)
tree7d44f59705f9416619ac6906824f9fc10ba9804a /src/DownloadCommand.cc
parent75a525b031426f28c10b29355c44980029dd791c (diff)
2009-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Reduced the number of calls to PeerStorage::calculateStat() and SegmentMan::calculateDownloadSpeed() to lower CPU usage on higher transfer rate. * src/DefaultBtInteractive.cc * src/DefaultBtMessageDispatcher.cc * src/DefaultPeerStorage.cc * src/DefaultPeerStorage.h * src/DownloadCommand.cc * src/DownloadEngine.cc * src/PeerStorage.h * src/SegmentMan.cc * src/SegmentMan.h * test/MockPeerStorage.h
Diffstat (limited to 'src/DownloadCommand.cc')
-rw-r--r--src/DownloadCommand.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/DownloadCommand.cc b/src/DownloadCommand.cc
index b6de9b87..da7c35a1 100644
--- a/src/DownloadCommand.cc
+++ b/src/DownloadCommand.cc
@@ -161,6 +161,8 @@ bool DownloadCommand::executeInternal() {
peerStat->updateDownloadLength(bufSize);
+ _requestGroup->getSegmentMan()->updateDownloadSpeedFor(peerStat);
+
if(_requestGroup->getTotalLength() != 0 && bufSize == 0 &&
!socket->wantRead() && !socket->wantWrite()) {
throw DlRetryEx(EX_GOT_EOF);