summaryrefslogtreecommitdiff
path: root/examples/Web_Crawler/Caching_Strategies_T.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/Web_Crawler/Caching_Strategies_T.cpp')
-rw-r--r--examples/Web_Crawler/Caching_Strategies_T.cpp80
1 files changed, 34 insertions, 46 deletions
diff --git a/examples/Web_Crawler/Caching_Strategies_T.cpp b/examples/Web_Crawler/Caching_Strategies_T.cpp
index 8bb86f1f730..9ae98e798b7 100644
--- a/examples/Web_Crawler/Caching_Strategies_T.cpp
+++ b/examples/Web_Crawler/Caching_Strategies_T.cpp
@@ -6,7 +6,7 @@
#include "Caching_Strategies_T.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
-#define ACE_LACKS_PRAGMA_ONCE
+#define ACE_LACKS_PRAGMA_ONCE
#endif /* ACE_LACKS_PRAGMA_ONCE */
#if !defined (__ACE_INLINE__)
@@ -16,10 +16,10 @@
ACE_RCSID(Web_Crawler, Caching_Strategies_T, "$Id$")
template<class CONTAINER> int
-ACE_LRU_Caching_Strategy<CONTAINER>::clear_cache (CONTAINER &container)
+ACE_LRU_Caching_Strategy<CONTAINER>::clear_cache (CONTAINER &container)
{
// Check that the purge_percent is non-zero.
- if (this->purge_percent_ == 0)
+ if (purge_percent_ == 0)
return 0;
// Also whether the number of entries in the cache is just one!
@@ -29,22 +29,17 @@ ACE_LRU_Caching_Strategy<CONTAINER>::clear_cache (CONTAINER &container)
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
+ // 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)
@@ -59,9 +54,9 @@ ACE_LRU_Caching_Strategy<CONTAINER>::clear_cache (CONTAINER &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.next (item) != 0 ;
++iter)
{
// Ah! an item with lower ATTTRIBUTES...
@@ -72,31 +67,23 @@ ACE_LRU_Caching_Strategy<CONTAINER>::clear_cache (CONTAINER &container)
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.
+ // Remove the item from cache.
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;
+ return result;
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -114,17 +101,17 @@ ACE_LFU_Caching_Strategy<CONTAINER>::clear_cache (CONTAINER &container)
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
+ // 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)
@@ -132,13 +119,13 @@ ACE_LFU_Caching_Strategy<CONTAINER>::clear_cache (CONTAINER &container)
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)
@@ -152,22 +139,22 @@ ACE_LFU_Caching_Strategy<CONTAINER>::clear_cache (CONTAINER &container)
}
}
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.
+ // 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;
+ return result;
}
@@ -186,9 +173,9 @@ ACE_FIFO_Caching_Strategy<CONTAINER>::clear_cache (CONTAINER &container)
KEY key_to_remove;
VALUE value_to_remove;
-
+
ITEM *item = 0;
-
+
ATTRIBUTES min = 0;
// Return value.
@@ -196,7 +183,7 @@ ACE_FIFO_Caching_Strategy<CONTAINER>::clear_cache (CONTAINER &container)
// 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
+ // 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)
@@ -223,23 +210,23 @@ ACE_FIFO_Caching_Strategy<CONTAINER>::clear_cache (CONTAINER &container)
}
}
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.
+ // 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;
-
+ return result;
+
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -257,3 +244,4 @@ 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 */
+