diff options
Diffstat (limited to 'src/DefaultPieceStorage.h')
| -rw-r--r-- | src/DefaultPieceStorage.h | 36 |
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 |
