summaryrefslogtreecommitdiff
path: root/src/DefaultBtMessageDispatcher.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-11-03 06:49:02 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-11-03 06:49:02 +0000
commit7cf589e78483e6ca7daff2ddd1a30af8091a4448 (patch)
treed595de6899aa7ddad9ad6242c9f50dd6c2a85e22 /src/DefaultBtMessageDispatcher.cc
parent93edc7bd202df92174cc4ce3b8c0c0c7684170fd (diff)
2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Made BtRegistry non-static object. Now DownloadEngine has a reference to its object. * src/AbstractBtMessage.cc * src/ActivePeerConnectionCommand.cc * src/ActivePeerConnectionCommand.h * src/BtContextAwareCommand.cc * src/BtContextAwareCommand.h * src/BtExtendedMessage.cc * src/BtExtendedMessage.h * src/BtInterestedMessage.cc * src/BtInterestedMessage.h * src/BtNotInterestedMessage.cc * src/BtNotInterestedMessage.h * src/BtRegistry.cc * src/BtRegistry.h * src/BtSeederStateChoke.cc * src/BtSetup.cc * src/DHTGetPeersCommand.cc * src/DHTGetPeersCommand.h * src/DHTPeerAnnounceEntry.cc * src/DHTPeerAnnounceEntry.h * src/DHTPeerAnnounceStorage.cc * src/DHTPeerAnnounceStorage.h * src/DHTPeerLookupTask.cc * src/DHTPeerLookupTask.h * src/DHTSetup.cc * src/DHTSetup.h * src/DHTTaskFactory.h * src/DHTTaskFactoryImpl.cc * src/DHTTaskFactoryImpl.h * src/DefaultBtAnnounce.cc * src/DefaultBtInteractive.cc * src/DefaultBtInteractive.h * src/DefaultBtMessageDispatcher.cc * src/DefaultBtMessageDispatcher.h * src/DefaultBtMessageFactory.cc * src/DefaultBtMessageFactory.h * src/DefaultBtMessageReceiver.cc * src/DefaultBtProgressInfoFile.cc * src/DefaultBtProgressInfoFile.h * src/DefaultBtRequestFactory.cc * src/DefaultBtRequestFactory.h * src/DefaultExtensionMessageFactory.cc * src/DefaultExtensionMessageFactory.h * src/DefaultPeerStorage.cc * src/DefaultPeerStorage.h * src/DownloadEngine.cc * src/DownloadEngine.h * src/InitiatorMSEHandshakeCommand.cc * src/InitiatorMSEHandshakeCommand.h * src/MSEHandshake.cc * src/MSEHandshake.h * src/Makefile.am * src/Makefile.in * src/PeerChokeCommand.cc * src/PeerChokeCommand.h * src/PeerInitiateConnectionCommand.cc * src/PeerInitiateConnectionCommand.h * src/PeerInteractionCommand.cc * src/PeerInteractionCommand.h * src/PeerObject.h * src/PeerReceiveHandshakeCommand.cc * src/PeerReceiveHandshakeCommand.h * src/ReceiverMSEHandshakeCommand.cc * src/RequestGroup.cc * src/RequestGroup.h * src/RequestGroupMan.cc * src/RequestGroupMan.h * src/SeedCheckCommand.cc * src/SeedCheckCommand.h * src/ShareRatioSeedCriteria.h * src/SimpleBtMessage.cc * src/TrackerWatcherCommand.cc * src/TrackerWatcherCommand.h * src/UTPexExtensionMessage.cc * src/UTPexExtensionMessage.h * test/BtCancelMessageTest.cc * test/BtChokeMessageTest.cc * test/BtExtendedMessageTest.cc * test/BtInterestedMessageTest.cc * test/BtNotInterestedMessageTest.cc * test/BtPieceMessageTest.cc * test/BtPortMessageTest.cc * test/BtRegistryTest.cc * test/BtRejectMessageTest.cc * test/BtRequestMessageTest.cc * test/DHTPeerAnnounceEntryTest.cc * test/DHTPeerAnnounceStorageTest.cc * test/DefaultBtMessageDispatcherTest.cc * test/DefaultBtMessageFactoryTest.cc * test/DefaultBtProgressInfoFileTest.cc * test/DefaultBtRequestFactoryTest.cc * test/DefaultExtensionMessageFactoryTest.cc * test/MSEHandshakeTest.cc * test/MockDHTTaskFactory.h * test/ShareRatioSeedCriteriaTest.cc * test/UTPexExtensionMessageTest.cc
Diffstat (limited to 'src/DefaultBtMessageDispatcher.cc')
-rw-r--r--src/DefaultBtMessageDispatcher.cc27
1 files changed, 19 insertions, 8 deletions
diff --git a/src/DefaultBtMessageDispatcher.cc b/src/DefaultBtMessageDispatcher.cc
index 55980bc0..07d54722 100644
--- a/src/DefaultBtMessageDispatcher.cc
+++ b/src/DefaultBtMessageDispatcher.cc
@@ -33,6 +33,9 @@
*/
/* copyright --> */
#include "DefaultBtMessageDispatcher.h"
+
+#include <algorithm>
+
#include "prefs.h"
#include "BtAbortOutstandingRequestEvent.h"
#include "BtCancelSendingPieceEvent.h"
@@ -44,13 +47,11 @@
#include "PeerStorage.h"
#include "PieceStorage.h"
#include "BtMessage.h"
-#include "BtRegistry.h"
#include "Peer.h"
#include "Piece.h"
#include "LogFactory.h"
#include "Logger.h"
#include "a2functional.h"
-#include <algorithm>
namespace aria2 {
@@ -86,7 +87,7 @@ void DefaultBtMessageDispatcher::sendMessages() {
messageQueue.pop_front();
if(maxUploadSpeedLimit > 0 &&
msg->isUploading() && !msg->isSendingInProgress()) {
- TransferStat stat = peerStorage->calculateStat();
+ TransferStat stat = _peerStorage->calculateStat();
if(maxUploadSpeedLimit < stat.getUploadSpeed()) {
tempQueue.push_back(msg);
continue;
@@ -228,7 +229,7 @@ public:
void DefaultBtMessageDispatcher::doChokedAction()
{
std::for_each(requestSlots.begin(), requestSlots.end(),
- ProcessChokedRequestSlot(cuid, peer, pieceStorage));
+ ProcessChokedRequestSlot(cuid, peer, _pieceStorage));
requestSlots.erase(std::remove_if(requestSlots.begin(), requestSlots.end(),
FindChokedRequestSlot(peer)),
@@ -332,13 +333,13 @@ void DefaultBtMessageDispatcher::checkRequestSlotAndDoNecessaryThing()
std::for_each(requestSlots.begin(), requestSlots.end(),
ProcessStaleRequestSlot(cuid,
peer,
- pieceStorage,
+ _pieceStorage,
this,
messageFactory,
now,
requestTimeout));
requestSlots.erase(std::remove_if(requestSlots.begin(), requestSlots.end(),
- FindStaleRequestSlot(pieceStorage,
+ FindStaleRequestSlot(_pieceStorage,
now,
requestTimeout)),
requestSlots.end());
@@ -437,8 +438,18 @@ void DefaultBtMessageDispatcher::setPeer(const SharedHandle<Peer>& peer)
void DefaultBtMessageDispatcher::setBtContext(const BtContextHandle& btContext)
{
this->btContext = btContext;
- this->pieceStorage = PIECE_STORAGE(btContext);
- this->peerStorage = PEER_STORAGE(btContext);
+}
+
+void DefaultBtMessageDispatcher::setPieceStorage
+(const SharedHandle<PieceStorage>& pieceStorage)
+{
+ _pieceStorage = pieceStorage;
+}
+
+void DefaultBtMessageDispatcher::setPeerStorage
+(const SharedHandle<PeerStorage>& peerStorage)
+{
+ _peerStorage = peerStorage;
}
void DefaultBtMessageDispatcher::setBtMessageFactory(const WeakHandle<BtMessageFactory>& factory)