From 8d09b069e2b709d8657f5fdbcf2a933515545f39 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sat, 6 Mar 2010 08:29:53 +0000 Subject: 2010-03-06 Tatsuhiro Tsujikawa 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 --- src/ConsoleStatCalc.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/ConsoleStatCalc.cc') diff --git a/src/ConsoleStatCalc.cc b/src/ConsoleStatCalc.cc index b2d959fa..6eb52148 100644 --- a/src/ConsoleStatCalc.cc +++ b/src/ConsoleStatCalc.cc @@ -59,6 +59,7 @@ #include "CheckIntegrityEntry.h" #include "util.h" #include "DownloadContext.h" +#include "wallclock.h" #ifdef ENABLE_BITTORRENT # include "bittorrent_helper.h" # include "Peer.h" @@ -214,10 +215,10 @@ ConsoleStatCalc::ConsoleStatCalc(time_t summaryInterval, bool humanReadable): void ConsoleStatCalc::calculateStat(const DownloadEngine* e) { - if(!_cp.elapsed(1)) { + if(_cp.difference(global::wallclock) < 1) { return; } - _cp.reset(); + _cp = global::wallclock; const SizeFormatter& sizeFormatter = *_sizeFormatter.get(); #ifdef __MINGW32__ @@ -243,8 +244,8 @@ ConsoleStatCalc::calculateStat(const DownloadEngine* e) std::ostringstream o; if(e->_requestGroupMan->countRequestGroup() > 0) { if((_summaryInterval > 0) && - _lastSummaryNotified.elapsed(_summaryInterval)) { - _lastSummaryNotified.reset(); + _lastSummaryNotified.difference(global::wallclock) >= _summaryInterval) { + _lastSummaryNotified = global::wallclock; printProgressSummary(e->_requestGroupMan->getRequestGroups(), cols, e, sizeFormatter); std::cout << "\n"; -- cgit