From de23f7281828e207e0719eb54122a37ddab4443f Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Wed, 15 Jul 2009 12:36:58 +0000 Subject: [PATCH] 2009-07-15 Tatsuhiro Tsujikawa Fixed the bug that session download length is not updated when PeerStat is not fastest one. * src/SegmentMan.cc --- ChangeLog | 6 ++++++ src/SegmentMan.cc | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index 3d14caeb..815f5aec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-07-15 Tatsuhiro Tsujikawa + + Fixed the bug that session download length is not updated when + PeerStat is not fastest one. + * src/SegmentMan.cc + 2009-07-15 Tatsuhiro Tsujikawa Updated doc. diff --git a/src/SegmentMan.cc b/src/SegmentMan.cc index d933b9f6..3b383588 100644 --- a/src/SegmentMan.cc +++ b/src/SegmentMan.cc @@ -314,8 +314,12 @@ void SegmentMan::updateFastestPeerStat(const SharedHandle& peerStat) if(i == _fastestPeerStats.end()) { _fastestPeerStats.push_back(peerStat); } else if((*i)->getAvgDownloadSpeed() < peerStat->getAvgDownloadSpeed()) { + // *i's SessionDownloadLength must be added to peerStat peerStat->addSessionDownloadLength((*i)->getSessionDownloadLength()); *i = peerStat; + } else { + // peerStat's SessionDownloadLength must be added to *i + (*i)->addSessionDownloadLength(peerStat->getSessionDownloadLength()); } }