summaryrefslogtreecommitdiff
path: root/TAO/tao/Strategies
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Strategies')
-rw-r--r--TAO/tao/Strategies/FIFO_Connection_Purging_Strategy.cpp34
-rw-r--r--TAO/tao/Strategies/FIFO_Connection_Purging_Strategy.h40
-rw-r--r--TAO/tao/Strategies/LFU_Connection_Purging_Strategy.cpp32
-rw-r--r--TAO/tao/Strategies/LFU_Connection_Purging_Strategy.h37
-rw-r--r--TAO/tao/Strategies/Makefile669
-rw-r--r--TAO/tao/Strategies/Makefile.bor5
-rw-r--r--TAO/tao/Strategies/NULL_Connection_Purging_Strategy.cpp46
-rw-r--r--TAO/tao/Strategies/NULL_Connection_Purging_Strategy.h45
-rw-r--r--TAO/tao/Strategies/SHMIOP_Connection_Handler.cpp5
-rw-r--r--TAO/tao/Strategies/SHMIOP_Connector.cpp16
-rw-r--r--TAO/tao/Strategies/TAO_Strategies.dsp12
-rw-r--r--TAO/tao/Strategies/TAO_Strategies_Static.dsp12
-rw-r--r--TAO/tao/Strategies/UIOP_Connection_Handler.cpp5
-rw-r--r--TAO/tao/Strategies/UIOP_Connector.cpp16
-rw-r--r--TAO/tao/Strategies/advanced_resource.cpp41
-rw-r--r--TAO/tao/Strategies/advanced_resource.h3
16 files changed, 886 insertions, 132 deletions
diff --git a/TAO/tao/Strategies/FIFO_Connection_Purging_Strategy.cpp b/TAO/tao/Strategies/FIFO_Connection_Purging_Strategy.cpp
new file mode 100644
index 00000000000..7393ac3ac7a
--- /dev/null
+++ b/TAO/tao/Strategies/FIFO_Connection_Purging_Strategy.cpp
@@ -0,0 +1,34 @@
+// $Id$
+
+#include "FIFO_Connection_Purging_Strategy.h"
+
+ACE_RCSID(tao, FIFO_Connection_Purging_Strategy, "$Id$")
+
+TAO_FIFO_Connection_Purging_Strategy::TAO_FIFO_Connection_Purging_Strategy (
+ TAO_Resource_Factory* rf)
+ : TAO_ULong_Connection_Purging_Strategy (rf),
+ order_ (0)
+{
+}
+
+
+TAO_FIFO_Connection_Purging_Strategy::~TAO_FIFO_Connection_Purging_Strategy ()
+{
+}
+
+
+void
+TAO_FIFO_Connection_Purging_Strategy::update_item_i (
+ TAO_DESCRIPTOR_INTERFACE* prop,
+ TAO_PURGING_CACHE_ITEM* item)
+{
+ TAO_Cache_ExtId ext_id (prop);
+ ATTRIBUTE_TYPE int_id (this->order_);
+ if (this->tracking_map ().find (ext_id, int_id) != 0)
+ {
+ this->tracking_map ().bind(ext_id, int_id);
+ this->order_++;
+ }
+}
+
+
diff --git a/TAO/tao/Strategies/FIFO_Connection_Purging_Strategy.h b/TAO/tao/Strategies/FIFO_Connection_Purging_Strategy.h
new file mode 100644
index 00000000000..fb43fc77533
--- /dev/null
+++ b/TAO/tao/Strategies/FIFO_Connection_Purging_Strategy.h
@@ -0,0 +1,40 @@
+// ================================================================
+/**
+ * @file FIFO_Connection_Purging_Strategy.h
+ *
+ * $Id$
+ *
+ * @author Chad Elliott (elliott_c@ociweb.com)
+ */
+// ================================================================
+
+#ifndef TAO_FIFO_PURGING_STRATEGY_H
+#define TAO_FIFO_PURGING_STRATEGY_H
+#include "ace/pre.h"
+
+#include "strategies_export.h"
+#include "tao/Connection_Purging_Strategy.h"
+
+class TAO_Strategies_Export TAO_FIFO_Connection_Purging_Strategy:
+ public TAO_ULong_Connection_Purging_Strategy
+{
+public:
+ /// The constructor
+ TAO_FIFO_Connection_Purging_Strategy (TAO_Resource_Factory* rf);
+
+ /// The destructor
+ virtual ~TAO_FIFO_Connection_Purging_Strategy ();
+
+protected:
+
+ /// Called when accessing an item from the cache
+ virtual void update_item_i (TAO_DESCRIPTOR_INTERFACE* prop,
+ TAO_PURGING_CACHE_ITEM* item);
+
+private:
+
+ ATTRIBUTE_TYPE order_;
+};
+
+#include "ace/post.h"
+#endif /* TAO_FIFO_PURGING_STRATEGY_H */
diff --git a/TAO/tao/Strategies/LFU_Connection_Purging_Strategy.cpp b/TAO/tao/Strategies/LFU_Connection_Purging_Strategy.cpp
new file mode 100644
index 00000000000..8d134a958b8
--- /dev/null
+++ b/TAO/tao/Strategies/LFU_Connection_Purging_Strategy.cpp
@@ -0,0 +1,32 @@
+// $Id$
+
+#include "LFU_Connection_Purging_Strategy.h"
+
+ACE_RCSID(tao, LFU_Connection_Purging_Strategy, "$Id$")
+
+TAO_LFU_Connection_Purging_Strategy::TAO_LFU_Connection_Purging_Strategy (
+ TAO_Resource_Factory* rf)
+ : TAO_ULong_Connection_Purging_Strategy (rf)
+{
+}
+
+
+TAO_LFU_Connection_Purging_Strategy::~TAO_LFU_Connection_Purging_Strategy ()
+{
+}
+
+
+void
+TAO_LFU_Connection_Purging_Strategy::update_item_i (
+ TAO_DESCRIPTOR_INTERFACE* prop,
+ TAO_PURGING_CACHE_ITEM* item)
+{
+ TAO_Cache_ExtId ext_id (prop);
+ ATTRIBUTE_TYPE int_id (0);
+ if (this->tracking_map ().find (ext_id, int_id) == 0)
+ {
+ int_id++;
+ }
+ this->tracking_map ().rebind(ext_id, int_id);
+}
+
diff --git a/TAO/tao/Strategies/LFU_Connection_Purging_Strategy.h b/TAO/tao/Strategies/LFU_Connection_Purging_Strategy.h
new file mode 100644
index 00000000000..b260f1b17d4
--- /dev/null
+++ b/TAO/tao/Strategies/LFU_Connection_Purging_Strategy.h
@@ -0,0 +1,37 @@
+// ================================================================
+/**
+ * @file LFU_Connection_Purging_Strategy.h
+ *
+ * $Id$
+ *
+ * @author Chad Elliott (elliott_c@ociweb.com)
+ */
+// ================================================================
+
+#ifndef TAO_LFU_PURGING_STRATEGY_H
+#define TAO_LFU_PURGING_STRATEGY_H
+#include "ace/pre.h"
+
+#include "strategies_export.h"
+#include "tao/Connection_Purging_Strategy.h"
+
+class TAO_Strategies_Export TAO_LFU_Connection_Purging_Strategy:
+ public TAO_ULong_Connection_Purging_Strategy
+{
+public:
+ /// The constructor
+ TAO_LFU_Connection_Purging_Strategy (TAO_Resource_Factory* rf);
+
+ /// The destructor
+ virtual ~TAO_LFU_Connection_Purging_Strategy ();
+
+protected:
+
+ /// Called when accessing an item from the cache
+ virtual void update_item_i (TAO_DESCRIPTOR_INTERFACE* prop,
+ TAO_PURGING_CACHE_ITEM* item);
+
+};
+
+#include "ace/post.h"
+#endif /* TAO_LFU_PURGING_STRATEGY_H */
diff --git a/TAO/tao/Strategies/Makefile b/TAO/tao/Strategies/Makefile
index c0b86adda17..6f66f1bfb00 100644
--- a/TAO/tao/Strategies/Makefile
+++ b/TAO/tao/Strategies/Makefile
@@ -43,7 +43,10 @@ CPP_SRCS += \
TAO_Strategies_Internal \
uiop_endpoints \
advanced_resource \
- Reactor_Per_Priority
+ Reactor_Per_Priority \
+ LFU_Connection_Purging_Strategy \
+ FIFO_Connection_Purging_Strategy \
+ NULL_Connection_Purging_Strategy
ifeq ($(rt_corba),1)
@@ -88,7 +91,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Protocol_Factory.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -96,6 +98,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/Message_Block.h \
@@ -411,6 +414,9 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Server_Strategy_Factory.h \
$(TAO_ROOT)/tao/Connector_Registry.h \
$(TAO_ROOT)/tao/Connector_Registry.i \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.h \
+ $(TAO_ROOT)/tao/debug.h \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.inl \
$(TAO_ROOT)/tao/GIOP_Message_State.h \
$(TAO_ROOT)/tao/GIOP_Message_State.i \
UIOP_Connector.h \
@@ -427,7 +433,6 @@ CPPFLAGS += -I$(TAO_ROOT)
.obj/UIOP_Lite_Factory.o .obj/UIOP_Lite_Factory.so .shobj/UIOP_Lite_Factory.o .shobj/UIOP_Lite_Factory.so: UIOP_Lite_Factory.cpp UIOP_Lite_Factory.h \
$(ACE_ROOT)/ace/pre.h \
strategies_export.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -435,6 +440,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(TAO_ROOT)/tao/Protocol_Factory.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
@@ -752,6 +758,9 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Server_Strategy_Factory.h \
$(TAO_ROOT)/tao/Connector_Registry.h \
$(TAO_ROOT)/tao/Connector_Registry.i \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.h \
+ $(TAO_ROOT)/tao/debug.h \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.inl \
$(TAO_ROOT)/tao/GIOP_Message_State.h \
$(TAO_ROOT)/tao/GIOP_Message_State.i \
UIOP_Connector.h \
@@ -774,7 +783,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Profile.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -782,6 +790,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/Message_Block.h \
@@ -1107,7 +1116,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Transport.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -1115,6 +1123,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/Message_Block.h \
@@ -1475,7 +1484,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Pluggable.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -1483,6 +1491,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/Message_Block.h \
@@ -1815,14 +1824,15 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/Auto_Ptr.i \
$(ACE_ROOT)/ace/Auto_Ptr.cpp \
$(TAO_ROOT)/tao/Base_Transport_Property.h \
- $(TAO_ROOT)/tao/Base_Transport_Property.inl
+ $(TAO_ROOT)/tao/Base_Transport_Property.inl \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.h \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.inl
.obj/UIOP_Acceptor.o .obj/UIOP_Acceptor.so .shobj/UIOP_Acceptor.o .shobj/UIOP_Acceptor.so: UIOP_Acceptor.cpp UIOP_Acceptor.h \
$(ACE_ROOT)/ace/pre.h \
$(TAO_ROOT)/tao/Pluggable.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -1830,6 +1840,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/Message_Block.h \
@@ -2143,6 +2154,9 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Server_Strategy_Factory.h \
$(TAO_ROOT)/tao/Connector_Registry.h \
$(TAO_ROOT)/tao/Connector_Registry.i \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.h \
+ $(TAO_ROOT)/tao/debug.h \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.inl \
$(TAO_ROOT)/tao/GIOP_Message_State.h \
$(TAO_ROOT)/tao/GIOP_Message_State.i \
UIOP_Profile.h \
@@ -2156,16 +2170,15 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Object_KeyC.i \
UIOP_Endpoint.h UIOP_Endpoint.i UIOP_Profile.i \
$(TAO_ROOT)/tao/MProfile.h \
- $(TAO_ROOT)/tao/MProfile.i \
- $(TAO_ROOT)/tao/debug.h
+ $(TAO_ROOT)/tao/MProfile.i
.obj/UIOP_Connection_Handler.o .obj/UIOP_Connection_Handler.so .shobj/UIOP_Connection_Handler.o .shobj/UIOP_Connection_Handler.so: UIOP_Connection_Handler.cpp \
UIOP_Connection_Handler.h \
- $(ACE_ROOT)/ace/pre.h UIOP_Transport.h \
+ $(ACE_ROOT)/ace/pre.h \
+ UIOP_Transport.h \
$(TAO_ROOT)/tao/Transport.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -2173,6 +2186,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/Message_Block.h \
@@ -2495,14 +2509,15 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/GIOP_Utils.i \
$(TAO_ROOT)/tao/GIOP_Message_State.h \
$(TAO_ROOT)/tao/GIOP_Message_State.i \
- $(TAO_ROOT)/tao/GIOP_Message_Lite.i
+ $(TAO_ROOT)/tao/GIOP_Message_Lite.i \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.h \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.inl
.obj/UIOP_Endpoint.o .obj/UIOP_Endpoint.so .shobj/UIOP_Endpoint.o .shobj/UIOP_Endpoint.so: UIOP_Endpoint.cpp UIOP_Endpoint.h \
$(ACE_ROOT)/ace/pre.h \
$(TAO_ROOT)/tao/Endpoint.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -2510,6 +2525,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/Message_Block.h \
@@ -2730,7 +2746,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/pre.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -2738,6 +2753,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/Message_Block.h \
@@ -3054,6 +3070,9 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Server_Strategy_Factory.h \
$(TAO_ROOT)/tao/Connector_Registry.h \
$(TAO_ROOT)/tao/Connector_Registry.i \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.h \
+ $(TAO_ROOT)/tao/debug.h \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.inl \
$(ACE_ROOT)/ace/MEM_Acceptor.h \
$(ACE_ROOT)/ace/SOCK_Acceptor.h \
$(ACE_ROOT)/ace/SOCK_Stream.h \
@@ -3083,7 +3102,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/pre.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -3091,6 +3109,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/Message_Block.h \
@@ -3308,7 +3327,12 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Service_Callbacks.i \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
- $(TAO_ROOT)/tao/Transport_Cache_Manager.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
$(ACE_ROOT)/ace/Functor.h \
$(ACE_ROOT)/ace/Functor.i \
@@ -3317,17 +3341,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/Functor_T.cpp \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(TAO_ROOT)/tao/Cache_Entries.h \
- $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \
- $(TAO_ROOT)/tao/Transport_Descriptor_Interface.inl \
- $(TAO_ROOT)/tao/Cache_Entries.inl \
- $(TAO_ROOT)/tao/Transport_Cache_Manager.inl \
- $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
- $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
- $(TAO_ROOT)/tao/Object_Ref_Table.h \
$(TAO_ROOT)/tao/Interceptor_List.h \
$(TAO_ROOT)/tao/Interceptor_List.inl \
$(TAO_ROOT)/tao/RT_Policy_i.h \
@@ -3355,7 +3368,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/pre.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -3363,6 +3375,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/Message_Block.h \
@@ -3729,7 +3742,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/pre.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -3737,6 +3749,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/Message_Block.h \
@@ -4078,13 +4091,14 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Client_Strategy_Factory.h \
$(ACE_ROOT)/ace/Auto_Ptr.h \
$(ACE_ROOT)/ace/Auto_Ptr.i \
- $(ACE_ROOT)/ace/Auto_Ptr.cpp
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.h \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.inl
.obj/SHMIOP_Acceptor.o .obj/SHMIOP_Acceptor.so .shobj/SHMIOP_Acceptor.o .shobj/SHMIOP_Acceptor.so: SHMIOP_Acceptor.cpp SHMIOP_Acceptor.h \
$(ACE_ROOT)/ace/pre.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -4092,6 +4106,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/Message_Block.h \
@@ -4406,6 +4421,9 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Server_Strategy_Factory.h \
$(TAO_ROOT)/tao/Connector_Registry.h \
$(TAO_ROOT)/tao/Connector_Registry.i \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.h \
+ $(TAO_ROOT)/tao/debug.h \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.inl \
$(ACE_ROOT)/ace/MEM_Acceptor.h \
$(ACE_ROOT)/ace/SOCK_Acceptor.h \
$(ACE_ROOT)/ace/SOCK_Stream.h \
@@ -4430,15 +4448,13 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Object_KeyC.i \
SHMIOP_Endpoint.h SHMIOP_Endpoint.i SHMIOP_Profile.i \
$(TAO_ROOT)/tao/MProfile.h \
- $(TAO_ROOT)/tao/MProfile.i \
- $(TAO_ROOT)/tao/debug.h
+ $(TAO_ROOT)/tao/MProfile.i
.obj/SHMIOP_Connection_Handler.o .obj/SHMIOP_Connection_Handler.so .shobj/SHMIOP_Connection_Handler.o .shobj/SHMIOP_Connection_Handler.so: SHMIOP_Connection_Handler.cpp \
SHMIOP_Connection_Handler.h \
$(ACE_ROOT)/ace/pre.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -4446,6 +4462,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/Message_Block.h \
@@ -4783,6 +4800,8 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Server_Strategy_Factory.h \
$(TAO_ROOT)/tao/Base_Transport_Property.h \
$(TAO_ROOT)/tao/Base_Transport_Property.inl \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.h \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.inl \
SHMIOP_Endpoint.h \
$(ACE_ROOT)/ace/MEM_Addr.h \
$(ACE_ROOT)/ace/MEM_Addr.i \
@@ -4793,7 +4812,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Endpoint.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -4801,6 +4819,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/Message_Block.h \
@@ -5053,7 +5072,6 @@ CPPFLAGS += -I$(TAO_ROOT)
GIOP_Message_NonReactive_Base.h \
$(ACE_ROOT)/ace/pre.h \
strategies_export.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -5061,6 +5079,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
GIOP_Message_NonReactive_Handler.h \
$(TAO_ROOT)/tao/CDR.h \
$(TAO_ROOT)/tao/corbafwd.h \
@@ -5285,7 +5304,12 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Service_Callbacks.i \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
- $(TAO_ROOT)/tao/Transport_Cache_Manager.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
$(ACE_ROOT)/ace/Functor.h \
$(ACE_ROOT)/ace/Functor.i \
@@ -5294,19 +5318,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/Functor_T.cpp \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(TAO_ROOT)/tao/Cache_Entries.h \
- $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \
- $(TAO_ROOT)/tao/Endpoint.h \
- $(TAO_ROOT)/tao/Endpoint.i \
- $(TAO_ROOT)/tao/Transport_Descriptor_Interface.inl \
- $(TAO_ROOT)/tao/Cache_Entries.inl \
- $(TAO_ROOT)/tao/Transport_Cache_Manager.inl \
- $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
- $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
- $(TAO_ROOT)/tao/Object_Ref_Table.h \
$(TAO_ROOT)/tao/Interceptor_List.h \
$(TAO_ROOT)/tao/Interceptor_List.inl \
$(TAO_ROOT)/tao/RT_Policy_i.h \
@@ -5334,7 +5345,6 @@ CPPFLAGS += -I$(TAO_ROOT)
GIOP_Message_NonReactive_Handler.h \
$(ACE_ROOT)/ace/pre.h \
strategies_export.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -5342,6 +5352,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(TAO_ROOT)/tao/CDR.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
@@ -5564,7 +5575,12 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Service_Callbacks.i \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
- $(TAO_ROOT)/tao/Transport_Cache_Manager.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
$(ACE_ROOT)/ace/Functor.h \
$(ACE_ROOT)/ace/Functor.i \
@@ -5573,19 +5589,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/Functor_T.cpp \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(TAO_ROOT)/tao/Cache_Entries.h \
- $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \
- $(TAO_ROOT)/tao/Endpoint.h \
- $(TAO_ROOT)/tao/Endpoint.i \
- $(TAO_ROOT)/tao/Transport_Descriptor_Interface.inl \
- $(TAO_ROOT)/tao/Cache_Entries.inl \
- $(TAO_ROOT)/tao/Transport_Cache_Manager.inl \
- $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
- $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
- $(TAO_ROOT)/tao/Object_Ref_Table.h \
$(TAO_ROOT)/tao/Interceptor_List.h \
$(TAO_ROOT)/tao/Interceptor_List.inl \
$(TAO_ROOT)/tao/RT_Policy_i.h \
@@ -5607,6 +5610,14 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/ORB_Core.i \
$(TAO_ROOT)/tao/debug.h \
$(TAO_ROOT)/tao/Transport.h \
+ $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \
+ $(TAO_ROOT)/tao/Endpoint.h \
+ $(TAO_ROOT)/tao/Endpoint.i \
+ $(TAO_ROOT)/tao/Transport_Descriptor_Interface.inl \
+ $(TAO_ROOT)/tao/Transport_Cache_Manager.h \
+ $(TAO_ROOT)/tao/Cache_Entries.h \
+ $(TAO_ROOT)/tao/Cache_Entries.inl \
+ $(TAO_ROOT)/tao/Transport_Cache_Manager.inl \
$(TAO_ROOT)/tao/Transport_Timer.h \
$(ACE_ROOT)/ace/Strategies.h \
$(ACE_ROOT)/ace/Strategies_T.h \
@@ -5636,7 +5647,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/pre.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -5644,6 +5654,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/Message_Block.h \
@@ -5848,7 +5859,12 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Service_Callbacks.i \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
- $(TAO_ROOT)/tao/Transport_Cache_Manager.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
$(ACE_ROOT)/ace/Functor.h \
$(ACE_ROOT)/ace/Functor.i \
@@ -5857,19 +5873,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/Functor_T.cpp \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(TAO_ROOT)/tao/Cache_Entries.h \
- $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \
- $(TAO_ROOT)/tao/Endpoint.h \
- $(TAO_ROOT)/tao/Endpoint.i \
- $(TAO_ROOT)/tao/Transport_Descriptor_Interface.inl \
- $(TAO_ROOT)/tao/Cache_Entries.inl \
- $(TAO_ROOT)/tao/Transport_Cache_Manager.inl \
- $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
- $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
- $(TAO_ROOT)/tao/Object_Ref_Table.h \
$(TAO_ROOT)/tao/Interceptor_List.h \
$(TAO_ROOT)/tao/Interceptor_List.inl \
$(TAO_ROOT)/tao/RT_Policy_i.h \
@@ -5897,7 +5900,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/pre.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -5905,6 +5907,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/Message_Block.h \
@@ -6021,7 +6024,6 @@ CPPFLAGS += -I$(TAO_ROOT)
.obj/advanced_resource.o .obj/advanced_resource.so .shobj/advanced_resource.o .shobj/advanced_resource.so: advanced_resource.cpp advanced_resource.h \
$(ACE_ROOT)/ace/pre.h \
strategies_export.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -6029,6 +6031,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(TAO_ROOT)/tao/default_resource.h \
$(TAO_ROOT)/tao/Resource_Factory.h \
$(ACE_ROOT)/ace/Service_Object.h \
@@ -6229,7 +6232,12 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Service_Callbacks.i \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
- $(TAO_ROOT)/tao/Transport_Cache_Manager.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
$(ACE_ROOT)/ace/Functor.h \
$(ACE_ROOT)/ace/Functor.i \
@@ -6238,19 +6246,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/Functor_T.cpp \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(TAO_ROOT)/tao/Cache_Entries.h \
- $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \
- $(TAO_ROOT)/tao/Endpoint.h \
- $(TAO_ROOT)/tao/Endpoint.i \
- $(TAO_ROOT)/tao/Transport_Descriptor_Interface.inl \
- $(TAO_ROOT)/tao/Cache_Entries.inl \
- $(TAO_ROOT)/tao/Transport_Cache_Manager.inl \
- $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
- $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
- $(TAO_ROOT)/tao/Object_Ref_Table.h \
$(TAO_ROOT)/tao/Interceptor_List.h \
$(TAO_ROOT)/tao/Interceptor_List.inl \
$(TAO_ROOT)/tao/RT_Policy_i.h \
@@ -6278,10 +6273,22 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Priority_Mapping.h \
$(TAO_ROOT)/tao/Priority_Mapping.i \
Direct_Priority_Mapping.i Linear_Priority_Mapping.h \
- Linear_Priority_Mapping.i \
+ Linear_Priority_Mapping.i LFU_Connection_Purging_Strategy.h \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.h \
+ $(TAO_ROOT)/tao/Transport_Cache_Manager.h \
+ $(TAO_ROOT)/tao/Cache_Entries.h \
+ $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \
+ $(TAO_ROOT)/tao/Endpoint.h \
+ $(TAO_ROOT)/tao/Endpoint.i \
+ $(TAO_ROOT)/tao/Transport_Descriptor_Interface.inl \
+ $(TAO_ROOT)/tao/Cache_Entries.inl \
+ $(TAO_ROOT)/tao/Transport_Cache_Manager.inl \
$(TAO_ROOT)/tao/debug.h \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.inl \
+ FIFO_Connection_Purging_Strategy.h NULL_Connection_Purging_Strategy.h \
$(TAO_ROOT)/tao/Single_Reactor.h \
$(TAO_ROOT)/tao/Single_Reactor.i \
+ $(TAO_ROOT)/tao/LRU_Connection_Purging_Strategy.h \
$(TAO_ROOT)/tao/Leader_Follower.h \
$(TAO_ROOT)/tao/Leader_Follower.i \
$(ACE_ROOT)/ace/Auto_Ptr.h \
@@ -6338,7 +6345,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Reactor_Registry.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -6346,6 +6352,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/Basic_Types.h \
$(ACE_ROOT)/ace/Basic_Types.i \
$(ACE_ROOT)/ace/Message_Block.h \
@@ -6545,7 +6552,12 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Service_Callbacks.i \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
- $(TAO_ROOT)/tao/Transport_Cache_Manager.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
$(ACE_ROOT)/ace/Functor.h \
$(ACE_ROOT)/ace/Functor.i \
@@ -6554,19 +6566,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/Functor_T.cpp \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
- $(TAO_ROOT)/tao/Cache_Entries.h \
- $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \
- $(TAO_ROOT)/tao/Endpoint.h \
- $(TAO_ROOT)/tao/Endpoint.i \
- $(TAO_ROOT)/tao/Transport_Descriptor_Interface.inl \
- $(TAO_ROOT)/tao/Cache_Entries.inl \
- $(TAO_ROOT)/tao/Transport_Cache_Manager.inl \
- $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
- $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
- $(TAO_ROOT)/tao/Object_Ref_Table.h \
$(TAO_ROOT)/tao/Interceptor_List.h \
$(TAO_ROOT)/tao/Interceptor_List.inl \
$(TAO_ROOT)/tao/RT_Policy_i.h \
@@ -6590,11 +6589,450 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/Leader_Follower.i \
$(TAO_ROOT)/tao/debug.h
-.obj/Linear_Priority_Mapping.o .obj/Linear_Priority_Mapping.so .shobj/Linear_Priority_Mapping.o .shobj/Linear_Priority_Mapping.so: Linear_Priority_Mapping.cpp \
+.obj/LFU_Connection_Purging_Strategy.o .obj/LFU_Connection_Purging_Strategy.so .shobj/LFU_Connection_Purging_Strategy.o .shobj/LFU_Connection_Purging_Strategy.so: LFU_Connection_Purging_Strategy.cpp \
+ LFU_Connection_Purging_Strategy.h \
+ $(ACE_ROOT)/ace/pre.h \
+ strategies_export.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.h \
+ $(TAO_ROOT)/tao/Transport_Cache_Manager.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Cache_Entries.h \
+ $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \
+ $(TAO_ROOT)/tao/Endpoint.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/try_macros.h \
$(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/Endpoint.i \
+ $(TAO_ROOT)/tao/Transport_Descriptor_Interface.inl \
+ $(TAO_ROOT)/tao/Cache_Entries.inl \
+ $(TAO_ROOT)/tao/Transport_Cache_Manager.inl \
+ $(TAO_ROOT)/tao/debug.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.inl
+
+.obj/FIFO_Connection_Purging_Strategy.o .obj/FIFO_Connection_Purging_Strategy.so .shobj/FIFO_Connection_Purging_Strategy.o .shobj/FIFO_Connection_Purging_Strategy.so: \
+ FIFO_Connection_Purging_Strategy.cpp \
+ FIFO_Connection_Purging_Strategy.h \
$(ACE_ROOT)/ace/pre.h \
+ strategies_export.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.h \
+ $(TAO_ROOT)/tao/Transport_Cache_Manager.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
$(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Cache_Entries.h \
+ $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \
+ $(TAO_ROOT)/tao/Endpoint.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/try_macros.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/Endpoint.i \
+ $(TAO_ROOT)/tao/Transport_Descriptor_Interface.inl \
+ $(TAO_ROOT)/tao/Cache_Entries.inl \
+ $(TAO_ROOT)/tao/Transport_Cache_Manager.inl \
+ $(TAO_ROOT)/tao/debug.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.inl
+
+.obj/NULL_Connection_Purging_Strategy.o .obj/NULL_Connection_Purging_Strategy.so .shobj/NULL_Connection_Purging_Strategy.o .shobj/NULL_Connection_Purging_Strategy.so: \
+ NULL_Connection_Purging_Strategy.cpp \
+ NULL_Connection_Purging_Strategy.h \
+ $(ACE_ROOT)/ace/pre.h \
+ strategies_export.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
$(ACE_ROOT)/ace/post.h \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.h \
+ $(TAO_ROOT)/tao/Transport_Cache_Manager.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/Cache_Entries.h \
+ $(TAO_ROOT)/tao/Transport_Descriptor_Interface.h \
+ $(TAO_ROOT)/tao/Endpoint.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/try_macros.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/Endpoint.i \
+ $(TAO_ROOT)/tao/Transport_Descriptor_Interface.inl \
+ $(TAO_ROOT)/tao/Cache_Entries.inl \
+ $(TAO_ROOT)/tao/Transport_Cache_Manager.inl \
+ $(TAO_ROOT)/tao/debug.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/Connection_Purging_Strategy.inl
+
+.obj/Linear_Priority_Mapping.o .obj/Linear_Priority_Mapping.so .shobj/Linear_Priority_Mapping.o .shobj/Linear_Priority_Mapping.so: Linear_Priority_Mapping.cpp \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/OS.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -6602,6 +7040,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/OS_Dirent.h \
$(ACE_ROOT)/ace/OS_Dirent.inl \
$(ACE_ROOT)/ace/OS_String.h \
@@ -6749,7 +7188,6 @@ CPPFLAGS += -I$(TAO_ROOT)
$(TAO_ROOT)/tao/orbconf.h \
$(ACE_ROOT)/ace/pre.h \
$(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
$(ACE_ROOT)/ace/svc_export.h \
$(ACE_ROOT)/ace/ace_wchar.h \
@@ -6757,6 +7195,7 @@ CPPFLAGS += -I$(TAO_ROOT)
$(ACE_ROOT)/ace/OS_Errno.h \
$(ACE_ROOT)/ace/OS_Export.h \
$(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/OS_Dirent.h \
$(ACE_ROOT)/ace/OS_Dirent.inl \
$(ACE_ROOT)/ace/OS_String.h \
diff --git a/TAO/tao/Strategies/Makefile.bor b/TAO/tao/Strategies/Makefile.bor
index bd98c93e956..0ece9771152 100644
--- a/TAO/tao/Strategies/Makefile.bor
+++ b/TAO/tao/Strategies/Makefile.bor
@@ -27,7 +27,10 @@ OBJFILES = \
$(OBJDIR)\advanced_resource.obj \
$(OBJDIR)\Reactor_Per_Priority.obj \
$(OBJDIR)\Linear_Priority_Mapping.obj \
- $(OBJDIR)\Direct_Priority_Mapping.obj
+ $(OBJDIR)\Direct_Priority_Mapping.obj \
+ $(OBJDIR)\FIFO_Connection_Purging_Strategy.obj \
+ $(OBJDIR)\LFU_Connection_Purging_Strategy.obj \
+ $(OBJDIR)\NULL_Connection_Purging_Strategy.obj
!ifdef STATIC
CFLAGS = $(ACE_CFLAGS) $(TAO_CFLAGS) $(TAO_STRATEGIES_CFLAGS)
diff --git a/TAO/tao/Strategies/NULL_Connection_Purging_Strategy.cpp b/TAO/tao/Strategies/NULL_Connection_Purging_Strategy.cpp
new file mode 100644
index 00000000000..e875c533366
--- /dev/null
+++ b/TAO/tao/Strategies/NULL_Connection_Purging_Strategy.cpp
@@ -0,0 +1,46 @@
+// $Id$
+
+#include "NULL_Connection_Purging_Strategy.h"
+
+ACE_RCSID(tao, NULL_Connection_Purging_Strategy, "$Id$")
+
+TAO_NULL_Connection_Purging_Strategy::TAO_NULL_Connection_Purging_Strategy (
+ TAO_Resource_Factory* rf)
+ : TAO_Connection_Purging_Strategy (rf)
+{
+}
+
+
+TAO_NULL_Connection_Purging_Strategy::~TAO_NULL_Connection_Purging_Strategy ()
+{
+}
+
+
+int
+TAO_NULL_Connection_Purging_Strategy::fill_set_i (DESCRIPTOR_SET& sorted_set)
+{
+ return 0;
+}
+
+
+void
+TAO_NULL_Connection_Purging_Strategy::update_item_i (
+ TAO_DESCRIPTOR_INTERFACE* prop,
+ TAO_PURGING_CACHE_ITEM* item)
+{
+}
+
+
+void
+TAO_NULL_Connection_Purging_Strategy::remove_item_i (
+ TAO_DESCRIPTOR_INTERFACE* prop)
+{
+}
+
+
+void
+TAO_NULL_Connection_Purging_Strategy::remove_all_i ()
+{
+}
+
+
diff --git a/TAO/tao/Strategies/NULL_Connection_Purging_Strategy.h b/TAO/tao/Strategies/NULL_Connection_Purging_Strategy.h
new file mode 100644
index 00000000000..67a00e4d0e4
--- /dev/null
+++ b/TAO/tao/Strategies/NULL_Connection_Purging_Strategy.h
@@ -0,0 +1,45 @@
+// ================================================================
+/**
+ * @file NULL_Connection_Purging_Strategy.h
+ *
+ * $Id$
+ *
+ * @author Chad Elliott (elliott_c@ociweb.com)
+ */
+// ================================================================
+
+#ifndef TAO_NULL_PURGING_STRATEGY_H
+#define TAO_NULL_PURGING_STRATEGY_H
+#include "ace/pre.h"
+
+#include "strategies_export.h"
+#include "tao/Connection_Purging_Strategy.h"
+
+class TAO_Strategies_Export TAO_NULL_Connection_Purging_Strategy:
+ public TAO_Connection_Purging_Strategy
+{
+public:
+ /// The constructor
+ TAO_NULL_Connection_Purging_Strategy (TAO_Resource_Factory* rf);
+
+ /// The destructor
+ virtual ~TAO_NULL_Connection_Purging_Strategy ();
+
+protected:
+ /// Does nothing.
+ virtual int fill_set_i (DESCRIPTOR_SET& sorted_set);
+
+ /// Does nothing.
+ virtual void update_item_i (TAO_DESCRIPTOR_INTERFACE* prop,
+ TAO_PURGING_CACHE_ITEM* item);
+
+ /// Does nothing.
+ virtual void remove_item_i (TAO_DESCRIPTOR_INTERFACE* prop);
+
+ /// Does nothing.
+ virtual void remove_all_i ();
+
+};
+
+#include "ace/post.h"
+#endif /* TAO_NULL_PURGING_STRATEGY_H */
diff --git a/TAO/tao/Strategies/SHMIOP_Connection_Handler.cpp b/TAO/tao/Strategies/SHMIOP_Connection_Handler.cpp
index 4799cf3ef42..3df9b6e6ee3 100644
--- a/TAO/tao/Strategies/SHMIOP_Connection_Handler.cpp
+++ b/TAO/tao/Strategies/SHMIOP_Connection_Handler.cpp
@@ -14,6 +14,7 @@
#include "tao/GIOP_Message_Lite.h"
#include "tao/Server_Strategy_Factory.h"
#include "tao/Base_Transport_Property.h"
+#include "tao/Connection_Purging_Strategy.h"
#include "SHMIOP_Endpoint.h"
#if !defined (__ACE_INLINE__)
@@ -242,8 +243,8 @@ TAO_SHMIOP_Connection_Handler::add_transport_to_cache (void)
TAO_Base_Transport_Property prop (&endpoint);
// Add the handler to Cache
- return this->orb_core ()->transport_cache ().cache_transport (&prop,
- this->transport ());
+ return this->orb_core ()->purging_strategy ()->add_to_cache (&prop,
+ this->transport ());
}
diff --git a/TAO/tao/Strategies/SHMIOP_Connector.cpp b/TAO/tao/Strategies/SHMIOP_Connector.cpp
index eec5c62dcae..b8277c19a9d 100644
--- a/TAO/tao/Strategies/SHMIOP_Connector.cpp
+++ b/TAO/tao/Strategies/SHMIOP_Connector.cpp
@@ -13,6 +13,7 @@
#include "tao/Client_Strategy_Factory.h"
#include "tao/Environment.h"
#include "ace/Auto_Ptr.h"
+#include "tao/Connection_Purging_Strategy.h"
ACE_RCSID (Strategies,
SHMIOP_Connector,
@@ -164,8 +165,8 @@ TAO_SHMIOP_Connector::connect (TAO_Transport_Descriptor_Interface *desc,
// Check the Cache first for connections
// If transport found, reference count is incremented on assignment
- if (this->orb_core ()->transport_cache ().find_transport (desc,
- base_transport) == 0)
+ if (this->orb_core ()->purging_strategy ()->find_in_cache (desc,
+ base_transport) == 0)
{
if (TAO_debug_level > 5)
ACE_DEBUG ((LM_DEBUG,
@@ -180,6 +181,9 @@ TAO_SHMIOP_Connector::connect (TAO_Transport_Descriptor_Interface *desc,
ACE_TEXT ("(%P|%t) SHMIOP_Connector::connect ")
ACE_TEXT ("making a new connection \n")));
+ // Purge connections (if necessary)
+ this->orb_core ()->purging_strategy ()->purge ();
+
// @@ This needs to change in the next round when we implement a
// policy that will not allow new connections when a connection
// is busy.
@@ -232,8 +236,8 @@ TAO_SHMIOP_Connector::connect (TAO_Transport_Descriptor_Interface *desc,
base_transport = TAO_Transport::_duplicate (svc_handler->transport ());
// Add the handler to Cache
int retval =
- this->orb_core ()->transport_cache ().cache_transport (desc,
- svc_handler->transport ());
+ this->orb_core ()->purging_strategy ()->add_to_cache (desc,
+ svc_handler->transport ());
if (retval != 0 && TAO_debug_level > 0)
{
@@ -365,8 +369,8 @@ TAO_SHMIOP_Connector::preconnect (const char *preconnects)
// Add the handler to Cache
int retval =
- this->orb_core ()->transport_cache ().cache_transport (&prop,
- handlers[slot]->transport ());
+ this->orb_core ()->purging_strategy ()->add_to_cache (&prop,
+ handlers[slot]->transport ());
successes++;
if (retval != 0 && TAO_debug_level > 4)
diff --git a/TAO/tao/Strategies/TAO_Strategies.dsp b/TAO/tao/Strategies/TAO_Strategies.dsp
index 5743d911718..eda74764ee0 100644
--- a/TAO/tao/Strategies/TAO_Strategies.dsp
+++ b/TAO/tao/Strategies/TAO_Strategies.dsp
@@ -102,6 +102,10 @@ SOURCE=.\Direct_Priority_Mapping.cpp
# End Source File
# Begin Source File
+SOURCE=.\FIFO_Connection_Purging_Strategy.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\GIOP_Message_NonReactive_Base.cpp
# End Source File
# Begin Source File
@@ -114,6 +118,14 @@ SOURCE=.\Linear_Priority_Mapping.cpp
# End Source File
# Begin Source File
+SOURCE=.\LFU_Connection_Purging_Strategy.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\NULL_Connection_Purging_Strategy.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\Reactor_Per_Priority.cpp
# End Source File
# Begin Source File
diff --git a/TAO/tao/Strategies/TAO_Strategies_Static.dsp b/TAO/tao/Strategies/TAO_Strategies_Static.dsp
index a9526d08ce2..bd1cf67c0af 100644
--- a/TAO/tao/Strategies/TAO_Strategies_Static.dsp
+++ b/TAO/tao/Strategies/TAO_Strategies_Static.dsp
@@ -99,6 +99,10 @@ SOURCE=.\Direct_Priority_Mapping.cpp
# End Source File
# Begin Source File
+SOURCE=.\FIFO_Connection_Purging_Strategy.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\GIOP_Message_NonReactive_Base.cpp
# End Source File
# Begin Source File
@@ -111,6 +115,14 @@ SOURCE=.\Linear_Priority_Mapping.cpp
# End Source File
# Begin Source File
+SOURCE=.\LFU_Connection_Purging_Strategy.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\NULL_Connection_Purging_Strategy.cpp
+# End Source File
+# Begin Source File
+
SOURCE=.\Reactor_Per_Priority.cpp
# End Source File
# Begin Source File
diff --git a/TAO/tao/Strategies/UIOP_Connection_Handler.cpp b/TAO/tao/Strategies/UIOP_Connection_Handler.cpp
index 803769de9bd..e6207eecb2a 100644
--- a/TAO/tao/Strategies/UIOP_Connection_Handler.cpp
+++ b/TAO/tao/Strategies/UIOP_Connection_Handler.cpp
@@ -15,6 +15,7 @@
#include "tao/Messaging_Policy_i.h"
#include "tao/Base_Transport_Property.h"
#include "tao/GIOP_Message_Lite.h"
+#include "tao/Connection_Purging_Strategy.h"
#if !defined (__ACE_INLINE__)
# include "UIOP_Connection_Handler.inl"
@@ -217,8 +218,8 @@ TAO_UIOP_Connection_Handler::add_transport_to_cache (void)
TAO_Base_Transport_Property prop (&endpoint);
// Add the handler to Cache
- return this->orb_core ()->transport_cache ().cache_transport (&prop,
- this->transport ());
+ return this->orb_core ()->purging_strategy ()->add_to_cache (&prop,
+ this->transport ());
}
diff --git a/TAO/tao/Strategies/UIOP_Connector.cpp b/TAO/tao/Strategies/UIOP_Connector.cpp
index ba166d8d592..c1cd7f5940a 100644
--- a/TAO/tao/Strategies/UIOP_Connector.cpp
+++ b/TAO/tao/Strategies/UIOP_Connector.cpp
@@ -13,6 +13,7 @@
#include "ace/Auto_Ptr.h"
#include "tao/Protocols_Hooks.h"
#include "tao/Base_Transport_Property.h"
+#include "tao/Connection_Purging_Strategy.h"
ACE_RCSID(Strategies, UIOP_Connector, "$Id$")
@@ -153,8 +154,8 @@ TAO_UIOP_Connector::connect (TAO_Transport_Descriptor_Interface *desc,
// Check the Cache first for connections
// If transport found, reference count is incremented on assignment
- if (this->orb_core ()->transport_cache ().find_transport (desc,
- base_transport) == 0)
+ if (this->orb_core ()->purging_strategy ()->find_in_cache (desc,
+ base_transport) == 0)
{
if (TAO_debug_level > 5)
ACE_DEBUG ((LM_DEBUG,
@@ -169,6 +170,9 @@ TAO_UIOP_Connector::connect (TAO_Transport_Descriptor_Interface *desc,
ACE_TEXT ("(%P|%t) UIOP_Connector::connect ")
ACE_TEXT ("making a new connection \n")));
+ // Purge connections (if necessary)
+ this->orb_core ()->purging_strategy ()->purge ();
+
// @@ This needs to change in the next round when we implement a
// policy that will not allow new connections when a connection
// is busy.
@@ -217,8 +221,8 @@ TAO_UIOP_Connector::connect (TAO_Transport_Descriptor_Interface *desc,
base_transport = TAO_Transport::_duplicate (svc_handler->transport ());
// Add the handler to Cache
int retval =
- this->orb_core ()->transport_cache ().cache_transport (desc,
- base_transport);
+ this->orb_core ()->purging_strategy ()->add_to_cache (desc,
+ base_transport);
if (retval != 0 && TAO_debug_level > 0)
{
@@ -338,8 +342,8 @@ TAO_UIOP_Connector::preconnect (const char *preconnects)
// Add the handler to Cache
int retval =
- this->orb_core ()->transport_cache ().cache_transport (&prop,
- handlers[slot]->transport ());
+ this->orb_core ()->purging_strategy ()->add_to_cache (&prop,
+ handlers[slot]->transport ());
++successes;
if (retval != 0 && TAO_debug_level > 4)
diff --git a/TAO/tao/Strategies/advanced_resource.cpp b/TAO/tao/Strategies/advanced_resource.cpp
index 48c770eecb1..245e8659a37 100644
--- a/TAO/tao/Strategies/advanced_resource.cpp
+++ b/TAO/tao/Strategies/advanced_resource.cpp
@@ -12,9 +12,13 @@
#include "Reactor_Per_Priority.h"
#include "Direct_Priority_Mapping.h"
#include "Linear_Priority_Mapping.h"
+#include "LFU_Connection_Purging_Strategy.h"
+#include "FIFO_Connection_Purging_Strategy.h"
+#include "NULL_Connection_Purging_Strategy.h"
#include "tao/debug.h"
#include "tao/Single_Reactor.h"
+#include "tao/LRU_Connection_Purging_Strategy.h"
#include "tao/Leader_Follower.h"
#include "ace/Auto_Ptr.h"
@@ -576,6 +580,43 @@ TAO_Advanced_Resource_Factory::input_cdr_allocator_type_locked (void)
return this->cdr_allocator_type_ == TAO_ALLOCATOR_NULL_LOCK ? 0 : 1;
}
+TAO_Connection_Purging_Strategy *
+TAO_Advanced_Resource_Factory::create_purging_strategy (void)
+{
+ TAO_Connection_Purging_Strategy *strategy = 0;
+
+ switch(this->connection_caching_type_)
+ {
+ case TAO_Resource_Factory::LFU:
+ ACE_NEW_RETURN (strategy,
+ TAO_LFU_Connection_Purging_Strategy (this),
+ 0);
+ break;
+ case TAO_Resource_Factory::FIFO:
+ ACE_NEW_RETURN (strategy,
+ TAO_FIFO_Connection_Purging_Strategy (this),
+ 0);
+ break;
+ case TAO_Resource_Factory::NOOP:
+ ACE_NEW_RETURN (strategy,
+ TAO_NULL_Connection_Purging_Strategy (this),
+ 0);
+ break;
+ case TAO_Resource_Factory::LRU:
+ ACE_NEW_RETURN (strategy,
+ TAO_LRU_Connection_Purging_Strategy (this),
+ 0);
+ break;
+ default:
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("TAO (%P|%t) - ")
+ ACE_TEXT ("Unknown connection purging strategy ")
+ ACE_TEXT ("type was found.\n")));
+ }
+
+ return strategy;
+}
+
TAO_LF_Strategy *
TAO_Advanced_Resource_Factory::create_lf_strategy (void)
{
diff --git a/TAO/tao/Strategies/advanced_resource.h b/TAO/tao/Strategies/advanced_resource.h
index 2bde16d5ed1..e1d34974678 100644
--- a/TAO/tao/Strategies/advanced_resource.h
+++ b/TAO/tao/Strategies/advanced_resource.h
@@ -14,6 +14,8 @@
#include "tao/ORB_Core.h"
+class TAO_Connection_Purging_Strategy;
+
class TAO_Strategies_Export TAO_Resource_Factory_Changer
{
public:
@@ -86,6 +88,7 @@ public:
virtual TAO_Priority_Mapping *get_priority_mapping (void);
+ virtual TAO_Connection_Purging_Strategy *create_purging_strategy (void);
virtual TAO_LF_Strategy *create_lf_strategy (void);
protected: