summaryrefslogtreecommitdiff
path: root/src/DefaultPieceStorage.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/DefaultPieceStorage.h')
-rw-r--r--src/DefaultPieceStorage.h36
1 files changed, 28 insertions, 8 deletions
diff --git a/src/DefaultPieceStorage.h b/src/DefaultPieceStorage.h
index 3846d1a2..6d31015d 100644
--- a/src/DefaultPieceStorage.h
+++ b/src/DefaultPieceStorage.h
@@ -88,15 +88,13 @@ private:
SharedHandle<PieceSelector> pieceSelector_;
- bool getMissingPieceIndex(size_t& index,
- const unsigned char* bitfield, size_t length);
-
- SharedHandle<Piece> getMissingPiece(const unsigned char* bitfield,
- size_t length);
-
- SharedHandle<Piece> getMissingPiece(const BitfieldMan& bitfield);
-
#ifdef ENABLE_BITTORRENT
+ void getMissingPiece
+ (std::vector<SharedHandle<Piece> >& pieces,
+ size_t minMissingBlocks,
+ const unsigned char* bitfield,
+ size_t length);
+
void createFastIndexBitfield(BitfieldMan& bitfield,
const SharedHandle<Peer>& peer);
#endif // ENABLE_BITTORRENT
@@ -123,6 +121,28 @@ public:
virtual bool hasMissingPiece(const SharedHandle<Peer>& peer);
+ virtual void getMissingPiece
+ (std::vector<SharedHandle<Piece> >& pieces,
+ size_t minMissingBlocks,
+ const SharedHandle<Peer>& peer,
+ const std::vector<size_t>& excludedIndexes);
+
+ virtual void getMissingPiece
+ (std::vector<SharedHandle<Piece> >& pieces,
+ size_t minMissingBlocks,
+ const SharedHandle<Peer>& peer);
+
+ virtual void getMissingFastPiece
+ (std::vector<SharedHandle<Piece> >& pieces,
+ size_t minMissingBlocks,
+ const SharedHandle<Peer>& peer,
+ const std::vector<size_t>& excludedIndexes);
+
+ virtual void getMissingFastPiece
+ (std::vector<SharedHandle<Piece> >& pieces,
+ size_t minMissingBlocks,
+ const SharedHandle<Peer>& peer);
+
virtual SharedHandle<Piece> getMissingPiece(const SharedHandle<Peer>& peer);
virtual SharedHandle<Piece> getMissingFastPiece