diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-02-07 00:17:44 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-02-07 00:17:44 +0900 |
| commit | 8eb1de9ef817ea7134a5bf922e64e217fa9993ff (patch) | |
| tree | 30fe0dfa1b73b7e342db2e88fcdc95123f39617f /src/DHTGetPeersCommand.cc | |
| parent | 2666bc8170a5d7866acbe3112fdf6a426ef73255 (diff) | |
Get peers from DHT more frequently when the size of peer list is 0.
Diffstat (limited to 'src/DHTGetPeersCommand.cc')
| -rw-r--r-- | src/DHTGetPeersCommand.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/DHTGetPeersCommand.cc b/src/DHTGetPeersCommand.cc index 96e2a3e5..f8225d66 100644 --- a/src/DHTGetPeersCommand.cc +++ b/src/DHTGetPeersCommand.cc @@ -75,12 +75,13 @@ bool DHTGetPeersCommand::execute() if(btRuntime_->isHalt()) { return true; } + time_t elapsed = lastGetPeerTime_.difference(global::wallclock); if(!task_ && - ((numRetry_ > 0 && - lastGetPeerTime_.difference(global::wallclock) >= (time_t)numRetry_*5) || - lastGetPeerTime_.difference(global::wallclock) >= GET_PEER_INTERVAL || - (btRuntime_->lessThanMinPeers() && - lastGetPeerTime_.difference(global::wallclock) >= GET_PEER_MIN_INTERVAL + ((numRetry_ > 0 && elapsed >= static_cast<time_t>(numRetry_*5)) || + elapsed >= GET_PEER_INTERVAL || + (((btRuntime_->lessThanMinPeers() && elapsed >= GET_PEER_INTERVAL_LOW) || + (btRuntime_->getConnections() == 0 && + elapsed >= GET_PEER_INTERVAL_ZERO)) && !requestGroup_->downloadFinished()))) { A2_LOG_DEBUG(fmt("Issuing PeerLookup for infoHash=%s", bittorrent::getInfoHashString |
