浏览代码

DefaultBtRequestFactory: Use raw pointer for pieceStorage_

Tatsuhiro Tsujikawa 12 年之前
父节点
当前提交
bfb732c5d4

+ 5 - 5
src/DefaultBtRequestFactory.cc

@@ -52,7 +52,8 @@
 namespace aria2 {
 
 DefaultBtRequestFactory::DefaultBtRequestFactory()
-  : dispatcher_(0),
+  : pieceStorage_(0),
+    dispatcher_(0),
     messageFactory_(0),
     cuid_(0)
 {}
@@ -104,11 +105,11 @@ namespace {
 class ProcessChokedPiece {
 private:
   std::shared_ptr<Peer> peer_;
-  std::shared_ptr<PieceStorage> pieceStorage_;
+  PieceStorage* pieceStorage_;
   cuid_t cuid_;
 public:
   ProcessChokedPiece(const std::shared_ptr<Peer>& peer,
-                     const std::shared_ptr<PieceStorage>& pieceStorage,
+                     PieceStorage* pieceStorage,
                      cuid_t cuid):
     peer_(peer),
     pieceStorage_(pieceStorage),
@@ -262,8 +263,7 @@ void DefaultBtRequestFactory::getTargetPieceIndexes
                  std::mem_fn(&Piece::getIndex));
 }
 
-void DefaultBtRequestFactory::setPieceStorage
-(const std::shared_ptr<PieceStorage>& pieceStorage)
+void DefaultBtRequestFactory::setPieceStorage(PieceStorage* pieceStorage)
 {
   pieceStorage_ = pieceStorage;
 }

+ 2 - 2
src/DefaultBtRequestFactory.h

@@ -51,7 +51,7 @@ class Piece;
 
 class DefaultBtRequestFactory : public BtRequestFactory {
 private:
-  std::shared_ptr<PieceStorage> pieceStorage_;
+  PieceStorage* pieceStorage_;
   std::shared_ptr<Peer> peer_;
   BtMessageDispatcher* dispatcher_;
   BtMessageFactory* messageFactory_;
@@ -91,7 +91,7 @@ public:
     return pieces_;
   }
 
-  void setPieceStorage(const std::shared_ptr<PieceStorage>& pieceStorage);
+  void setPieceStorage(PieceStorage* pieceStorage);
 
   void setPeer(const std::shared_ptr<Peer>& peer);
 

+ 1 - 1
src/PeerInteractionCommand.cc

@@ -212,7 +212,7 @@ PeerInteractionCommand::PeerInteractionCommand
 
   DefaultBtRequestFactory* reqFactoryPtr(new DefaultBtRequestFactory());
   reqFactoryPtr->setPeer(getPeer());
-  reqFactoryPtr->setPieceStorage(pieceStorage);
+  reqFactoryPtr->setPieceStorage(pieceStorage.get());
   reqFactoryPtr->setBtMessageDispatcher(dispatcherPtr);
   reqFactoryPtr->setBtMessageFactory(factoryPtr);
   reqFactoryPtr->setCuid(cuid);

+ 1 - 1
test/DefaultBtRequestFactoryTest.cc

@@ -97,7 +97,7 @@ public:
     dispatcher_.reset(new MockBtMessageDispatcher());
 
     requestFactory_.reset(new DefaultBtRequestFactory());
-    requestFactory_->setPieceStorage(pieceStorage_);
+    requestFactory_->setPieceStorage(pieceStorage_.get());
     requestFactory_->setPeer(peer_);
     requestFactory_->setBtMessageDispatcher(dispatcher_.get());
     requestFactory_->setBtMessageFactory(messageFactory_.get());