ACE  6.3.3
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ACE_Refcounted_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>

Inheritance diagram for ACE_Refcounted_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >:
Inheritance graph
[legend]
Collaboration diagram for ACE_Refcounted_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >:
Collaboration graph
[legend]

Public Types

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

Public Member Functions

 ACE_Refcounted_Recyclable_Handler_Caching_Utility (ACE_Cleanup_Strategy< KEY, VALUE, CONTAINER > *cleanup_strategy=0, bool delete_cleanup_strategy=false)
 Constructor. More...
 
 ~ACE_Refcounted_Recyclable_Handler_Caching_Utility (void)
 Destructor. More...
 
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. More...
 

Protected Attributes

CLEANUP_STRATEGY_BASEcleanup_strategy_
 This is the default Cleanup Strategy for this utility. More...
 
bool delete_cleanup_strategy_
 Whether the cleanup_strategy should be destroyed or not. More...
 
size_t marked_as_closed_entries_
 

Additional Inherited Members

- Private Member Functions inherited from ACE_Copy_Disabled
 ACE_Copy_Disabled (void)
 Default constructor. More...
 

Detailed Description

template<class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES>
class ACE_Refcounted_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 <Refcounted_KEY, Recyclable_Connection_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_Refcounted_Recyclable_Handler_Cleanup_Strategy<KEY, VALUE, CONTAINER> ACE_Refcounted_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_Refcounted_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_Refcounted_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::ACE_Refcounted_Recyclable_Handler_Caching_Utility ( ACE_Cleanup_Strategy< KEY, VALUE, CONTAINER > *  cleanup_strategy = 0,
bool  delete_cleanup_strategy = false 
)

Constructor.

template<class KEY , class VALUE , class CONTAINER , class ITERATOR , class ATTRIBUTES >
ACE_Refcounted_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::~ACE_Refcounted_Recyclable_Handler_Caching_Utility ( void  )

Destructor.

Member Function Documentation

template<class KEY , class VALUE , class CONTAINER , class ITERATOR , class ATTRIBUTES >
int ACE_Refcounted_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::clear_cache ( CONTAINER &  container,
double  purge_percent 
)

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_Refcounted_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::minimum ( CONTAINER &  container,
KEY *&  key_to_remove,
VALUE *&  value_to_remove 
)
protected

Find the entry with minimum caching attributes.

Member Data Documentation

template<class KEY , class VALUE , class CONTAINER , class ITERATOR , class ATTRIBUTES >
CLEANUP_STRATEGY_BASE* ACE_Refcounted_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 >
bool ACE_Refcounted_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::delete_cleanup_strategy_
protected

Whether the cleanup_strategy should be destroyed or not.

template<class KEY , class VALUE , class CONTAINER , class ITERATOR , class ATTRIBUTES >
size_t ACE_Refcounted_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::marked_as_closed_entries_
protected

This figure denotes the number of entries are there in the container which have been marked as closed already but might not have been unbound from the container.


The documentation for this class was generated from the following files: