ACE_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES > Class Template Reference

Defines a helper class for the Caching Strategies. More...

#include <Caching_Utility_T.h>

Collaboration diagram for ACE_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef
ACE_Recyclable_Handler_Cleanup_Strategy
< KEY, VALUE, CONTAINER > 
CLEANUP_STRATEGY
typedef ACE_Cleanup_Strategy
< KEY, VALUE, CONTAINER > 
CLEANUP_STRATEGY_BASE

Public Member Functions

 ACE_Recyclable_Handler_Caching_Utility (ACE_Cleanup_Strategy< KEY, VALUE, CONTAINER > *cleanup_strategy=0, int delete_cleanup_strategy=0)
 Constructor.
 ~ACE_Recyclable_Handler_Caching_Utility (void)
 Destructor.
int clear_cache (CONTAINER &container, double purge_percent)

Protected Member Functions

void minimum (CONTAINER &container, KEY *&key_to_remove, VALUE *&value_to_remove)
 Find the entry with minimum caching attributes.

Protected Attributes

CLEANUP_STRATEGY_BASEcleanup_strategy_
 This is the default Cleanup Strategy for this utility.
int delete_cleanup_strategy_
 Whether the cleanup_strategy should be destroyed or not.

Private Member Functions

void operator= (const ARHUTIL< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES > &)
 ARHUTIL (const ARHUTIL< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES > &)


Detailed Description

template<class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES>
class ACE_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >

Defines a helper class for the Caching Strategies.

This class defines the methods commonly used by the different caching strategies. For instance: <clear_cache> method which decides and purges the entry from the container.

Note:
This class helps in the caching_strategies using a container containing entries of <KEY, Svc_Handler> kind. The attributes helps in deciding the entries to be purged. The Cleanup_Strategy is the callback class to which the entries to be cleaned up will be delegated.

Member Typedef Documentation

template<class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES>
typedef ACE_Recyclable_Handler_Cleanup_Strategy<KEY, VALUE, CONTAINER> ACE_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::CLEANUP_STRATEGY

template<class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES>
typedef ACE_Cleanup_Strategy<KEY, VALUE, CONTAINER> ACE_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::CLEANUP_STRATEGY_BASE


Constructor & Destructor Documentation

template<class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES>
ACE_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::ACE_Recyclable_Handler_Caching_Utility ( ACE_Cleanup_Strategy< KEY, VALUE, CONTAINER > *  cleanup_strategy = 0,
int  delete_cleanup_strategy = 0 
) [inline]

Constructor.

template<class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES>
ACE_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::~ACE_Recyclable_Handler_Caching_Utility ( void   )  [inline]

Destructor.


Member Function Documentation

template<class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES>
int ACE_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::clear_cache ( CONTAINER &  container,
double  purge_percent 
) [inline]

Purge entries from the <container>. The Cleanup_Strategy will do the actual job of cleanup once the entries to be cleaned up are decided.

template<class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES>
void ACE_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::minimum ( CONTAINER &  container,
KEY *&  key_to_remove,
VALUE *&  value_to_remove 
) [inline, protected]

Find the entry with minimum caching attributes.

template<class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES>
void ACE_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::operator= ( const ARHUTIL< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES > &   )  [private]

template<class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES>
ACE_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::ARHUTIL ( const ARHUTIL< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES > &   )  [private]


Member Data Documentation

template<class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES>
CLEANUP_STRATEGY_BASE* ACE_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::cleanup_strategy_ [protected]

This is the default Cleanup Strategy for this utility.

template<class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES>
int ACE_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::delete_cleanup_strategy_ [protected]

Whether the cleanup_strategy should be destroyed or not.


The documentation for this class was generated from the following files:
Generated on Thu Feb 21 03:09:31 2008 for ACE by  doxygen 1.5.3-6