summaryrefslogtreecommitdiff
path: root/src/DefaultPeerStorage.h
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/DefaultPeerStorage.h
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/DefaultPeerStorage.h')
-rw-r--r--src/DefaultPeerStorage.h10
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();