Selaa lähdekoodia

2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>

	Changed method signature:
	PieceStorage::getInFlightPieces
	* src/DefaultBtProgressInfoFile.cc
	* src/DefaultPieceStorage.cc
	* src/DefaultPieceStorage.h
	* src/PieceStorage.h
	* src/UnknownLengthPieceStorage.cc
	* src/UnknownLengthPieceStorage.h
	* test/DefaultBtProgressInfoFileTest.cc
	* test/MockPieceStorage.h
Tatsuhiro Tsujikawa 17 vuotta sitten
vanhempi
commit
d2110dc697

+ 13 - 0
ChangeLog

@@ -1,3 +1,16 @@
+2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
+
+	Changed method signature:
+	PieceStorage::getInFlightPieces
+	* src/DefaultBtProgressInfoFile.cc
+	* src/DefaultPieceStorage.cc
+	* src/DefaultPieceStorage.h
+	* src/PieceStorage.h
+	* src/UnknownLengthPieceStorage.cc
+	* src/UnknownLengthPieceStorage.h
+	* test/DefaultBtProgressInfoFileTest.cc
+	* test/MockPieceStorage.h
+
 2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
 
 	Changed method signature:

+ 2 - 1
src/DefaultBtProgressInfoFile.cc

@@ -143,7 +143,8 @@ void DefaultBtProgressInfoFile::save() {
     // TODO implement this
     uint32_t numInFlightPiece = _pieceStorage->countInFlightPiece();
     o.write(reinterpret_cast<const char*>(&numInFlightPiece), sizeof(numInFlightPiece));
-    Pieces inFlightPieces = _pieceStorage->getInFlightPieces();
+    Pieces inFlightPieces;
+    _pieceStorage->getInFlightPieces(inFlightPieces);
     for(Pieces::const_iterator itr = inFlightPieces.begin();
 	itr != inFlightPieces.end(); ++itr) {
       uint32_t index = (*itr)->getIndex();

+ 2 - 2
src/DefaultPieceStorage.cc

@@ -635,9 +635,9 @@ size_t DefaultPieceStorage::countInFlightPiece()
   return usedPieces.size();
 }
 
-Pieces DefaultPieceStorage::getInFlightPieces()
+void DefaultPieceStorage::getInFlightPieces(std::deque<SharedHandle<Piece> >& pieces)
 {
-  return usedPieces;
+  pieces.insert(pieces.end(), usedPieces.begin(), usedPieces.end());
 }
 
 void DefaultPieceStorage::setDiskWriterFactory(const DiskWriterFactoryHandle& diskWriterFactory)

+ 1 - 1
src/DefaultPieceStorage.h

@@ -197,7 +197,7 @@ public:
 
   virtual size_t countInFlightPiece();
 
-  virtual std::deque<SharedHandle<Piece> > getInFlightPieces();
+  virtual void getInFlightPieces(std::deque<SharedHandle<Piece> >& pieces);
 
   virtual void addPieceStats(size_t index);
 

+ 1 - 1
src/PieceStorage.h

@@ -204,7 +204,7 @@ public:
 
   virtual size_t countInFlightPiece() = 0;
 
-  virtual std::deque<SharedHandle<Piece> > getInFlightPieces() = 0;
+  virtual void getInFlightPieces(std::deque<SharedHandle<Piece> >& pieces) = 0;
 
   virtual void addPieceStats(size_t index) = 0;
 

+ 2 - 4
src/UnknownLengthPieceStorage.cc

@@ -189,10 +189,8 @@ void UnknownLengthPieceStorage::markPieceMissing(size_t index)
   abort();
 }
 
-Pieces UnknownLengthPieceStorage::getInFlightPieces()
-{
-  return Pieces();
-}
+void UnknownLengthPieceStorage::getInFlightPieces(std::deque<SharedHandle<Piece> >& pieces)
+{}
 
 void UnknownLengthPieceStorage::setDiskWriterFactory(const DiskWriterFactoryHandle& diskWriterFactory)
 {

+ 1 - 1
src/UnknownLengthPieceStorage.h

@@ -247,7 +247,7 @@ public:
     return 0;
   }
 
-  virtual std::deque<SharedHandle<Piece> > getInFlightPieces();
+  virtual void getInFlightPieces(std::deque<SharedHandle<Piece> >& pieces);
 
   virtual void addPieceStats(size_t index) {}
 

+ 6 - 2
test/DefaultBtProgressInfoFileTest.cc

@@ -114,7 +114,9 @@ void DefaultBtProgressInfoFileTest::testLoad()
 		       _pieceStorage->countInFlightPiece());
 
   // piece index 1
-  std::deque<SharedHandle<Piece> > inFlightPieces = _pieceStorage->getInFlightPieces();
+  std::deque<SharedHandle<Piece> > inFlightPieces;
+  _pieceStorage->getInFlightPieces(inFlightPieces);
+
   SharedHandle<Piece> piece1 = inFlightPieces[0];
   CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getIndex());
   CPPUNIT_ASSERT_EQUAL((size_t)1024, piece1->getLength());
@@ -150,7 +152,9 @@ void DefaultBtProgressInfoFileTest::testLoad_nonBt()
 		       _pieceStorage->countInFlightPiece());
 
   // piece index 1
-  std::deque<SharedHandle<Piece> > inFlightPieces = _pieceStorage->getInFlightPieces();
+  std::deque<SharedHandle<Piece> > inFlightPieces;
+  _pieceStorage->getInFlightPieces(inFlightPieces);
+
   SharedHandle<Piece> piece1 = inFlightPieces[0];
   CPPUNIT_ASSERT_EQUAL((size_t)1, piece1->getIndex());
   CPPUNIT_ASSERT_EQUAL((size_t)1024, piece1->getLength());

+ 2 - 2
test/MockPieceStorage.h

@@ -202,9 +202,9 @@ public:
     return inFlightPieces.size();
   }
 
-  virtual std::deque<SharedHandle<Piece> > getInFlightPieces()
+  virtual void getInFlightPieces(std::deque<SharedHandle<Piece> >& pieces)
   {
-    return inFlightPieces;
+    pieces.insert(pieces.end(), inFlightPieces.begin(), inFlightPieces.end());
   }
 
   virtual void addPieceStats(size_t index) {}