diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-07-04 01:38:24 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-07-04 01:38:24 +0900 |
| commit | 128783cf8636bb713f29e472b11444c2b9287d8d (patch) | |
| tree | 7356dbf0cf390d8f2e99cad8bc968c7db17eca5a /src/RequestGroup.cc | |
| parent | a479473949a8b82b1943c7d57966acfbb58f6c81 (diff) | |
Use std::unique_ptr for PieceSelector instead of std::shared_ptr
Diffstat (limited to 'src/RequestGroup.cc')
| -rw-r--r-- | src/RequestGroup.cc | 14 |
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)); } } } |
