NAME

ACE_LFU_Caching_Strategy - Defines a Least Frequently Used strategy for which will decide on the item to be removed from the cache.

SYNOPSIS

#include <ace/Caching_Strategies_T.h>

template<class ATTRIBUTES, class CACHING_UTILITY> class ACE_LFU_Caching_Strategy { public: typedef ATTRIBUTES CACHING_ATTRIBUTES; ACE_LFU_Caching_Strategy (void); ATTRIBUTES attributes (void); double purge_percent (void); void purge_percent (double percentage); int notify_bind (int result, const ATTRIBUTES &attr); int notify_find (int result, ATTRIBUTES &attr); int notify_unbind (int result, const ATTRIBUTES &attr); int notify_trybind (int result, ATTRIBUTES &attr); int notify_rebind (int result, const ATTRIBUTES &attr); CACHING_UTILITY &caching_utility (void); void dump (void) const; private: double purge_percent_; CACHING_UTILITY caching_utility_; };

DESCRIPTION

A attribute is tagged to each item which increments whenever the item is bound or looked up in the cache. Thus it denotes the frequency of use. According to the value of the attribute the item is removed from the CONTAINER i.e cache.

Explanation of the template parameter list: CONTAINER is any map with entries of type KEY, VALUE. The ATTRIBUTES are the deciding factor for purging of entries and should logically be included with the VALUE. Some ways of doing this are: As being a member of the VALUE or VALUE being ACE_Pairx, ATTRIBUTES. The CACHING_UTILITY is the class which can be plugged in and which decides the entries to purge.

Initialisation and termination methods.

ACE_LFU_Caching_Strategy (void);

Strategy methods.

ATTRIBUTES attributes (void);

Accessor methods for the percentage of entries to purge.

double purge_percent (void);

void purge_percent (double percentage);

= Strategy related Operations

int notify_bind (int result, const ATTRIBUTES &attr);

int notify_find (int result, ATTRIBUTES &attr);

int notify_unbind (int result, const ATTRIBUTES &attr);

int notify_trybind (int result, ATTRIBUTES &attr);

int notify_rebind (int result, const ATTRIBUTES &attr);

CACHING_UTILITY &caching_utility (void);

void dump (void) const;

AUTHOR

Kirthika Parameswaran kirthika@cs.wustl.edu

LIBRARY

ace