diff -r b3cee849fa46 -r fad26422216a loadgen/engine/src/loadgen_utils.cpp --- a/loadgen/engine/src/loadgen_utils.cpp Tue Aug 31 15:15:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,266 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - - -// INCLUDE FILES -#include -#include -#include - -#include "loadgen_utils.h" -#include "loadgen.hrh" - -inline TInt64 INIT_SEED() -{ - TTime now; - now.HomeTime(); - return now.Int64(); -} - -TInt64 CLoadGenUtils::iRandomNumberSeed = INIT_SEED(); - -TThreadPriority CLoadGenUtils::SettingItemToThreadPriority(TInt aIndex) - { - TThreadPriority threadPriority = EPriorityNull; - - switch ( aIndex ) - { - case EThreadPriorityTypeMuchLess: - { - threadPriority = EPriorityMuchLess; break; - } - case EThreadPriorityTypeLess: - { - threadPriority = EPriorityLess; break; - } - case EThreadPriorityTypeNormal: - { - threadPriority = EPriorityNormal; break; - } - case EThreadPriorityTypeMore: - { - threadPriority = EPriorityMore; break; - } - case EThreadPriorityTypeMuchMore: - { - threadPriority = EPriorityMuchMore; break; - } - case EThreadPriorityTypeRealTime: - { - threadPriority = EPriorityRealTime; break; - } - case EThreadPriorityTypeAbsoluteVeryLow: - { - threadPriority = EPriorityAbsoluteVeryLow; break; - } - case EThreadPriorityTypeAbsoluteLow: - { - threadPriority = EPriorityAbsoluteLow; break; - } - case EThreadPriorityTypeAbsoluteBackground: - { - threadPriority = EPriorityAbsoluteBackground; break; - } - case EThreadPriorityTypeAbsoluteForeground: - { - threadPriority = EPriorityAbsoluteForeground; break; - } - case EThreadPriorityTypeAbsoluteHigh: - { - threadPriority = EPriorityAbsoluteHigh; break; - } - - default: - { - User::Panic(_L("Wrong tp index"), 276); - break; - } - } - - return threadPriority; - } - -// -------------------------------------------------------------------------------------------- - -void CLoadGenUtils::SettingItemToThreadDescription(TInt aIndex, TDes& aBuf) - { - switch ( aIndex ) - { - case EThreadPriorityTypeMuchLess: - { - aBuf.Append(_L("ML(-20)")); break; - } - case EThreadPriorityTypeLess: - { - aBuf.Append(_L("L(-10)")); break; - } - case EThreadPriorityTypeNormal: - { - aBuf.Append(_L("NO(0)")); break; - } - case EThreadPriorityTypeMore: - { - aBuf.Append(_L("M(10)")); break; - } - case EThreadPriorityTypeMuchMore: - { - aBuf.Append(_L("MM(20)")); break; - } - case EThreadPriorityTypeRealTime: - { - aBuf.Append(_L("RL(30)")); break; - } - case EThreadPriorityTypeAbsoluteVeryLow: - { - aBuf.Append(_L("AVL(100)")); break; - } - case EThreadPriorityTypeAbsoluteLow: - { - aBuf.Append(_L("AL(200)")); break; - } - case EThreadPriorityTypeAbsoluteBackground: - { - aBuf.Append(_L("ABG(300)")); break; - } - case EThreadPriorityTypeAbsoluteForeground: - { - aBuf.Append(_L("AFG(400)")); break; - } - case EThreadPriorityTypeAbsoluteHigh: - { - aBuf.Append(_L("AH(500)")); break; - } - - default: - { - User::Panic(_L("Wrong td index"), 277); - break; - } - } - } - -// -------------------------------------------------------------------------------------------- - -void CLoadGenUtils::SettingItemToSourceDescription(TInt aIndex, TDes& aBuf) - { - switch ( aIndex ) - { - case EMemoryEatSourceTypeRAM: - { - aBuf.Append(_L("RAM")); break; - } - case EMemoryEatSourceTypeDriveC: - { - aBuf.Append(_L("C:")); break; - } - case EMemoryEatSourceTypeDriveD: - { - aBuf.Append(_L("D:")); break; - } - case EMemoryEatSourceTypeDriveE: - { - aBuf.Append(_L("E:")); break; - } - case EMemoryEatSourceTypeDriveF: - { - aBuf.Append(_L("F:")); break; - } - case EMemoryEatSourceTypeDriveG: - { - aBuf.Append(_L("G:")); break; - } - case EMemoryEatSourceTypeDriveH: - { - aBuf.Append(_L("H:")); break; - } - case EMemoryEatSourceTypeDriveI: - { - aBuf.Append(_L("I:")); break; - } - case EMemoryEatSourceTypeDriveJ: - { - aBuf.Append(_L("J:")); break; - } - case EMemoryEatSourceTypeDriveK: - { - aBuf.Append(_L("K:")); break; - } - case EMemoryEatSourceTypeDriveL: - { - aBuf.Append(_L("L:")); break; - } - case EMemoryEatSourceTypeDriveM: - { - aBuf.Append(_L("M:")); break; - } - case EMemoryEatSourceTypeDriveN: - { - aBuf.Append(_L("N:")); break; - } - - default: - { - User::Panic(_L("Wrong src index"), 278); - break; - } - } - } - -// -------------------------------------------------------------------------------------------- - -TInt CLoadGenUtils::MilliSecondsToMicroSeconds(TInt aMilliSeconds, TInt aRandomVariance) - { - __ASSERT_ALWAYS(aRandomVariance >= 0 && aRandomVariance <= 100, User::Panic(_L("Inv.var."), 180)); - __ASSERT_ALWAYS(aMilliSeconds >=0, User::Panic(_L("Inv.ms."), 181)); - - // if no variance defined, just do a quick conversion - if (aRandomVariance == 0 || aMilliSeconds == 0) - return aMilliSeconds * 1000; - - // otherwise calculate difference - TInt diff = 1000 * aMilliSeconds / 2 * aRandomVariance / 100; - - return RandomNumber(aMilliSeconds*1000-diff, aMilliSeconds*1000+diff); - } - -// -------------------------------------------------------------------------------------------- - -TInt CLoadGenUtils::RandomNumber(TInt aMin, TInt aMax) - { - TInt range = (aMax > aMin ? aMax - aMin : aMin - aMax) + 1; - TInt random = (TInt) (range * Math::FRand(iRandomNumberSeed)); - - random = (random % range) + aMin; - - if (random > aMax) - random = aMax; - else if (random < aMin) - random = aMin; - - return random; - } - -// -------------------------------------------------------------------------------------------- - -TSize CLoadGenUtils::ScreenSize() - { - TInt x = 0; - TInt y = 0; - HAL::Get(HALData::EDisplayXPixels, x); - HAL::Get(HALData::EDisplayYPixels, y); - return TSize(x, y); - }