/* */ #include "PriorityPieceSelector.h" #include "bitfield.h" namespace aria2 { PriorityPieceSelector::PriorityPieceSelector( const std::shared_ptr& selector) : selector_(selector) { } bool PriorityPieceSelector::select(size_t& index, const unsigned char* bitfield, size_t nbits) const { for (auto& p : prioritizedPieces_) { if (bitfield::test(bitfield, nbits, p)) { index = p; return true; } } return selector_->select(index, bitfield, nbits); } } // namespace aria2