diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-03-06 08:29:53 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-03-06 08:29:53 +0000 |
| commit | 8d09b069e2b709d8657f5fdbcf2a933515545f39 (patch) | |
| tree | 431bf39e4ce0a90c7fb4804297562c0c4c93c478 /src/DefaultBtMessageDispatcher.cc | |
| parent | 7637fd76a27d8a97cd32d7597d5afb3361fe0d28 (diff) | |
2010-03-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added Time global::wallclock to cache "current time" to reduce the
call gettimeofday(). Global variables are now in namespace global.
* src/AbstractCommand.cc
* src/ActivePeerConnectionCommand.cc
* src/AdaptiveURISelector.cc
* src/BtLeecherStateChoke.cc
* src/BtLeecherStateChoke.h
* src/BtSeederStateChoke.cc
* src/BtSeederStateChoke.h
* src/BtStopDownloadCommand.cc
* src/ConsoleStatCalc.cc
* src/DHTBucket.cc
* src/DHTGetPeersCommand.cc
* src/DHTMessageTrackerEntry.cc
* src/DHTNode.cc
* src/DHTPeerAnnounceEntry.cc
* src/DHTPeerAnnounceStorage.cc
* src/DHTSetup.cc
* src/DefaultBtAnnounce.cc
* src/DefaultBtInteractive.cc
* src/DefaultBtMessageDispatcher.cc
* src/DefaultPeerStorage.cc
* src/DefaultPieceStorage.cc
* src/DownloadCommand.cc
* src/DownloadEngine.cc
* src/FileEntry.cc
* src/HttpServerBodyCommand.cc
* src/HttpServerCommand.cc
* src/HttpServerResponseCommand.cc
* src/LpdMessageDispatcher.cc
* src/MultiUrlRequestInfo.cc
* src/Peer.cc
* src/Peer.h
* src/PeerAbstractCommand.cc
* src/PeerStat.h
* src/RequestSlot.cc
* src/RequestSlot.h
* src/SegmentMan.cc
* src/ServerStatMan.cc
* src/SleepCommand.cc
* src/SpeedCalc.cc
* src/SpeedCalc.h
* src/TimeA2.cc
* src/TimeA2.h
* src/TimeBasedCommand.cc
* src/TimeSeedCriteria.h
* src/UTMetadataRequestTracker.h
* src/UTPexExtensionMessage.cc
* src/wallclock.h
Diffstat (limited to 'src/DefaultBtMessageDispatcher.cc')
| -rw-r--r-- | src/DefaultBtMessageDispatcher.cc | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/src/DefaultBtMessageDispatcher.cc b/src/DefaultBtMessageDispatcher.cc index 7c3cb8ca..f67e39ab 100644 --- a/src/DefaultBtMessageDispatcher.cc +++ b/src/DefaultBtMessageDispatcher.cc @@ -257,7 +257,6 @@ private: SharedHandle<PieceStorage> _pieceStorage; BtMessageDispatcher* _messageDispatcher; WeakHandle<BtMessageFactory> _messageFactory; - const struct timeval& _now; time_t _requestTimeout; Logger* _logger; public: @@ -265,20 +264,18 @@ public: const SharedHandle<PieceStorage>& pieceStorage, BtMessageDispatcher* dispatcher, const WeakHandle<BtMessageFactory>& factory, - const struct timeval& now, time_t requestTimeout): _cuid(cuid), _peer(peer), _pieceStorage(pieceStorage), _messageDispatcher(dispatcher), _messageFactory(factory), - _now(now), _requestTimeout(requestTimeout), _logger(LogFactory::getInstance()) {} void operator()(const RequestSlot& slot) { - if(slot.isTimeout(_now, _requestTimeout)) { + if(slot.isTimeout(_requestTimeout)) { if(_logger->debug()) { _logger->debug(MSG_DELETING_REQUEST_SLOT_TIMEOUT, _cuid, @@ -305,19 +302,16 @@ public: class FindStaleRequestSlot { private: SharedHandle<PieceStorage> _pieceStorage; - const struct timeval& _now; time_t _requestTimeout; public: FindStaleRequestSlot(const SharedHandle<PieceStorage>& pieceStorage, - const struct timeval& now, time_t requestTimeout): _pieceStorage(pieceStorage), - _now(now), _requestTimeout(requestTimeout) {} bool operator()(const RequestSlot& slot) { - if(slot.isTimeout(_now, _requestTimeout)) { + if(slot.isTimeout(_requestTimeout)) { return true; } else { if(slot.getPiece()->hasBlock(slot.getBlockIndex())) { @@ -331,20 +325,15 @@ public: void DefaultBtMessageDispatcher::checkRequestSlotAndDoNecessaryThing() { - struct timeval now; - gettimeofday(&now, 0); - std::for_each(requestSlots.begin(), requestSlots.end(), ProcessStaleRequestSlot(cuid, peer, _pieceStorage, this, messageFactory, - now, requestTimeout)); requestSlots.erase(std::remove_if(requestSlots.begin(), requestSlots.end(), FindStaleRequestSlot(_pieceStorage, - now, requestTimeout)), requestSlots.end()); } |
