/* */ #include "PriorityPieceSelector.h" #include "bitfield.h" namespace aria2 { PriorityPieceSelector::PriorityPieceSelector (const SharedHandle& selector): selector_(selector) {} bool PriorityPieceSelector::select (size_t& index, const unsigned char* bitfield, size_t nbits) const { for(std::vector::const_iterator i = prioritizedPieces_.begin(), eoi = prioritizedPieces_.end(); i != eoi; ++i) { if(bitfield::test(bitfield, nbits, *i)) { index = *i; return true; } } return selector_->select(index, bitfield, nbits); } } // namespace aria2