Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

# 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>`

List of all members.

## 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, int delete_cleanup_strategy=0)
| Constructor.
| ~ACE_Refcounted_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_BASE * | cleanup_strategy_
| This is the default Cleanup Strategy for this utility.
int | delete_cleanup_strategy_
| Whether the cleanup_strategy should be destroyed or not.
size_t | marked_as_closed_entries_
## Private Member Functions
void | operator= (const ARRHUTIL< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES > &)
| ARRHUTIL (const ARRHUTIL< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES > &)

## 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`,
|  | int | delete_cleanup_strategy = `0`
| ) |

| 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>
ACE_Refcounted_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::ARRHUTIL | ( | const ARRHUTIL< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES > & |  | ) | `[private]`

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.

template<class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES>
void ACE_Refcounted_Recyclable_Handler_Caching_Utility< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES >::operator= | ( | const ARRHUTIL< KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES > & |  | ) | `[private]`

## 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>
int 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:

- Caching_Utility_T.h
- Caching_Utility_T.cpp