3 // ================================================================
5 * @file Connection_Purging_Strategy.h
7 * @author Chad Elliott (elliott_c@ociweb.com)
9 // ================================================================
11 #ifndef TAO_PURGING_STRATEGY_H
12 #define TAO_PURGING_STRATEGY_H
14 #include /**/ "ace/pre.h"
16 #include /**/ "tao/TAO_Export.h"
18 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 #endif /* ACE_LACKS_PRAGMA_ONCE */
22 #include /**/ "tao/Versioned_Namespace.h"
24 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
28 // ****************************************************************
31 * @class TAO_Connection_Purging_Strategy
33 * @brief The base class for all purging strategies
35 * This class is used by the Transport_Cache_Manager to maintain
36 * ordering information on each Transport that is created.
38 class TAO_Export TAO_Connection_Purging_Strategy
42 TAO_Connection_Purging_Strategy (int cache_maximum
);
45 virtual ~TAO_Connection_Purging_Strategy ();
47 /// Return the maximum number of cache entries
48 virtual int cache_maximum () const;
50 /// Sub-classes must implement these methods
51 virtual void update_item (TAO_Transport
& transport
) = 0;
54 /// The maximum number of cache entries
58 TAO_END_VERSIONED_NAMESPACE_DECL
60 #if defined (__ACE_INLINE__)
61 # include "tao/Connection_Purging_Strategy.inl"
62 #endif /* __ACE_INLINE__ */
64 #include /**/ "ace/post.h"
65 #endif /* TAO_PURGING_STRATEGY_H */