diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-03-19 13:42:10 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-03-19 13:42:10 +0000 |
| commit | e3ed6adf91180f11edd407432bda16aa5f474dde (patch) | |
| tree | 7d44f59705f9416619ac6906824f9fc10ba9804a /src/DownloadCommand.cc | |
| parent | 75a525b031426f28c10b29355c44980029dd791c (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.cc | 2 |
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); |
