ACE_Handler_Cleanup_Strategy< KEY, VALUE, CONTAINER > Class Template Reference

Defines a strategy to be followed for cleaning up entries which are svc_handlers from a container. More...

#include <Cleanup_Strategies_T.h>

Inheritance diagram for ACE_Handler_Cleanup_Strategy< KEY, VALUE, CONTAINER >:

Inheritance graph
[legend]
Collaboration diagram for ACE_Handler_Cleanup_Strategy< KEY, VALUE, CONTAINER >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual int cleanup (CONTAINER &container, KEY *key, VALUE *value)
 The method which will do the cleanup of the entry in the container.


Detailed Description

template<class KEY, class VALUE, class CONTAINER>
class ACE_Handler_Cleanup_Strategy< KEY, VALUE, CONTAINER >

Defines a strategy to be followed for cleaning up entries which are svc_handlers from a container.

The entry to be cleaned up is removed from the container. Here, since we are dealing with svc_handlers specifically, we perform a couple of extra operations.

Note:
This cleanup strategy should be used in the case when the handler has the caching attributes.

Definition at line 114 of file Cleanup_Strategies_T.h.


Member Function Documentation

template<class KEY, class VALUE, class CONTAINER>
int ACE_Handler_Cleanup_Strategy< KEY, VALUE, CONTAINER >::cleanup CONTAINER &  container,
KEY *  key,
VALUE *  value
[virtual]
 

The method which will do the cleanup of the entry in the container.

Reimplemented from ACE_Cleanup_Strategy< KEY, VALUE, CONTAINER >.

Definition at line 65 of file Cleanup_Strategies_T.cpp.

00069 {
00070   // Remove the item from cache only if the handler isnt in use.
00071   if ((*value)->active () == 0)
00072     {
00073       (*value)->close ();
00074 
00075       if (container.unbind (*key) == -1)
00076         return -1;
00077 
00078     }
00079 
00080   return 0;
00081 }


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:22:49 2006 for ACE by doxygen 1.3.6