diff options
author | kirthika <kirthika@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-06-03 22:02:55 +0000 |
---|---|---|
committer | kirthika <kirthika@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-06-03 22:02:55 +0000 |
commit | 9a8ab94497b929272d3467467aba119e7b0eb49c (patch) | |
tree | 73059a915b69d59c59e1cfdfebdfd08140277b66 /examples | |
parent | a5767a6781b1f9d52ac91eb57ddfed8a30775b18 (diff) | |
download | ATCD-9a8ab94497b929272d3467467aba119e7b0eb49c.tar.gz |
removed and added ace lib
Diffstat (limited to 'examples')
-rw-r--r-- | examples/Web_Crawler/Caching_Strategies_T.cpp | 259 |
1 files changed, 0 insertions, 259 deletions
diff --git a/examples/Web_Crawler/Caching_Strategies_T.cpp b/examples/Web_Crawler/Caching_Strategies_T.cpp deleted file mode 100644 index 8bb86f1f730..00000000000 --- a/examples/Web_Crawler/Caching_Strategies_T.cpp +++ /dev/null @@ -1,259 +0,0 @@ -//$Id$ - -#ifndef CACHING_STRATEGIES_T_C -#define CACHING_STRATEGIES_T_C - -#include "Caching_Strategies_T.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -#define ACE_LACKS_PRAGMA_ONCE -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#if !defined (__ACE_INLINE__) -#include "Caching_Strategies_T.i" -#endif /* __ACE_INLINE__ */ - -ACE_RCSID(Web_Crawler, Caching_Strategies_T, "$Id$") - -template<class CONTAINER> int -ACE_LRU_Caching_Strategy<CONTAINER>::clear_cache (CONTAINER &container) -{ - // Check that the purge_percent is non-zero. - if (this->purge_percent_ == 0) - return 0; - - // Also whether the number of entries in the cache is just one! - // Oops! then thers no way out but exiting. So return an error. - if (this->entries_ == 1) - return -1; - - KEY key_to_remove; - VALUE value_to_remove; - - ITEM *item = 0; - - ATTRIBUTES min = 0; - - // Return value. - int result = 0; - - // Calculate the no of entries to remove form the cache depending - // upon the <purge_percent>. - int no_of_entries = (this->purge_percent_ / 100) * this->entries_; - - // @@ Don't do this stuff below. Simply take the ceiling of the - // above <no_of_entries>. - - // If the number of entries is less than 10 with the default percent - // being 10, the calculated no_pf_entries equals 0. So increment it - // so that atleast one entry gets purged. - if (no_of_entries == 0) - { - if (container.current_size () >= 1) - no_of_entries = 1; - } - - for (int i = 0; i < no_of_entries ; ++i) - { - ITERATOR iter (container); - - // The iterator moves thru the container searching for the entry with the - // lowest ATTRIBUTES. - - for (min = (*iter).int_id_.second (), key_to_remove = (*iter).ext_id_, value_to_remove = (*iter).int_id_; - iter.next (item) != 0; - ++iter) - { - // Ah! an item with lower ATTTRIBUTES... - if (min > (*iter).int_id_.second ()) - { - min = (*iter).int_id_.second (); - key_to_remove = (*iter).ext_id_; - value_to_remove = (*iter).int_id_; - } - } - - // @@ Remove this - ACE_DEBUG ((LM_DEBUG, "AUTO_PURGE\nLRU: before unbind: current_size %d\n", container.current_size ())); - - // @@ Remove this svc_handler specific code!! - - // Delete the dynamically allocated value object. - if (value_to_remove.first () != 0) - { - (value_to_remove.first ())->recycler (0, 0); - - result = (value_to_remove.first ())->close(); - if (result == -1) - return result; - } - // Remove the item from cache. - - // @@ What happens to this result? You should stop on failure. - result = container.unbind (key_to_remove); - --this->entries_; - - // @@ Remove this - ACE_DEBUG ((LM_DEBUG, "LRU:after unbind: result %d current_size %d\n", result, container.current_size ())); - } - return result; -} - -//////////////////////////////////////////////////////////////////////////////////////////////// -template<class CONTAINER> int -ACE_LFU_Caching_Strategy<CONTAINER>::clear_cache (CONTAINER &container) -{ - // Check that the purge_percent is non-zero. - if (purge_percent_ == 0) - return 0; - - // Also whether the number of entries in the cache is just one! - // Oops! then thers no way out but exiting. So return an error. - if (this->entries_ == 1) - return -1; - - KEY key_to_remove; - VALUE value_to_remove; - - ITEM *item = 0; - - ATTRIBUTES min = 0; - - // Return value. - int result = 0; - - // Calculate the no of entries to remove form the cache depending upon the <purge_percent>. - int no_of_entries = (this->purge_percent_/100) * this->entries_; - // If the number of entries is less than 10 with the default percent - // being 10, the calculated no_pf_entries equals 0. So increment it - // so that atleast one entry gets purged. - if (no_of_entries == 0) - { - if (container.current_size () >= 1) - no_of_entries = 1; - } - - for (int i = 0; i < no_of_entries ; ++i) - { - ITERATOR iter (container); - // The iterator moves thru the container searching for the entry with the - // lowest ATTRIBUTES. - - for (min = (*iter).int_id_.second (), key_to_remove = (*iter).ext_id_, value_to_remove = (*iter).int_id_; - iter.next (item) != 0 ; - ++iter) - { - // Ah! an item with lower ATTTRIBUTES... - if (min > (*iter).int_id_.second ()) - { - min = (*iter).int_id_.second (); - key_to_remove = (*iter).ext_id_; - value_to_remove = (*iter).int_id_; - } - } - ACE_DEBUG ((LM_DEBUG, "AUTO_PURGE\nLFU: before unbind: current_size %d\n", container.current_size ())); - - // Delete the dynamically allocated value object. - if (value_to_remove.first () != 0) - { - (value_to_remove.first ())->recycler (0, 0); - - result = (value_to_remove.first ())->close(); - if (result == -1) - return result; - } - // Remove the item from cache. - result = container.unbind (key_to_remove); - --this->entries_; - ACE_DEBUG ((LM_DEBUG, "LFU:after unbind: result %d current_size %d\n", result, container.current_size ())); - } - return result; - -} - -//////////////////////////////////////////////////////////////////////////////////////////////// -template<class CONTAINER> int -ACE_FIFO_Caching_Strategy<CONTAINER>::clear_cache (CONTAINER &container) -{ - // Check that the purge_percent is non-zero. - if (this->purge_percent_ == 0) - return 0; - - // Also whether the number of entries in the cache is just one! - // Oops! then thers no way out but exiting. So return an error. - if (this->entries_ == 1) - return -1; - - KEY key_to_remove; - VALUE value_to_remove; - - ITEM *item = 0; - - ATTRIBUTES min = 0; - - // Return value. - int result = 0; - - // Calculate the no of entries to remove form the cache depending upon the <purge_percent>. - int no_of_entries = (this->purge_percent_/100) * this->entries_; - // If the number of entries is less than 10 with the default percent - // being 10, the calculated no_pf_entries equals 0. So increment it - // so that atleast one entry gets purged. - if (no_of_entries == 0) - { - if (container.current_size () >= 1) - no_of_entries = 1; - } - - for (int i = 0; i < no_of_entries ; ++i) - { - ITERATOR iter (container); - // The iterator moves thru the container searching for the entry with the - // lowest ATTRIBUTES. - for (min = (*iter).int_id_.second (), key_to_remove = (*iter).ext_id_, value_to_remove = (*iter).int_id_; - iter.next (item) != 0 ; - ++iter) - { - // Ah! an item with lower ATTTRIBUTES... - if (min > (*iter).int_id_.second ()) - { - min = (*iter).int_id_.second (); - key_to_remove = (*iter).ext_id_; - value_to_remove = (*iter).int_id_; - } - } - ACE_DEBUG ((LM_DEBUG, "AUTO_PURGE\nFIFO: before unbind: current_size %d\n", container.current_size ())); - - // Delete the dynamically allocated value object. - if (value_to_remove.first () != 0) - { - (value_to_remove.first ())->recycler (0, 0); - - result = (value_to_remove.first ())->close(); - if (result == -1) - return result; - } - // Remove the item from cache. - result = container.unbind (key_to_remove); - --this->entries_; - ACE_DEBUG ((LM_DEBUG, "FIFO:after unbind: result %d current_size %d\n", result, container.current_size ())); - } - return result; - -} - -//////////////////////////////////////////////////////////////////////////////////////////////// - -template<class CONTAINER> int -ACE_Null_Caching_Strategy<CONTAINER>::clear_cache (CONTAINER &container) -{ - return 0; -} - -/////////////////////////////////////////////////////////////////////////////////////////////// - -ACE_ALLOC_HOOK_DEFINE(ACE_LRU_Caching_Strategy) -ACE_ALLOC_HOOK_DEFINE(ACE_LFU_Caching_Strategy) -ACE_ALLOC_HOOK_DEFINE(ACE_FIFO_Caching_Strategy) -ACE_ALLOC_HOOK_DEFINE(ACE_Null_Caching_Strategy) -#endif /* CACHING_STRATEGIES_T_C */ |