summaryrefslogtreecommitdiff
path: root/src/RequestGroup.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-07-04 01:38:24 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-07-04 01:38:24 +0900
commit128783cf8636bb713f29e472b11444c2b9287d8d (patch)
tree7356dbf0cf390d8f2e99cad8bc968c7db17eca5a /src/RequestGroup.cc
parenta479473949a8b82b1943c7d57966acfbb58f6c81 (diff)
Use std::unique_ptr for PieceSelector instead of std::shared_ptr
Diffstat (limited to 'src/RequestGroup.cc')
-rw-r--r--src/RequestGroup.cc14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/RequestGroup.cc b/src/RequestGroup.cc
index 6efe900b..c4f16233 100644
--- a/src/RequestGroup.cc
+++ b/src/RequestGroup.cc
@@ -596,9 +596,7 @@ void RequestGroup::initPieceStorage()
// integrated downloads. Currently multi-file integrated
// download is not supported.
A2_LOG_DEBUG("Using LongestSequencePieceSelector");
- std::shared_ptr<PieceSelector> longestPieceSelector
- (new LongestSequencePieceSelector());
- ps->setPieceSelector(longestPieceSelector);
+ ps->setPieceSelector(make_unique<LongestSequencePieceSelector>());
}
if(option_->defined(PREF_BT_PRIORITIZE_PIECE)) {
std::vector<size_t> result;
@@ -607,12 +605,12 @@ void RequestGroup::initPieceStorage()
downloadContext_->getFileEntries(),
downloadContext_->getPieceLength());
if(!result.empty()) {
- std::random_shuffle(result.begin(), result.end(),
+ std::random_shuffle(std::begin(result), std::end(result),
*SimpleRandomizer::getInstance());
- std::shared_ptr<PriorityPieceSelector> priSelector
- (new PriorityPieceSelector(ps->getPieceSelector()));
- priSelector->setPriorityPiece(result.begin(), result.end());
- ps->setPieceSelector(priSelector);
+ auto priSelector = make_unique<PriorityPieceSelector>
+ (ps->popPieceSelector());
+ priSelector->setPriorityPiece(std::begin(result), std::end(result));
+ ps->setPieceSelector(std::move(priSelector));
}
}
}