diff options
Diffstat (limited to 'ace/Caching_Utility_T.h')
-rw-r--r-- | ace/Caching_Utility_T.h | 307 |
1 files changed, 0 insertions, 307 deletions
diff --git a/ace/Caching_Utility_T.h b/ace/Caching_Utility_T.h deleted file mode 100644 index 17db3a5b081..00000000000 --- a/ace/Caching_Utility_T.h +++ /dev/null @@ -1,307 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// ace -// -// = FILENAME -// Caching_Utility_T.h -// -// = AUTHOR -// Kirthika Parameswaran <kirthika@cs.wustl.edu> -// -// ============================================================================ - -#ifndef CACHING_UTILITY_H -#define CACHING_UTILITY_H -#include "ace/pre.h" - -#include "ace/OS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#define ACE_LACKS_PRAGMA_ONCE -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Cleanup_Strategies_T.h" - -// For linkers that cant grok long names. -#define ACE_Pair_Caching_Utility APUTIL - -template <class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES> -class ACE_Pair_Caching_Utility -{ - // = TITLE - // Defines a helper class for the Caching Strategies. - // - // = DESCRIPTION - // 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, ACE_Pair<VALUE, attributes>> - // 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. -public: - - typedef ACE_Cleanup_Strategy<KEY, VALUE, CONTAINER> CLEANUP_STRATEGY; - - ACE_Pair_Caching_Utility (ACE_Cleanup_Strategy<KEY, VALUE, CONTAINER> *cleanup_strategy = 0, - int delete_cleanup_strategy = 0); - - // Constructor. - - ~ACE_Pair_Caching_Utility (void); - // Destructor. - - int 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. - -protected: - - void minimum (CONTAINER &container, - KEY *&key_to_remove, - VALUE *&value_to_remove); - // Find the entry with minimum caching attributes. - - CLEANUP_STRATEGY *cleanup_strategy_; - // The cleanup strategy which can be used to destroy the entries of - // the container. - - int delete_cleanup_strategy_; - // Whether the cleanup_strategy should be destroyed or not. -}; - -//////////////////////////////////////////////////////////////////////////////// -#define ACE_Recyclable_Handler_Caching_Utility ARHUTIL - -template <class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES> -class ACE_Recyclable_Handler_Caching_Utility -{ - // = TITLE - // Defines a helper class for the Caching Strategies. - // - // = DESCRIPTION - // 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. - -public: - - typedef ACE_Recyclable_Handler_Cleanup_Strategy<KEY, VALUE, CONTAINER> CLEANUP_STRATEGY; - typedef ACE_Cleanup_Strategy<KEY, VALUE, CONTAINER> CLEANUP_STRATEGY_BASE; - - 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); - // Purge entries from the <container>. The Cleanup_Strategy will do - // the actual job of cleanup once the entries to be cleaned up are - // decided. - -protected: - - void minimum (CONTAINER &container, - KEY *&key_to_remove, - VALUE *&value_to_remove); - // Find the entry with minimum caching 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. - -}; - -//////////////////////////////////////////////////////////////////////////////////////// -#define ACE_Refcounted_Recyclable_Handler_Caching_Utility ARRHUTIL - -template <class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES> -class ACE_Refcounted_Recyclable_Handler_Caching_Utility -{ - // = TITLE - // Defines a helper class for the Caching Strategies. - // - // = DESCRIPTION - // 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. - -public: - - typedef ACE_Refcounted_Recyclable_Handler_Cleanup_Strategy<KEY, VALUE, CONTAINER> CLEANUP_STRATEGY; - typedef ACE_Cleanup_Strategy<KEY, VALUE, CONTAINER> CLEANUP_STRATEGY_BASE; - - 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); - // Purge entries from the <container>. The Cleanup_Strategy will do - // the actual job of cleanup once the entries to be cleaned up are - // decided. - -protected: - - void minimum (CONTAINER &container, - KEY *&key_to_remove, - VALUE *&value_to_remove); - // Find the entry with minimum caching 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_; - // 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. - -}; - -//////////////////////////////////////////////////////////////////////////////////////// - -template <class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES> -class ACE_Handler_Caching_Utility -{ - // = TITLE - // Defines a helper class for the Caching Strategies. - // - // = DESCRIPTION - // 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, HANDLER> kind where the HANDLER - // contains the caching attributes which help 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. -public: - - typedef ACE_Handler_Cleanup_Strategy<KEY, VALUE, CONTAINER> CLEANUP_STRATEGY; - typedef ACE_Cleanup_Strategy<KEY, VALUE, CONTAINER> CLEANUP_STRATEGY_BASE; - - ACE_Handler_Caching_Utility (ACE_Cleanup_Strategy<KEY, VALUE, CONTAINER> *cleanup_strategy = 0, - int delete_cleanup_strategy = 0); - // Constructor. - - ~ACE_Handler_Caching_Utility (void); - // Destructor. - - int 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. - -protected: - - void minimum (CONTAINER &container, - KEY *&key_to_remove, - VALUE *&value_to_remove); - // Find the entry with minimum caching attributes. This is handler - // specific since this utility is to be used very specifically for - // handler who have caching_attributes for server side acched - // connection management. - - CLEANUP_STRATEGY_BASE *cleanup_strategy_; - // The cleanup strategy which can be used to destroy the entries of - // the container. - - int delete_cleanup_strategy_; - // Whether the cleanup_strategy should be destroyed or not. - -}; - -/////////////////////////////////////////////////////////////////////////// -#define ACE_Null_Caching_Utility ANUTIL -template <class KEY, class VALUE, class CONTAINER, class ITERATOR, class ATTRIBUTES> -class ACE_Null_Caching_Utility -{ - // = TITLE - // Defines a dummy helper class for the Caching Strategies. - // - // = DESCRIPTION - // 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 is be used with the Null_Caching_Strategy. The - // Cleanup_Strategy is the callback class to which the entries to - // be cleaned up will be delegated. -public: - - typedef ACE_Null_Cleanup_Strategy<KEY, VALUE, CONTAINER> CLEANUP_STRATEGY; - typedef ACE_Cleanup_Strategy<KEY, VALUE, CONTAINER> CLEANUP_STRATEGY_BASE; - - ACE_Null_Caching_Utility (ACE_Cleanup_Strategy<KEY, VALUE, CONTAINER> *cleanup_strategy = 0, - int delete_cleanup_strategy = 0); - // Constructor. - - ~ACE_Null_Caching_Utility (void); - // Destructor. - - int 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. NOte: Here it is a no-op. - -protected: - - void minimum (CONTAINER &container, - KEY *&key_to_remove, - VALUE *&value_to_remove); - // Find the entry with minimum caching attributes. This is handler - // specific since this utility is to be used very specifically for - // handler who have caching_attributes for server side acched - // connection management.Note: Here it is a no-op. - - CLEANUP_STRATEGY_BASE *cleanup_strategy_; - // The cleanup strategy which can be used to destroy the entries of - // the container. - - int delete_cleanup_strategy_; - // Whether the cleanup_strategy should be destroyed or not. -}; - -#if defined (ACE_TEMPLATES_REQUIRE_SOURCE) -#include "ace/Caching_Utility_T.cpp" -#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ - -#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA) -#pragma implementation ("Caching_Utility_T.cpp") -#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */ - -#include "ace/post.h" -#endif /* CACHING_UTILITY_H */ |