/* */ #include "LongestSequencePieceSelector.h" namespace aria2 { bool LongestSequencePieceSelector::select (size_t& index, const std::deque& candidateIndexes) const { size_t maxlen = 0; size_t maxfirst = 0; size_t i = 0; size_t lenA = candidateIndexes.size(); while(i < lenA) { size_t first = i; size_t len = 1; size_t prev = first; ++i; while(i < lenA && candidateIndexes[prev]+1 == candidateIndexes[i]) { ++len; prev = i; ++i; } if(maxlen < len) { maxlen = len; maxfirst = first; } } if(maxlen == 0) { return false; } else { index = candidateIndexes[maxfirst+maxlen-1]; return true; } } void LongestSequencePieceSelector::addPieceStats (const unsigned char* bitfield, size_t bitfieldLength) {} void LongestSequencePieceSelector::subtractPieceStats (const unsigned char* bitfield, size_t bitfieldLength) {} void LongestSequencePieceSelector::updatePieceStats (const unsigned char* newBitfield, size_t newBitfieldLength, const unsigned char* oldBitfield) {} void LongestSequencePieceSelector::addPieceStats(size_t index) {} } // namespace aria2