diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2015-06-08 02:03:31 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2015-06-09 02:05:34 +0900 |
| commit | 99cd73c0926f0c07d27777fde2f15816e8040030 (patch) | |
| tree | 7c6a077b0590c49029c76686afb9c2ab1d00bb6d /src/DefaultBtAnnounce.cc | |
| parent | 2874f6ab095a30a4d297cdc85fa3730bec41b1c2 (diff) | |
Replace timer facility with chrono lib
Diffstat (limited to 'src/DefaultBtAnnounce.cc')
| -rw-r--r-- | src/DefaultBtAnnounce.cc | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/src/DefaultBtAnnounce.cc b/src/DefaultBtAnnounce.cc index f7d491cf..34042525 100644 --- a/src/DefaultBtAnnounce.cc +++ b/src/DefaultBtAnnounce.cc @@ -61,10 +61,10 @@ DefaultBtAnnounce::DefaultBtAnnounce (DownloadContext* downloadContext, const Option* option) : downloadContext_{downloadContext}, trackers_(0), - prevAnnounceTimer_(0), + prevAnnounceTimer_(Timer::zero()), interval_(DEFAULT_ANNOUNCE_INTERVAL), minInterval_(DEFAULT_ANNOUNCE_INTERVAL), - userDefinedInterval_(0), + userDefinedInterval_(std::chrono::seconds(0)), complete_(0), incomplete_(0), announceList_(bittorrent::getTorrentAttrs(downloadContext)->announceList), @@ -77,12 +77,11 @@ DefaultBtAnnounce::~DefaultBtAnnounce() { } bool DefaultBtAnnounce::isDefaultAnnounceReady() { - return - (trackers_ == 0 && - prevAnnounceTimer_. - difference(global::wallclock()) >= (userDefinedInterval_==0? - minInterval_:userDefinedInterval_) && - !announceList_.allTiersFailed()); + return (trackers_ == 0 && + prevAnnounceTimer_.difference(global::wallclock()) >= + (userDefinedInterval_.count() == 0 ? minInterval_ + : userDefinedInterval_) && + !announceList_.allTiersFailed()); } bool DefaultBtAnnounce::isStoppedAnnounceReady() { @@ -305,13 +304,14 @@ DefaultBtAnnounce::processAnnounceResponse(const unsigned char* trackerResponse, } const Integer* ival = downcast<Integer>(dict->get(BtAnnounce::INTERVAL)); if(ival && ival->i() > 0) { - interval_ = ival->i(); - A2_LOG_DEBUG(fmt("Interval:%ld", static_cast<long int>(interval_))); + interval_ = std::chrono::seconds(ival->i()); + A2_LOG_DEBUG(fmt("Interval:%ld", static_cast<long int>(interval_.count()))); } const Integer* mival = downcast<Integer>(dict->get(BtAnnounce::MIN_INTERVAL)); if(mival && mival->i() > 0) { - minInterval_ = mival->i(); - A2_LOG_DEBUG(fmt("Min interval:%ld", static_cast<long int>(minInterval_))); + minInterval_ = std::chrono::seconds(mival->i()); + A2_LOG_DEBUG( + fmt("Min interval:%ld", static_cast<long int>(minInterval_.count()))); minInterval_ = std::min(minInterval_, interval_); } else { // Use interval as a minInterval if minInterval is not supplied. @@ -355,8 +355,9 @@ void DefaultBtAnnounce::processUDPTrackerResponse const std::shared_ptr<UDPTrackerReply>& reply = req->reply; A2_LOG_DEBUG("Now processing UDP tracker response."); if(reply->interval > 0) { - minInterval_ = reply->interval; - A2_LOG_DEBUG(fmt("Min interval:%ld", static_cast<long int>(minInterval_))); + minInterval_ = std::chrono::seconds(reply->interval); + A2_LOG_DEBUG( + fmt("Min interval:%ld", static_cast<long int>(minInterval_.count()))); interval_ = minInterval_; } complete_ = reply->seeders; @@ -401,9 +402,9 @@ void DefaultBtAnnounce::setPeerStorage peerStorage_ = peerStorage; } -void DefaultBtAnnounce::overrideMinInterval(time_t interval) +void DefaultBtAnnounce::overrideMinInterval(std::chrono::seconds interval) { - minInterval_ = interval; + minInterval_ = std::move(interval); } } // namespace aria2 |
