summaryrefslogtreecommitdiff
path: root/src/DefaultPieceStorage.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/DefaultPieceStorage.cc')
-rw-r--r--src/DefaultPieceStorage.cc32
1 files changed, 9 insertions, 23 deletions
diff --git a/src/DefaultPieceStorage.cc b/src/DefaultPieceStorage.cc
index 713e8365..c8932810 100644
--- a/src/DefaultPieceStorage.cc
+++ b/src/DefaultPieceStorage.cc
@@ -725,32 +725,18 @@ DefaultPieceStorage::getAdvertisedPieceIndexes(std::vector<size_t>& indexes,
}
}
-namespace {
-class FindElapsedHave
+void
+DefaultPieceStorage::removeAdvertisedPiece(const std::chrono::seconds& elapsed)
{
-private:
- time_t elapsed;
-public:
- FindElapsedHave(time_t elapsed):elapsed(elapsed) {}
-
- bool operator()(const HaveEntry& have) {
- if(have.getRegisteredTime().difference(global::wallclock()) >= elapsed) {
- return true;
- } else {
- return false;
- }
- }
-};
-} // namespace
+ auto itr = std::find_if(std::begin(haves_), std::end(haves_),
+ [&elapsed](const HaveEntry& have) {
+ return have.getRegisteredTime().difference(global::wallclock()) >= elapsed;
+ });
-void DefaultPieceStorage::removeAdvertisedPiece(time_t elapsed)
-{
- auto itr = std::find_if(haves_.begin(), haves_.end(),
- FindElapsedHave(elapsed));
- if(itr != haves_.end()) {
+ if(itr != std::end(haves_)) {
A2_LOG_DEBUG(fmt(MSG_REMOVED_HAVE_ENTRY,
- static_cast<unsigned long>(haves_.end()-itr)));
- haves_.erase(itr, haves_.end());
+ static_cast<unsigned long>(std::end(haves_) - itr)));
+ haves_.erase(itr, std::end(haves_));
}
}