lltimer.cpp File Reference

Cross-platform objects for doing timing. More...

#include "linden_common.h"
#include "lltimer.h"
#include "u64.h"

Include dependency graph for lltimer.cpp:

Go to the source code of this file.


void update_clock_frequencies ()
U64 totalTime ()
static U64 getElapsedTimeAndUpdate (U64 &lastClockCount)
U32 time_corrected ()
BOOL is_daylight_savings ()
tm * utc_to_pacific_time (S32 utc_time, BOOL pacific_daylight_time)
void microsecondsToTimecodeString (U64 current_time, char *tcstring)
void secondsToTimecodeString (F32 current_time, char *tcstring)


const U32 SEC_PER_DAY = 86400
const F64 SEC_TO_MICROSEC = 1000000.f
const U64 SEC_TO_MICROSEC_U64 = 1000000
const F64 USEC_TO_SEC_F64 = 0.000001
S32 gUTCOffset = 0
F64 gClockFrequency = 0.0
F64 gClockFrequencyInv = 0.0
F64 gClocksToMicroseconds = 0.0
U64 gTotalTimeClockCount = 0
U64 gLastTotalTimeClockCount = 0

Detailed Description

Cross-platform objects for doing timing.


Copyright (c) 2000-2007, Linden Research, Inc.

Second Life Viewer Source Code The source code in this file ("Source Code") is provided by Linden Lab to you under the terms of the GNU General Public License, version 2.0 ("GPL"), unless you have obtained a separate licensing agreement ("Other License"), formally executed by you and Linden Lab. Terms of the GPL can be found in doc/GPL-license.txt in this distribution, or online at http://secondlife.com/developers/opensource/gplv2

There are special exceptions to the terms and conditions of the GPL as it is applied to this Source Code. View the full text of the exception in the file doc/FLOSS-exception.txt in this software distribution, or online at http://secondlife.com/developers/opensource/flossexception

By copying, modifying or distributing this software, you acknowledge that you have read and understood your obligations described above, and agree to abide by those obligations.


Definition in file lltimer.cpp.

Function Documentation

static U64 getElapsedTimeAndUpdate ( U64 lastClockCount  )  [static]

Definition at line 276 of file lltimer.cpp.

References get_clock_count().

Referenced by LLTimer::getElapsedTimeAndResetF64(), and LLTimer::getElapsedTimeF64().

BOOL is_daylight_savings (  ) 

Definition at line 430 of file lltimer.cpp.

References NULL, and tut::tm().

void microsecondsToTimecodeString ( U64  current_time,
char *  tcstring 

Definition at line 478 of file lltimer.cpp.

Referenced by LLViewerWindow::draw(), and secondsToTimecodeString().

void secondsToTimecodeString ( F32  current_time,
char *  tcstring 

Definition at line 500 of file lltimer.cpp.

References microsecondsToTimecodeString(), and SEC_TO_MICROSEC.

U32 time_corrected (  ) 

Definition at line 421 of file lltimer.cpp.

References gUTCOffset, and NULL.

Referenced by LLViewerTextEditor::appendTime(), LLInventoryFilter::check(), cleanup_app(), container_inventory_arrived(), LLToolDragAndDrop::dropInventory(), handle_grab_texture(), idle_startup(), LLLiveLSLEditor::loadAsset(), LLPanelContents::onClickNewScript(), LLPanelDirEvents::performQueryOrDelete(), LLPanelEvent::processEventInfoReply(), LLStatusBar::refresh(), LLPanelDirEvents::setDay(), LLLogChat::timestamp(), LLEventNotifier::update(), and LLNewAgentInventoryResponder::uploadComplete().

U64 totalTime (  ) 

Definition at line 182 of file lltimer.cpp.

References gClockFrequency, gClocksToMicroseconds, get_clock_count(), gLastTotalTimeClockCount, gTotalTimeClockCount, NULL, and update_clock_frequencies().

Referenced by LLMessageSystem::checkMessages(), LLStatAccum::impl::getCurrentUsecs(), LLMessageSystem::getMessageTimeSeconds(), LLMessageSystem::getMessageTimeUsecs(), LLTimer::getTotalTime(), LLFrameTimer::getTotalTime(), idle_startup(), LLReliablePacket::LLReliablePacket(), main(), LLViewerObjectList::update(), and LLFrameTimer::updateFrameTime().

void update_clock_frequencies (  ) 

Definition at line 170 of file lltimer.cpp.

References calc_clock_frequency(), gClockFrequency, gClockFrequencyInv, gClocksToMicroseconds, and SEC_TO_MICROSEC.

Referenced by LLTimer::LLTimer(), and totalTime().

struct tm* utc_to_pacific_time ( S32  utc_time,
BOOL  pacific_daylight_time 

Definition at line 444 of file lltimer.cpp.

References MIN_PER_HOUR, S32, SEC_PER_MIN, and tut::tm().

Referenced by LLFloaterBump::add(), LLViewerTextEditor::appendTime(), LLEventInfo::LLEventInfo(), LLPanelDirEvents::performQueryOrDelete(), LLWorldMap::processMapItemReply(), LLStatusBar::refresh(), LLPanelDirEvents::setDay(), and LLLogChat::timestamp().

Variable Documentation

F64 gClockFrequency = 0.0

Definition at line 68 of file lltimer.cpp.

Referenced by LLTimer::checkExpirationAndReset(), LLTimer::LLTimer(), LLTimer::setTimerExpirySec(), totalTime(), and update_clock_frequencies().

F64 gClockFrequencyInv = 0.0

Definition at line 69 of file lltimer.cpp.

Referenced by LLTimer::getElapsedTimeAndResetF64(), LLTimer::getElapsedTimeF64(), LLTimer::getRemainingTimeF32(), and update_clock_frequencies().

F64 gClocksToMicroseconds = 0.0

Definition at line 70 of file lltimer.cpp.

Referenced by totalTime(), and update_clock_frequencies().

U64 gLastTotalTimeClockCount = 0

Definition at line 72 of file lltimer.cpp.

Referenced by totalTime().

U64 gTotalTimeClockCount = 0

Definition at line 71 of file lltimer.cpp.

Referenced by totalTime().

S32 gUTCOffset = 0

Definition at line 65 of file lltimer.cpp.

Referenced by idle_startup(), and time_corrected().

const U32 SEC_PER_DAY = 86400

Definition at line 55 of file lltimer.cpp.

const F64 SEC_TO_MICROSEC = 1000000.f

Definition at line 56 of file lltimer.cpp.

Referenced by idle(), idle_startup(), LLParcel::importStream(), secondsToTimecodeString(), LLParcel::startSale(), LLViewerObjectList::update(), and update_clock_frequencies().

const U64 SEC_TO_MICROSEC_U64 = 1000000

Definition at line 57 of file lltimer.cpp.

const F64 USEC_TO_SEC_F64 = 0.000001

Definition at line 58 of file lltimer.cpp.

Generated on Thu Jul 1 06:10:42 2010 for Second Life Viewer by  doxygen 1.4.7