diff -r f92a4f87e424 -r 012cc2ee6408 usbmgmt/usbmgr/device/classdrivers/ncm/classimplementation/ncmpktdrv/pktdrv/src/ncmntbbuildsimplepolicy.cpp --- a/usbmgmt/usbmgr/device/classdrivers/ncm/classimplementation/ncmpktdrv/pktdrv/src/ncmntbbuildsimplepolicy.cpp Tue Aug 31 17:01:47 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,160 +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: -* implementation for simple NTB build policy -* -*/ - - -/** -@file -@internalComponent -*/ - - -#include "ncmntbbuildsimplepolicy.h" -#include "ncmntbbuilder.h" -#include "ncmpktdrvcommon.h" -#include "OstTraceDefinitions.h" -#ifdef OST_TRACE_COMPILER_IN_USE -#include "ncmntbbuildsimplepolicyTraces.h" -#endif - - - -const TInt KMaxPacketsOfNtb = 10; -const TInt KMaxPacketDelay = 1000; -const TInt KMinFreeBuffers = 5; - - -_LIT(KSimPolicyPanic, "CNcmNtbBuildSimplePolicy"); -const TInt KTimerError = 1; - - -// ======== MEMBER FUNCTIONS ======== -// - - -CNcmNtbBuildPolicy* CNcmNtbBuildSimplePolicy::NewL(CNcmNtbBuilder& aNtbBuilder) - { - OstTraceFunctionEntry1( CNCMNTBBUILDSIMPLEPOLICY_NEWL_ENTRY, ( TUint )&( aNtbBuilder ) ); - CNcmNtbBuildSimplePolicy *self=new (ELeave) CNcmNtbBuildSimplePolicy(aNtbBuilder); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(); - OstTraceFunctionExit0( CNCMNTBBUILDSIMPLEPOLICY_NEWL_EXIT ); - return self; - } - -CNcmNtbBuildSimplePolicy::CNcmNtbBuildSimplePolicy(CNcmNtbBuilder& aNtbBuilder) - : CNcmNtbBuildPolicy(aNtbBuilder) - { - CActiveScheduler::Add(this); - } - -CNcmNtbBuildSimplePolicy::~CNcmNtbBuildSimplePolicy() - { - OstTraceFunctionEntry1( CNCMNTBBUILDSIMPLEPOLICY_CNCMNTBBUILDSIMPLEPOLICY_ENTRY, this ); - Cancel(); - iTimer.Close(); - OstTraceFunctionExit1( CNCMNTBBUILDSIMPLEPOLICY_CNCMNTBBUILDSIMPLEPOLICY_EXIT, this ); - } - -void CNcmNtbBuildSimplePolicy::DoCancel() - { - OstTraceFunctionEntry1( CNCMNTBBUILDSIMPLEPOLICY_DOCANCEL_ENTRY, this ); - iTimer.Cancel(); - iPacketsCount = 0; - OstTraceFunctionExit1( CNCMNTBBUILDSIMPLEPOLICY_DOCANCEL_EXIT, this ); - } - - -void CNcmNtbBuildSimplePolicy::ConstructL() - { - User::LeaveIfError(iTimer.CreateLocal()); - } - -void CNcmNtbBuildSimplePolicy::RunL() - { - OstTraceFunctionEntry1( CNCMNTBBUILDSIMPLEPOLICY_RUNL_ENTRY, this ); - OstTrace1( TRACE_NORMAL, CNCMNTBBUILDSIMPLEPOLICY_RUNL, "CNcmNtbBuildSimplePolicy::RunL Status=%d", iStatus.Int() ); - - if(iStatus.Int() != KErrNone) - { - User::Panic(KSimPolicyPanic, KTimerError); - OstTraceFunctionExit1( CNCMNTBBUILDSIMPLEPOLICY_RUNL_EXIT, this ); - return; - } - - if (iPacketsCount > 0) - { - iNtbBuilder.CompleteNtbBuild(); - } - OstTraceFunctionExit1( CNCMNTBBUILDSIMPLEPOLICY_RUNL_EXIT_DUP1, this ); - } - -void CNcmNtbBuildSimplePolicy::CompleteNtbBuild() - { - OstTraceFunctionEntry1( CNCMNTBBUILDSIMPLEPOLICY_COMPLETENTBBUILD_ENTRY, this ); - - Cancel(); - iPacketsCount = 0; - OstTraceFunctionExit1( CNCMNTBBUILDSIMPLEPOLICY_COMPLETENTBBUILD_EXIT, this ); - } - - -void CNcmNtbBuildSimplePolicy::StartNewNtb() - { - OstTraceFunctionEntry1( CNCMNTBBUILDSIMPLEPOLICY_STARTNEWNTB_ENTRY, this ); - OstTraceFunctionExit1( CNCMNTBBUILDSIMPLEPOLICY_STARTNEWNTB_EXIT, this ); - } - -void CNcmNtbBuildSimplePolicy::UpdateNtb(TInt aSize) - { - OstTraceFunctionEntryExt( CNCMNTBBUILDSIMPLEPOLICY_UPDATENTB_ENTRY, this ); - OstTrace1( TRACE_NORMAL, CNCMNTBBUILDSIMPLEPOLICY_UPDATENTB, "CNcmNtbBuildSimplePolicy::UpdateNtb aSize=%d", aSize ); - - if (iPacketsCount == 0) - { - iStatus = KRequestPending; - iTimer.After(iStatus, KMaxPacketDelay); - SetActive(); - } - - if (KMaxPacketsOfNtb <= ++iPacketsCount && aSize >= iBufferSize/2) - { - iNtbBuilder.CompleteNtbBuild(); - } - else if (iFreeBufferCount >= KMinFreeBuffers && aSize >= iBufferSize/8) - { - iNtbBuilder.CompleteNtbBuild(); - } - OstTraceFunctionExit1( CNCMNTBBUILDSIMPLEPOLICY_UPDATENTB_EXIT, this ); - } - -void CNcmNtbBuildSimplePolicy::UpdateBufferSize(TInt aSize) - { - iBufferSize = aSize; - } - -void CNcmNtbBuildSimplePolicy::UpdateFreeBufferCount(TInt aCount) - { - iFreeBufferCount = aCount; - } - -void CNcmNtbBuildSimplePolicy::UpdateTotalBufferCount(TInt aCount) - { - iTotalBufferCount = aCount; - } -