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/DefaultPeerStorage.h | |
| 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/DefaultPeerStorage.h')
| -rw-r--r-- | src/DefaultPeerStorage.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/DefaultPeerStorage.h b/src/DefaultPeerStorage.h index f0164960..3dbff14d 100644 --- a/src/DefaultPeerStorage.h +++ b/src/DefaultPeerStorage.h @@ -37,6 +37,10 @@ #include "PeerStorage.h" +#include <map> + +#include "TimeA2.h" + namespace aria2 { class BtContext; @@ -61,6 +65,10 @@ private: BtSeederStateChoke* _seederStateChoke; BtLeecherStateChoke* _leecherStateChoke; + std::map<std::string, TransferStat> _peerTransferStatMap; + + Time _lastTransferStatMapUpdated; + bool isPeerAlreadyAdded(const SharedHandle<Peer>& peer); public: DefaultPeerStorage(const SharedHandle<BtContext>& btContext, @@ -86,6 +94,8 @@ public: virtual TransferStat calculateStat(); + virtual void updateTransferStatFor(const SharedHandle<Peer>& peer); + virtual void returnPeer(const SharedHandle<Peer>& peer); virtual bool chokeRoundIntervalElapsed(); |
