CCustomResolverCache Class Reference
| class CCustomResolverCache : public CTimer |
Handles caching custom resolvers
Constructor & Destructor Documentation
CCustomResolverCache(TUint32)
| CCustomResolverCache | ( | TUint32 | aCacheSize | ) | [private] |
Parameters
| TUint32 aCacheSize | Maximum number of entries allowed to cache. |
~CCustomResolverCache()
| ~CCustomResolverCache | ( | ) | [virtual] |
Member Functions Documentation
CacheLookup(const TUid, TProxyNewLPtr &)
Search for a resolverUID. If found, return the NewL pointer and update time to live of the entry.
- Post-condition
- If cache hit, the timestamp of the entry is updated.
Parameters
| const TUid aResolverUid | the resolver to lookup |
| TProxyNewLPtr & aNewLFuncPtr | output parameter. If lookup successful it has the function pointer to instantiate the resolver. |
CacheResolver(const TUid, RLibrary, TProxyNewLPtr, TUint32)
Add a resolver library to cache
Parameters
| const TUid aResolverUid | Implementation UID of the resolver. |
| RLibrary aLib | The RLibrary object which has the resolver loaded. The handle of the RLibrary is owned by the cache if call is successful. |
| TProxyNewLPtr aNewL | value for the iNewLFuncPtr member data of RResolverCacheEntry. |
| TUint32 aFlags | value for the iFlags member data of RResolverCacheEntry. |
CachingEnabled()
|
TBool
| CachingEnabled | ( | ) | const |
Check if both queue size and cache timeout are non zero
ConstructL(TUint32)
| void | ConstructL | ( | TUint32 | aCacheTimeout | ) | [private] |
Standard two phase construction to complete construction of the
CCustomResolverCache object.
- leave
- Any of the system wide error codes.
Parameters
| TUint32 aCacheTimeout | Cache timeout in microseconds. |
EvictLeastRecentlyUsed()
| void | EvictLeastRecentlyUsed | ( | ) | [private] |
evict the least recently used entry in cache
FindResolver(const TUid)
|
TInt
| FindResolver | ( | const TUid | aResolverUid | ) | const [private] |
Search of a resolver UID in cache
Parameters
| const TUid aResolverUid | the resolver to search for. |
NewL(TUint32, TUint32)
Parameters
| TUint32 aCacheSize | Maximum number of entries allowed to cache. |
| TUint32 aCacheTimeout | Cache timeout in microseconds. |
Remove(const TUid)
Remove a resolver from cache.
Parameters
| const TUid aResolverUid | Identify the resolver to remove. |
Remove(TInt)
| void | Remove | ( | TInt | aIndex | ) | [private] |
Parameters
| TInt aIndex | position of entry in the array. |
RemoveItemsWithFlags(TUint32)
| void | RemoveItemsWithFlags | ( | TUint32 | aMask | ) | |
Remove cached entries with flags set.
Parameters
| TUint32 aMask | If an entry has any of the bits in aMask set, it is removed. |
RunL()
| void | RunL | ( | ) | [private, virtual] |
Implement the CActive RunL pure virtual
SetLastUseTime(RResolverCacheEntry &)
Set the iLastUse field and iLruRank field of the entry. The iLruRank field serves as tie breaker when two entries are added within the same tick period.
Member Data Documentation
TUint
iEntryTimeToLive
|
TUint
| iEntryTimeToLive | [private] |
cache timeout value. Unit is number of system ticks
TUint32
iMaxCacheSize
max. number of entries allowed in iResolvers
TUint
iMostRecentTimestamp
|
TUint
| iMostRecentTimestamp | [private] |
Keep track of youngest timestamp of cache entries. Use to detect if two entries have same timestamp.
RArray< RResolverCacheEntry > iResolvers
TInt
iSystemTickPeriod
|
TInt
| iSystemTickPeriod | [private] |
Store the system tick period as member data to avoid having to invoke HAL::Get() repeatedly.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.