DefaultBtMessageDispatcher: Use raw pointers for non-owning objects

pull/103/head
Tatsuhiro Tsujikawa 2013-06-23 12:25:58 +09:00
parent 9db01bed71
commit 85f5134626
4 changed files with 36 additions and 37 deletions

View File

@ -62,6 +62,10 @@ namespace aria2 {
DefaultBtMessageDispatcher::DefaultBtMessageDispatcher()
: cuid_(0),
downloadContext_{0},
peerStorage_{0},
pieceStorage_{0},
peerConnection_{0},
messageFactory_(0),
requestGroupMan_(0),
requestTimeout_(0)
@ -188,12 +192,10 @@ class ProcessChokedRequestSlot {
private:
cuid_t cuid_;
std::shared_ptr<Peer> peer_;
std::shared_ptr<PieceStorage> pieceStorage_;
PieceStorage* pieceStorage_;
public:
ProcessChokedRequestSlot
(cuid_t cuid,
const std::shared_ptr<Peer>& peer,
const std::shared_ptr<PieceStorage>& pieceStorage)
(cuid_t cuid, const std::shared_ptr<Peer>& peer, PieceStorage* pieceStorage)
: cuid_(cuid),
peer_(peer),
pieceStorage_(pieceStorage)
@ -258,14 +260,14 @@ class ProcessStaleRequestSlot {
private:
cuid_t cuid_;
std::shared_ptr<Peer> peer_;
std::shared_ptr<PieceStorage> pieceStorage_;
PieceStorage* pieceStorage_;
BtMessageDispatcher* messageDispatcher_;
BtMessageFactory* messageFactory_;
time_t requestTimeout_;
public:
ProcessStaleRequestSlot
(cuid_t cuid, const std::shared_ptr<Peer>& peer,
const std::shared_ptr<PieceStorage>& pieceStorage,
PieceStorage* pieceStorage,
BtMessageDispatcher* dispatcher,
BtMessageFactory* factory,
time_t requestTimeout)
@ -305,13 +307,12 @@ public:
namespace {
class FindStaleRequestSlot {
private:
std::shared_ptr<PieceStorage> pieceStorage_;
PieceStorage* pieceStorage_;
time_t requestTimeout_;
public:
FindStaleRequestSlot(const std::shared_ptr<PieceStorage>& pieceStorage,
time_t requestTimeout):
pieceStorage_(pieceStorage),
requestTimeout_(requestTimeout) {}
FindStaleRequestSlot(PieceStorage* pieceStorage, time_t requestTimeout)
: pieceStorage_(pieceStorage),
requestTimeout_(requestTimeout) {}
bool operator()(const RequestSlot& slot)
{
@ -419,19 +420,17 @@ void DefaultBtMessageDispatcher::setPeer(const std::shared_ptr<Peer>& peer)
}
void DefaultBtMessageDispatcher::setDownloadContext
(const std::shared_ptr<DownloadContext>& downloadContext)
(DownloadContext* downloadContext)
{
downloadContext_ = downloadContext;
}
void DefaultBtMessageDispatcher::setPieceStorage
(const std::shared_ptr<PieceStorage>& pieceStorage)
void DefaultBtMessageDispatcher::setPieceStorage(PieceStorage* pieceStorage)
{
pieceStorage_ = pieceStorage;
}
void DefaultBtMessageDispatcher::setPeerStorage
(const std::shared_ptr<PeerStorage>& peerStorage)
void DefaultBtMessageDispatcher::setPeerStorage(PeerStorage* peerStorage)
{
peerStorage_ = peerStorage;
}

View File

@ -59,10 +59,10 @@ private:
cuid_t cuid_;
std::deque<std::shared_ptr<BtMessage> > messageQueue_;
std::deque<RequestSlot> requestSlots_;
std::shared_ptr<DownloadContext> downloadContext_;
std::shared_ptr<PeerStorage> peerStorage_;
std::shared_ptr<PieceStorage> pieceStorage_;
std::shared_ptr<PeerConnection> peerConnection_;
DownloadContext* downloadContext_;
PeerStorage* peerStorage_;
PieceStorage* pieceStorage_;
PeerConnection* peerConnection_;
BtMessageFactory* messageFactory_;
std::shared_ptr<Peer> peer_;
RequestGroupMan* requestGroupMan_;
@ -129,11 +129,11 @@ public:
void setPeer(const std::shared_ptr<Peer>& peer);
void setDownloadContext(const std::shared_ptr<DownloadContext>& downloadContext);
void setDownloadContext(DownloadContext* downloadContext);
void setPieceStorage(const std::shared_ptr<PieceStorage>& pieceStorage);
void setPieceStorage(PieceStorage* pieceStorage);
void setPeerStorage(const std::shared_ptr<PeerStorage>& peerStorage);
void setPeerStorage(PeerStorage* peerStorage);
void setBtMessageFactory(BtMessageFactory* factory);
@ -149,7 +149,7 @@ public:
requestTimeout_ = requestTimeout;
}
void setPeerConnection(const std::shared_ptr<PeerConnection>& peerConnection)
void setPeerConnection(PeerConnection* peerConnection)
{
peerConnection_ = peerConnection;
}

View File

@ -192,15 +192,15 @@ PeerInteractionCommand::PeerInteractionCommand
DefaultBtMessageDispatcher* dispatcherPtr(new DefaultBtMessageDispatcher());
dispatcherPtr->setCuid(cuid);
dispatcherPtr->setPeer(getPeer());
dispatcherPtr->setDownloadContext(requestGroup_->getDownloadContext());
dispatcherPtr->setPieceStorage(pieceStorage);
dispatcherPtr->setPeerStorage(peerStorage);
dispatcherPtr->setDownloadContext(requestGroup_->getDownloadContext().get());
dispatcherPtr->setPieceStorage(pieceStorage.get());
dispatcherPtr->setPeerStorage(peerStorage.get());
dispatcherPtr->setRequestTimeout(getOption()->
getAsInt(PREF_BT_REQUEST_TIMEOUT));
dispatcherPtr->setBtMessageFactory(factoryPtr);
dispatcherPtr->setRequestGroupMan
(getDownloadEngine()->getRequestGroupMan().get());
dispatcherPtr->setPeerConnection(peerConnection);
dispatcherPtr->setPeerConnection(peerConnection.get());
std::shared_ptr<BtMessageDispatcher> dispatcher(dispatcherPtr);
DefaultBtMessageReceiver* receiverPtr(new DefaultBtMessageReceiver());

View File

@ -155,9 +155,9 @@ public:
btMessageDispatcher.reset(new DefaultBtMessageDispatcher());
btMessageDispatcher->setPeer(peer);
btMessageDispatcher->setDownloadContext(dctx_);
btMessageDispatcher->setPieceStorage(pieceStorage);
btMessageDispatcher->setPeerStorage(peerStorage);
btMessageDispatcher->setDownloadContext(dctx_.get());
btMessageDispatcher->setPieceStorage(pieceStorage.get());
btMessageDispatcher->setPeerStorage(peerStorage.get());
btMessageDispatcher->setBtMessageFactory(messageFactory_.get());
btMessageDispatcher->setCuid(1);
btMessageDispatcher->setRequestGroupMan(rgman_.get());
@ -255,11 +255,11 @@ void DefaultBtMessageDispatcherTest::testCheckRequestSlotAndDoNecessaryThing() {
CPPUNIT_ASSERT(piece->getMissingUnusedBlockIndex(index));
CPPUNIT_ASSERT_EQUAL((size_t)0, index);
std::shared_ptr<MockPieceStorage2> pieceStorage(new MockPieceStorage2());
auto pieceStorage = make_unique<MockPieceStorage2>();
pieceStorage->setPiece(piece);
btMessageDispatcher->setRequestTimeout(60);
btMessageDispatcher->setPieceStorage(pieceStorage);
btMessageDispatcher->setPieceStorage(pieceStorage.get());
btMessageDispatcher->addOutstandingRequest(slot);
btMessageDispatcher->checkRequestSlotAndDoNecessaryThing();
@ -280,11 +280,11 @@ void DefaultBtMessageDispatcherTest::testCheckRequestSlotAndDoNecessaryThing_tim
CPPUNIT_ASSERT(piece->getMissingUnusedBlockIndex(index));
CPPUNIT_ASSERT_EQUAL((size_t)0, index);
std::shared_ptr<MockPieceStorage2> pieceStorage(new MockPieceStorage2());
auto pieceStorage = make_unique<MockPieceStorage2>();
pieceStorage->setPiece(piece);
btMessageDispatcher->setRequestTimeout(60);
btMessageDispatcher->setPieceStorage(pieceStorage);
btMessageDispatcher->setPieceStorage(pieceStorage.get());
btMessageDispatcher->addOutstandingRequest(slot);
btMessageDispatcher->checkRequestSlotAndDoNecessaryThing();
@ -303,11 +303,11 @@ void DefaultBtMessageDispatcherTest::testCheckRequestSlotAndDoNecessaryThing_com
RequestSlot slot(0, 0, MY_PIECE_LENGTH, 0, piece);
std::shared_ptr<MockPieceStorage2> pieceStorage(new MockPieceStorage2());
auto pieceStorage = make_unique<MockPieceStorage2>();
pieceStorage->setPiece(piece);
btMessageDispatcher->setRequestTimeout(60);
btMessageDispatcher->setPieceStorage(pieceStorage);
btMessageDispatcher->setPieceStorage(pieceStorage.get());
btMessageDispatcher->addOutstandingRequest(slot);
btMessageDispatcher->checkRequestSlotAndDoNecessaryThing();