summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwilson_d <wilson_d@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-10-27 17:04:34 +0000
committerwilson_d <wilson_d@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-10-27 17:04:34 +0000
commit6b91b5bcda830a14261024b894a483d28b290328 (patch)
tree640bd85c63409aa1de983fe08bbf402cf824612e
parent8a8f8354d2bdc6317c03b6db0495f5b9fec0a922 (diff)
downloadATCD-6b91b5bcda830a14261024b894a483d28b290328.tar.gz
ChangeLogTag: Wed Oct 27 11:59:01 2004 Dale Wilson <wilson_d@ociweb.com>
-rw-r--r--TAO/ChangeLog_pnotify127
-rw-r--r--TAO/orbsvcs/orbsvcs/CosNotification.mpc8
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Admin.cpp24
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Admin.h13
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Admin.inl8
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.cpp10
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.cpp2
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.h2
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.cpp2
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.h2
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp18
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp28
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.h14
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.cpp29
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.h14
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.inl20
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Event.h73
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Event.inl8
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp96
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/EventChannel.h19
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp100
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h26
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/EventType.cpp12
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/EventType.h8
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.cpp12
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.h10
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Factory.h13
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Strategy.h8
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.cpp12
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.h10
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Method_Request.cpp1
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Method_Request.h1
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.cpp198
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.h70
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.cpp70
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.h21
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.inl1
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.cpp79
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h22
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.cpp16
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Object.cpp24
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Object.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/POA_Helper.cpp17
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/POA_Helper.h9
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.cpp20
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Proxy.cpp14
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Proxy.h12
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp48
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h7
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.cpp2
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Random_File.cpp8
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Random_File.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.cpp4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.cpp4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.inl8
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.cpp227
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.h41
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.inl4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.cpp4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.cpp18
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.h2
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.inl7
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.cpp4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.cpp10
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.h2
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.cpp2
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h2
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.cpp2
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.h186
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp10
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h2
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp2
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h2
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp27
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.h15
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Topology_Factory.h2
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.cpp6
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Topology_Object.cpp6
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Topology_Object.h8
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Topology_Object.inl4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.cpp4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/XML_Loader.cpp14
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/XML_Loader.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/XML_Saver.cpp4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/XML_Saver.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.cpp4
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.h4
-rw-r--r--TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Saver.cpp2
-rw-r--r--TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Saver.h4
-rw-r--r--TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Topology_Factory.cpp6
-rw-r--r--TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Topology_Factory.h6
-rw-r--r--TAO/orbsvcs/tests/Notify/Reconnecting/Consumer.cpp45
-rw-r--r--TAO/orbsvcs/tests/Notify/Reconnecting/Supplier.cpp38
-rw-r--r--TAO/orbsvcs/tests/Notify/Reconnecting/event.conf2
-rw-r--r--TAO/orbsvcs/tests/Notify/Reconnecting/ns_mt.conf2
-rw-r--r--TAO/orbsvcs/tests/Notify/Reconnecting/ns_mt_both.conf2
-rw-r--r--TAO/orbsvcs/tests/Notify/Reconnecting/ns_mt_topo.conf2
-rw-r--r--TAO/orbsvcs/tests/Notify/Reconnecting/ns_st.conf2
-rw-r--r--TAO/orbsvcs/tests/Notify/Reconnecting/ns_st_both.conf2
-rw-r--r--TAO/orbsvcs/tests/Notify/Reconnecting/ns_st_topo.conf2
-rw-r--r--TAO/orbsvcs/tests/Notify/Unit/TestBasicTypes.cpp2
110 files changed, 1473 insertions, 705 deletions
diff --git a/TAO/ChangeLog_pnotify b/TAO/ChangeLog_pnotify
index de2607ed327..4009c8f5089 100644
--- a/TAO/ChangeLog_pnotify
+++ b/TAO/ChangeLog_pnotify
@@ -1,3 +1,130 @@
+Wed Oct 27 11:59:01 2004 Dale Wilson <wilson_d@ociweb.com>
+
+ * orbsvcs/orbsvcs/CosNotification.mpc:
+
+ * orbsvcs/orbsvcs/Notify/Admin.h:
+ * orbsvcs/orbsvcs/Notify/Admin.inl:
+ * orbsvcs/orbsvcs/Notify/Admin.cpp:
+ * orbsvcs/orbsvcs/Notify/Bit_Vector.h:
+ * orbsvcs/orbsvcs/Notify/Bit_Vector.cpp:
+ * orbsvcs/orbsvcs/Notify/Consumer.cpp:
+ * orbsvcs/orbsvcs/Notify/ConsumerAdmin.h:
+ * orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp:
+ * orbsvcs/orbsvcs/Notify/Delivery_Request.h:
+ * orbsvcs/orbsvcs/Notify/Delivery_Request.inl:
+ * orbsvcs/orbsvcs/Notify/Delivery_Request.cpp:
+ * orbsvcs/orbsvcs/Notify/Event.h:
+ * orbsvcs/orbsvcs/Notify/Event.inl:
+ * orbsvcs/orbsvcs/Notify/EventChannel.h:
+ * orbsvcs/orbsvcs/Notify/EventChannel.cpp:
+ * orbsvcs/orbsvcs/Notify/EventChannelFactory.h:
+ * orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp:
+ * orbsvcs/orbsvcs/Notify/EventType.h:
+ * orbsvcs/orbsvcs/Notify/EventType.cpp:
+ * orbsvcs/orbsvcs/Notify/EventTypeSeq.h:
+ * orbsvcs/orbsvcs/Notify/EventTypeSeq.cpp:
+ * orbsvcs/orbsvcs/Notify/Event_Persistence_Factory.h:
+ * orbsvcs/orbsvcs/Notify/Event_Persistence_Strategy.h:
+ * orbsvcs/orbsvcs/Notify/FilterAdmin.h:
+ * orbsvcs/orbsvcs/Notify/FilterAdmin.cpp:
+ * orbsvcs/orbsvcs/Notify/Method_Request.h:
+ * orbsvcs/orbsvcs/Notify/Method_Request.cpp:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.h:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.cpp:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Event.h:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Event.inl:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Event.cpp:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h:
+ * orbsvcs/orbsvcs/Notify/Method_Request_Lookup.cpp:
+ * orbsvcs/orbsvcs/Notify/Name_Value_Pair.h:
+ * orbsvcs/orbsvcs/Notify/Name_Value_Pair.cpp:
+ * orbsvcs/orbsvcs/Notify/Object.h:
+ * orbsvcs/orbsvcs/Notify/Object.cpp:
+ * orbsvcs/orbsvcs/Notify/POA_Helper.h:
+ * orbsvcs/orbsvcs/Notify/POA_Helper.cpp:
+ * orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.h:
+ * orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.cpp:
+ * orbsvcs/orbsvcs/Notify/Proxy.h:
+ * orbsvcs/orbsvcs/Notify/Proxy.cpp:
+ * orbsvcs/orbsvcs/Notify/ProxyConsumer.h:
+ * orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/ProxySupplier.cpp:
+ * orbsvcs/orbsvcs/Notify/Random_File.h:
+ * orbsvcs/orbsvcs/Notify/Random_File.cpp:
+ * orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.h:
+ * orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Reconnection_Registry.h:
+ * orbsvcs/orbsvcs/Notify/Reconnection_Registry.cpp:
+ * orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.inl:
+ * orbsvcs/orbsvcs/Notify/Routing_Slip.h:
+ * orbsvcs/orbsvcs/Notify/Routing_Slip.inl:
+ * orbsvcs/orbsvcs/Notify/Routing_Slip.cpp:
+ * orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.h:
+ * orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.cpp:
+ * orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.h:
+ * orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.inl:
+ * orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.cpp:
+ * orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.h:
+ * orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.cpp:
+ * orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.h:
+ * orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.cpp:
+ * orbsvcs/orbsvcs/Notify/SupplierAdmin.h:
+ * orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp:
+ * orbsvcs/orbsvcs/Notify/Topology_Factory.h:
+ * orbsvcs/orbsvcs/Notify/Topology_Loader.h:
+ * orbsvcs/orbsvcs/Notify/Topology_Loader.cpp:
+ * orbsvcs/orbsvcs/Notify/Topology_Object.h:
+ * orbsvcs/orbsvcs/Notify/Topology_Object.inl:
+ * orbsvcs/orbsvcs/Notify/Topology_Object.cpp:
+ * orbsvcs/orbsvcs/Notify/Topology_Saver.h:
+ * orbsvcs/orbsvcs/Notify/Topology_Saver.cpp:
+ * orbsvcs/orbsvcs/Notify/XML_Loader.h:
+ * orbsvcs/orbsvcs/Notify/XML_Loader.cpp:
+ * orbsvcs/orbsvcs/Notify/XML_Saver.h:
+ * orbsvcs/orbsvcs/Notify/XML_Saver.cpp:
+ * orbsvcs/orbsvcs/Notify/XML_Topology_Factory.h:
+ * orbsvcs/orbsvcs/Notify/XML_Topology_Factory.cpp:
+
+ * orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.cpp:
+
+ * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.cpp:
+
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h:
+ * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp:
+
+ * orbsvcs/tests/Notify/PluggableTopology/Test_Saver.h:
+ * orbsvcs/tests/Notify/PluggableTopology/Test_Saver.cpp:
+ * orbsvcs/tests/Notify/PluggableTopology/Test_Topology_Factory.h:
+ * orbsvcs/tests/Notify/PluggableTopology/Test_Topology_Factory.cpp:
+
+ * orbsvcs/tests/Notify/Reconnecting/Consumer.cpp:
+ * orbsvcs/tests/Notify/Reconnecting/Supplier.cpp:
+ * orbsvcs/tests/Notify/Reconnecting/event.conf:
+ * orbsvcs/tests/Notify/Reconnecting/ns_mt.conf:
+ * orbsvcs/tests/Notify/Reconnecting/ns_mt_both.conf:
+ * orbsvcs/tests/Notify/Reconnecting/ns_mt_topo.conf:
+ * orbsvcs/tests/Notify/Reconnecting/ns_st.conf:
+ * orbsvcs/tests/Notify/Reconnecting/ns_st_both.conf:
+ * orbsvcs/tests/Notify/Reconnecting/ns_st_topo.conf:
+
+ * orbsvcs/tests/Notify/Unit/TestBasicTypes.cpp:
+
+ Rename namespace used in OCI reliable notification service work
+ from TAO_NOTIFY to TAO_Notify (note case).
+ Integrate event reliability.
+ Status: Normal event delivery still works.
+ Reliable event delivery being tested.
+ Reload events after failure, not merged yet.
+
+
Mon Oct 25 20:41:00 2004 Dale Wilson <wilson_d@ociweb.com>
* orbsvcs/orbsvcs/CosNotification.mpc:
diff --git a/TAO/orbsvcs/orbsvcs/CosNotification.mpc b/TAO/orbsvcs/orbsvcs/CosNotification.mpc
index e63f001c538..c84bda79cae 100644
--- a/TAO/orbsvcs/orbsvcs/CosNotification.mpc
+++ b/TAO/orbsvcs/orbsvcs/CosNotification.mpc
@@ -127,6 +127,7 @@ project(CosNotification_Serv) : orbsvcslib, svc_utils, core, notification_skel,
Notify {
Notify/Admin.cpp
Notify/AdminProperties.cpp
+ Notify/Bit_Vector.cpp
Notify/Buffering_Strategy.cpp
Notify/Builder.cpp
Notify/Consumer.cpp
@@ -134,6 +135,7 @@ project(CosNotification_Serv) : orbsvcslib, svc_utils, core, notification_skel,
Notify/CosNotify_Initializer.cpp
Notify/CosNotify_Service.cpp
Notify/Default_Factory.cpp
+ Notify/Delivery_Request.cpp
Notify/ETCL_Filter.cpp
Notify/ETCL_FilterFactory.cpp
Notify/Event.cpp
@@ -160,6 +162,7 @@ project(CosNotification_Serv) : orbsvcslib, svc_utils, core, notification_skel,
Notify/Notify_EventChannelFactory_i.cpp
Notify/Object.cpp
Notify/Peer.cpp
+ Notify/Persistent_File_Allocator.cpp
Notify/POA_Helper.cpp
Notify/Properties.cpp
Notify/PropertySeq.cpp
@@ -168,12 +171,17 @@ project(CosNotification_Serv) : orbsvcslib, svc_utils, core, notification_skel,
Notify/ProxyConsumer.cpp
Notify/ProxySupplier.cpp
Notify/QoSProperties.cpp
+ Notify/Random_File.cpp
Notify/Reactive_Task.cpp
Notify/Refcountable.cpp
Notify/Reconnection_Registry.cpp
+ Notify/Routing_Slip.cpp
+ Notify/Routing_Slip_Persistence_Manager.cpp
+ Notify/Routing_Slip_Queue.cpp
Notify/Subscription_Change_Worker.cpp
Notify/Supplier.cpp
Notify/SupplierAdmin.cpp
+ Notify/Standard_Event_Persistence.cpp
Notify/ThreadPool_Task.cpp
Notify/Timer_Queue.cpp
Notify/Timer_Reactor.cpp
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Admin.cpp b/TAO/orbsvcs/orbsvcs/Notify/Admin.cpp
index e1b7b1d301b..04d5b4151d3 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Admin.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Admin.cpp
@@ -46,7 +46,7 @@ TAO_Notify_Admin::init (TAO_Notify_EventChannel *ec ACE_ENV_ARG_DECL)
this->ec_->_incr_refcnt ();
- this->TAO_NOTIFY::Topology_Object::init (ec);
+ this->TAO_Notify::Topology_Object::init (ec);
ACE_NEW_THROW_EX (this->proxy_container_,
TAO_Notify_Proxy_Container (),
@@ -101,7 +101,7 @@ TAO_Notify_Admin::insert (TAO_Notify_Proxy* proxy ACE_ENV_ARG_DECL)
}
void
-TAO_Notify_Admin::save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG_DECL)
+TAO_Notify_Admin::save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL)
{
bool changed = this->children_changed_;
this->children_changed_ = false;
@@ -109,7 +109,7 @@ TAO_Notify_Admin::save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG
if (is_persistent ())
{
- TAO_NOTIFY::NVPList attrs;
+ TAO_Notify::NVPList attrs;
this->save_attrs(attrs);
const char* type = this->get_admin_type_name();
@@ -129,7 +129,7 @@ TAO_Notify_Admin::save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG
ACE_CHECK;
}
- TAO_NOTIFY::Save_Persist_Worker<TAO_Notify_Proxy> wrk(saver, want_all_children);
+ TAO_Notify::Save_Persist_Worker<TAO_Notify_Proxy> wrk(saver, want_all_children);
this->proxy_container_->collection()->for_each(&wrk ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
@@ -138,18 +138,18 @@ TAO_Notify_Admin::save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG
}
void
-TAO_Notify_Admin::save_attrs (TAO_NOTIFY::NVPList& attrs)
+TAO_Notify_Admin::save_attrs (TAO_Notify::NVPList& attrs)
{
TAO_Notify_Object::save_attrs(attrs);
- attrs.push_back(TAO_NOTIFY::NVP("InterFilterGroupOperator", this->filter_operator_));
+ attrs.push_back(TAO_Notify::NVP("InterFilterGroupOperator", this->filter_operator_));
if (this->is_default_)
{
- attrs.push_back (TAO_NOTIFY::NVP ("default", "yes"));
+ attrs.push_back (TAO_Notify::NVP ("default", "yes"));
}
}
void
-TAO_Notify_Admin::load_attrs(const TAO_NOTIFY::NVPList& attrs)
+TAO_Notify_Admin::load_attrs(const TAO_Notify::NVPList& attrs)
{
TAO_Notify_Object::load_attrs (attrs);
const char * value = 0;
@@ -163,11 +163,11 @@ TAO_Notify_Admin::load_attrs(const TAO_NOTIFY::NVPList& attrs)
}
}
-TAO_NOTIFY::Topology_Object*
+TAO_Notify::Topology_Object*
TAO_Notify_Admin::load_child (const ACE_CString &type,
- CORBA::Long id, const TAO_NOTIFY::NVPList& attrs ACE_ENV_ARG_DECL)
+ CORBA::Long id, const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL)
{
- TAO_NOTIFY::Topology_Object* result = this;
+ TAO_Notify::Topology_Object* result = this;
if (type == "subscriptions")
{
if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG,
@@ -193,7 +193,7 @@ TAO_Notify_Admin::load_child (const ACE_CString &type,
void
TAO_Notify_Admin::reconnect (ACE_ENV_SINGLE_ARG_DECL)
{
- TAO_NOTIFY::Reconnect_Worker<TAO_Notify_Proxy> wrk;
+ TAO_Notify::Reconnect_Worker<TAO_Notify_Proxy> wrk;
this->proxy_container_->collection()->for_each(&wrk ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Admin.h b/TAO/orbsvcs/orbsvcs/Notify/Admin.h
index 592c8481560..ea1029d8cc1 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Admin.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Admin.h
@@ -35,7 +35,7 @@ template <class TYPE> class TAO_Notify_Container_T;
*
*/
-class TAO_Notify_Serv_Export TAO_Notify_Admin : public TAO_NOTIFY::Topology_Parent
+class TAO_Notify_Serv_Export TAO_Notify_Admin : public TAO_Notify::Topology_Parent
{
friend class TAO_Notify_Builder;
public:
@@ -72,20 +72,21 @@ public:
void subscribed_types (TAO_Notify_EventTypeSeq& subscribed_types
ACE_ENV_ARG_DECL);
+ TAO_Notify_EventChannel * event_channel () const;
/// Shutdown
virtual int shutdown (ACE_ENV_SINGLE_ARG_DECL);
- virtual void save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG_DECL);
- virtual TAO_NOTIFY::Topology_Object* load_child (const ACE_CString &type,
- CORBA::Long id, const TAO_NOTIFY::NVPList& attrs ACE_ENV_ARG_DECL);
+ virtual void save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL);
+ virtual TAO_Notify::Topology_Object* load_child (const ACE_CString &type,
+ CORBA::Long id, const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL);
virtual void reconnect (ACE_ENV_SINGLE_ARG_DECL);
void set_default (bool is_default);
bool is_default () const;
- virtual void load_attrs(const TAO_NOTIFY::NVPList& attrs);
+ virtual void load_attrs(const TAO_Notify::NVPList& attrs);
protected:
- void save_attrs (TAO_NOTIFY::NVPList& attrs);
+ void save_attrs (TAO_Notify::NVPList& attrs);
virtual const char * get_admin_type_name (void) const = 0;
protected:
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Admin.inl b/TAO/orbsvcs/orbsvcs/Notify/Admin.inl
index 155f2743b5b..f675842ad8c 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Admin.inl
+++ b/TAO/orbsvcs/orbsvcs/Notify/Admin.inl
@@ -1,5 +1,13 @@
// $Id$
+ACE_INLINE
+TAO_Notify_EventChannel *
+TAO_Notify_Admin::event_channel () const
+{
+ return this->ec_;
+}
+
+
ACE_INLINE TAO_Notify_FilterAdmin&
TAO_Notify_Admin::filter_admin (void)
{
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.cpp
index c660897de91..0b93c980ee3 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.cpp
@@ -10,8 +10,7 @@ ACE_RCSID (Notify, TAO_Notify_ProxyPushConsumer, "$Id$")
#include "tao/debug.h"
#include "../AdminProperties.h"
-#include "../Method_Request_Lookup.h"
-#include "../Worker_Task.h"
+#include "../Properties.h"
#include "AnyEvent.h"
#include "PushSupplier.h"
@@ -60,10 +59,7 @@ TAO_Notify_ProxyPushConsumer::push (const CORBA::Any& any ACE_ENV_ARG_DECL)
}
TAO_Notify_AnyEvent_No_Copy event (any);
-
- TAO_Notify_Method_Request_Lookup_No_Copy request (&event, this);
-
- this->worker_task ()->execute (request ACE_ENV_ARG_PARAMETER);
+ this->push_i (&event ACE_ENV_ARG_PARAMETER);
}
void
@@ -104,7 +100,7 @@ TAO_Notify_ProxyPushConsumer::get_proxy_type_name (void) const
}
void
-TAO_Notify_ProxyPushConsumer::load_attrs (const TAO_NOTIFY::NVPList& attrs)
+TAO_Notify_ProxyPushConsumer::load_attrs (const TAO_Notify::NVPList& attrs)
{
SuperClass::load_attrs(attrs);
ACE_CString ior;
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h b/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h
index 4c6d1a60b94..ef66f3ec7b9 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h
@@ -53,10 +53,10 @@ public:
/// Release
virtual void release (void);
-// virtual void save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG_DECL);
+// virtual void save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL);
virtual const char * get_proxy_type_name (void) const;
- virtual void load_attrs (const TAO_NOTIFY::NVPList& attrs);
+ virtual void load_attrs (const TAO_Notify::NVPList& attrs);
protected:
///= CosNotifyChannelAdmin::ProxyPushConsumer methods
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.cpp b/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.cpp
index 0b8579fc93e..acb9df825dd 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.cpp
@@ -80,7 +80,7 @@ TAO_Notify_ProxyPushSupplier::get_proxy_type_name (void) const
}
void
-TAO_Notify_ProxyPushSupplier::load_attrs (const TAO_NOTIFY::NVPList& attrs)
+TAO_Notify_ProxyPushSupplier::load_attrs (const TAO_Notify::NVPList& attrs)
{
SuperClass::load_attrs(attrs);
ACE_CString ior;
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.h b/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.h
index 9fd946fe17c..158292d9f86 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.h
@@ -60,7 +60,7 @@ public:
virtual const char * get_proxy_type_name (void) const;
- virtual void load_attrs (const TAO_NOTIFY::NVPList& attrs);
+ virtual void load_attrs (const TAO_Notify::NVPList& attrs);
// = Interface methods
virtual CosNotifyChannelAdmin::ProxyType MyType (ACE_ENV_SINGLE_ARG_DECL)
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.cpp b/TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.cpp
index 1c4ebf58906..65fc33cde83 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.cpp
@@ -2,7 +2,7 @@
#include "Bit_Vector.h"
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
Bit_Vector::Bit_Vector()
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.h b/TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.h
index 9988f2738e5..b9f090dac6d 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Bit_Vector.h
@@ -26,7 +26,7 @@
#include "ace/Vector_T.h"
#include "ace/Basic_Types.h"
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
/// \brief Simple bit vector.
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp
index 203bfa2c32b..f7b23e7d7b6 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Consumer.cpp
@@ -90,12 +90,12 @@ TAO_Notify_Consumer::enqueue_request (
TAO_Notify_Method_Request_Event * request
ACE_ENV_ARG_DECL)
{
- const TAO_Notify_Event * pevent = request->event ()->queueable_copy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ TAO_Notify_Event_var event_var;
+ request->event ()->queueable_copy (event_var ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
- TAO_Notify_Event_Copy_var event (pevent);
TAO_Notify_Method_Request_Event_Queueable * queue_entry;
ACE_NEW_THROW_EX (queue_entry,
- TAO_Notify_Method_Request_Event_Queueable (*request, event),
+ TAO_Notify_Method_Request_Event_Queueable (*request, event_var),
CORBA::NO_MEMORY ());
ACE_CHECK;
@@ -120,12 +120,12 @@ TAO_Notify_Consumer::enqueue_if_necessary (TAO_Notify_Method_Request_Event * req
ACE_static_cast (int, this->proxy ()->id ()),
request->sequence ()
));
- const TAO_Notify_Event * pevent = request->event ()->queueable_copy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ TAO_Notify_Event_var event_var;
+ request->event ()->queueable_copy (event_var ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (false);
- TAO_Notify_Event_Copy_var event (pevent);
TAO_Notify_Method_Request_Event_Queueable * queue_entry;
ACE_NEW_THROW_EX (queue_entry,
- TAO_Notify_Method_Request_Event_Queueable (*request, event),
+ TAO_Notify_Method_Request_Event_Queueable (*request, event_var),
CORBA::NO_MEMORY ());
ACE_CHECK_RETURN (false);
this->pending_events_->enqueue_tail (queue_entry);
@@ -139,12 +139,12 @@ TAO_Notify_Consumer::enqueue_if_necessary (TAO_Notify_Method_Request_Event * req
ACE_static_cast (int, this->proxy ()->id ()),
request->sequence ()
));
- const TAO_Notify_Event * pevent = request->event ()->queueable_copy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ TAO_Notify_Event_var event_var;
+ request->event ()->queueable_copy (event_var ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (false);
- TAO_Notify_Event_Copy_var event (pevent);
TAO_Notify_Method_Request_Event_Queueable * queue_entry;
ACE_NEW_THROW_EX (queue_entry,
- TAO_Notify_Method_Request_Event_Queueable (*request, event),
+ TAO_Notify_Method_Request_Event_Queueable (*request, event_var),
CORBA::NO_MEMORY ());
ACE_CHECK_RETURN (false);
this->pending_events_->enqueue_tail (queue_entry);
diff --git a/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp b/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp
index 9ff52de580b..09a89927501 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp
@@ -100,11 +100,11 @@ TAO_Notify_ConsumerAdmin::destroy (ACE_ENV_SINGLE_ARG_DECL)
}
-TAO_NOTIFY::Topology_Object*
+TAO_Notify::Topology_Object*
TAO_Notify_ConsumerAdmin::load_child (const ACE_CString &type,
- CORBA::Long id, const TAO_NOTIFY::NVPList& attrs ACE_ENV_ARG_DECL)
+ CORBA::Long id, const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL)
{
- TAO_NOTIFY::Topology_Object* result = this;
+ TAO_Notify::Topology_Object* result = this;
if (type == "proxy_push_supplier")
{
if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG,
@@ -151,11 +151,11 @@ TAO_Notify_ConsumerAdmin::load_child (const ACE_CString &type,
return result;
}
-TAO_NOTIFY::Topology_Object*
+TAO_Notify::Topology_Object*
TAO_Notify_ConsumerAdmin::load_proxy (
CORBA::Long id,
CosNotifyChannelAdmin::ClientType ctype,
- const TAO_NOTIFY::NVPList& attrs ACE_ENV_ARG_DECL)
+ const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL)
{
TAO_Notify_Builder* bld = TAO_Notify_PROPERTIES::instance()->builder();
TAO_Notify_ProxySupplier * proxy =
@@ -463,6 +463,24 @@ TAO_Notify_ConsumerAdmin::obtain_pull_supplier (ACE_ENV_SINGLE_ARG_DECL)
ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CosEventChannelAdmin::ProxyPullSupplier::_nil ());
}
+TAO_Notify_ProxySupplier *
+TAO_Notify_ConsumerAdmin::find_proxy_supplier (
+ TAO_Notify::IdVec & id_path,
+ size_t position
+ ACE_ENV_ARG_DECL)
+{
+ TAO_Notify_ProxySupplier * result = 0;
+ size_t path_size = id_path.size ();
+ if (position < path_size)
+ {
+ TAO_Notify_ProxySupplier_Find_Worker find_worker;
+ TAO_Notify_Proxy * proxy = find_worker.find (id_path[position], *this->proxy_container_ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ result = dynamic_cast <TAO_Notify_ProxySupplier *> (proxy);
+ }
+ return result;
+}
+
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
template class TAO_Notify_Find_Worker_T<TAO_Notify_Proxy
diff --git a/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.h b/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.h
index 880129fd4e1..2f4632fba01 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/ConsumerAdmin.h
@@ -23,6 +23,7 @@
#include "orbsvcs/NotifyExtS.h"
#include "Admin.h"
+class TAO_Notify_ProxySupplier;
#if defined(_MSC_VER)
#if (_MSC_VER >= 1200)
@@ -59,17 +60,22 @@ public:
virtual const char * get_admin_type_name () const;
- virtual TAO_NOTIFY::Topology_Object* load_child (
+ virtual TAO_Notify::Topology_Object* load_child (
const ACE_CString &type,
CORBA::Long id,
- const TAO_NOTIFY::NVPList& attrs
+ const TAO_Notify::NVPList& attrs
ACE_ENV_ARG_DECL);
+ TAO_Notify_ProxySupplier * find_proxy_supplier (
+ TAO_Notify::IdVec & id_path,
+ size_t position
+ ACE_ENV_ARG_DECL);
+
protected:
- TAO_NOTIFY::Topology_Object *load_proxy (
+ TAO_Notify::Topology_Object *load_proxy (
CORBA::Long id,
CosNotifyChannelAdmin::ClientType ctype,
- const TAO_NOTIFY::NVPList& attrs
+ const TAO_Notify::NVPList& attrs
ACE_ENV_ARG_DECL);
/// = NotifyExt::ConsumerAdmin methods
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.cpp b/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.cpp
index 63445e7af3c..3cd55e69237 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.cpp
@@ -6,7 +6,6 @@
#include "Delivery_Request.inl"
#endif /* __ACE_INLINE__ */
-#include "Routing_Slip.h"
#include "tao/debug.h"
//#define DEBUG_LEVEL 9
@@ -14,7 +13,7 @@
# define DEBUG_LEVEL TAO_debug_level
#endif //DEBUG_LEVEL
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
///////////////////
@@ -46,7 +45,7 @@ Delivery_Request::complete ()
// DO NOT INLINE THIS. It uses the Routing_Slip_Ptr which cannot be declared at
// the time Delivery_Request.inl is compiled.
-const TAO_Notify_Event_Copy_var &
+const TAO_Notify_Event_var &
Delivery_Request::event () const
{
return this->routing_slip_->event ();
@@ -70,20 +69,20 @@ Delivery_Request::marshal (TAO_OutputCDR & cdr)
} // namespace
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-//template class ACE_Auto_Basic_Ptr<TAO_NOTIFY::Routing_Slip>;
-//template class ACE_Strong_Bound_Ptr<TAO_NOTIFY::Routing_Slip, TAO_SYNCH_MUTEX>;
-//template class ACE_Auto_Basic_Ptr<TAO_NOTIFY::Delivery_Request>;
-//template class ACE_Strong_Bound_Ptr<TAO_NOTIFY::Delivery_Request,TAO_SYNCH_MUTEX>;
+//template class ACE_Auto_Basic_Ptr<TAO_Notify::Routing_Slip>;
+//template class ACE_Strong_Bound_Ptr<TAO_Notify::Routing_Slip, TAO_SYNCH_MUTEX>;
+//template class ACE_Auto_Basic_Ptr<TAO_Notify::Delivery_Request>;
+//template class ACE_Strong_Bound_Ptr<TAO_Notify::Delivery_Request,TAO_SYNCH_MUTEX>;
// Duplicated in Routing_Slip.cpp
-//template class ACE_Vector <TAO_NOTIFY::Delivery_Request_Ptr>;
-//template class ACE_Array_Base<ACE_Strong_Bound_Ptr<TAO_NOTIFY::Delivery_Request,TAO_SYNCH_MUTEX> >;
+//template class ACE_Vector <TAO_Notify::Delivery_Request_Ptr>;
+//template class ACE_Array_Base<ACE_Strong_Bound_Ptr<TAO_Notify::Delivery_Request,TAO_SYNCH_MUTEX> >;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-//#pragma instantiate ACE_Auto_Basic_Ptr<TAO_NOTIFY::Routing_Slip>
-//#pragma instantiate ACE_Strong_Bound_Ptr<TAO_NOTIFY::Routing_Slip,TAO_SYNCH_MUTEX>
-//#pragma instantiate ACE_Auto_Basic_Ptr<TAO_NOTIFY::Delivery_Request>
-//#pragma instantiate ACE_Strong_Bound_Ptr<TAO_NOTIFY::Delivery_Request,TAO_SYNCH_MUTEX>
+//#pragma instantiate ACE_Auto_Basic_Ptr<TAO_Notify::Routing_Slip>
+//#pragma instantiate ACE_Strong_Bound_Ptr<TAO_Notify::Routing_Slip,TAO_SYNCH_MUTEX>
+//#pragma instantiate ACE_Auto_Basic_Ptr<TAO_Notify::Delivery_Request>
+//#pragma instantiate ACE_Strong_Bound_Ptr<TAO_Notify::Delivery_Request,TAO_SYNCH_MUTEX>
// Duplicated in Routing_Slip.cpp
-//#pragma instantiate ACE_Vector <TAO_NOTIFY::Delivery_Request_Ptr>
-//#pragma instantiate ACE_Array_Base<ACE_Strong_Bound_Ptr<TAO_NOTIFY::Delivery_Request,TAO_SYNCH_MUTEX> >
+//#pragma instantiate ACE_Vector <TAO_Notify::Delivery_Request_Ptr>
+//#pragma instantiate ACE_Array_Base<ACE_Strong_Bound_Ptr<TAO_Notify::Delivery_Request,TAO_SYNCH_MUTEX> >
#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.h b/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.h
index 29cd06868ed..6bdf5c08496 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.h
@@ -18,10 +18,10 @@
// Forward declarations of referenced classes
class TAO_Notify_EventChannelFactory;
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
-// Forward declarations of TAO_NOTIFY classes/pointers/collections declared
+// Forward declarations of TAO_Notify classes/pointers/collections declared
// in this header
class Delivery_Request;
/// A reference-counted smart pointer to a Delivery_Request.
@@ -29,7 +29,7 @@ typedef ACE_Strong_Bound_Ptr<Delivery_Request, TAO_SYNCH_MUTEX> Delivery_Request
typedef ACE_Unbounded_Queue<Delivery_Request_Ptr> Delivery_Request_Queue;
-// Forward declarations of TAO_NOTIFY classes/pointers/collections referenced
+// Forward declarations of TAO_Notify classes/pointers/collections referenced
// in this header
class Routing_Slip;
@@ -72,7 +72,7 @@ public:
void complete ();
/// \brief An accessor method for the event associated with the Routing Slip that owns this Delivery request.
- const TAO_Notify_Event_Copy_var & event () const;
+ const TAO_Notify_Event_var & event () const;
/// \brief An accessor method for the routing slip that owns this request.
const Routing_Slip_Ptr & routing_slip ()const;
@@ -92,6 +92,12 @@ public:
/// Called during persistent event storage.
void marshal (TAO_OutputCDR & cdr);
+ /// expose routing slip method
+ unsigned long sequence () const;
+
+ /// expose routing slip method
+ bool should_retry () const;
+
// Meaningless, but needed by ACE_Vector on some platforms (gcc2.x LynxOS)
bool operator == (const Delivery_Request & rhs) const;
// Meaningless, but needed by ACE_Vector on some platforms
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.inl b/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.inl
index 7f6dde042be..c8b279b908d 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.inl
+++ b/TAO/orbsvcs/orbsvcs/Notify/Delivery_Request.inl
@@ -1,7 +1,8 @@
/* -*- C++ -*- */
// $Id$
+#include "Routing_Slip.h"
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
ACE_INLINE
@@ -25,6 +26,21 @@ Delivery_Request::set_destination_id (IdVec & destination_id)
this->destination_id_ = destination_id;
}
-} // namespace TAO_NOTIFY
+ACE_INLINE
+unsigned long
+Delivery_Request::sequence () const
+{
+ return this->routing_slip_->sequence ();
+}
+
+ACE_INLINE
+bool
+Delivery_Request::should_retry () const
+{
+ return this->routing_slip_->should_retry ();
+}
+
+
+} // namespace TAO_Notify
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event.h b/TAO/orbsvcs/orbsvcs/Notify/Event.h
index 8e0a2b03f26..3bc2296490f 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Event.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Event.h
@@ -35,6 +35,42 @@
class TAO_Notify_Consumer;
class TAO_Notify_EventType;
+class TAO_Notify_Event;
+
+typedef TAO_Notify_Refcountable_Guard_T<TAO_Notify_Event> TAO_Notify_Event_var_Base;
+
+/**
+ * @class TAO_Notify_Event_var
+ *
+ * @brief A Non-Copy version of the smart pointer that hides the constructors.
+ *
+ */
+class TAO_Notify_Event_var : public TAO_Notify_Event_var_Base
+{
+public:
+ /// Default Constructor
+ TAO_Notify_Event_var (void);
+
+protected:
+ /// Constructor
+ TAO_Notify_Event_var (const TAO_Notify_Event* event);
+};
+
+/**
+ * @class TAO_Notify_Event
+ *
+ * @brief A smart pointer that allows construction from a TAO_Notify_Event
+ *
+ */
+class TAO_Notify_Event_Copy_var : public TAO_Notify_Event_var
+{
+public:
+ /// Default Constructor
+ TAO_Notify_Event_Copy_var (void);
+
+ /// Constructor
+ TAO_Notify_Event_Copy_var (const TAO_Notify_Event* event);
+};
/**
* @class TAO_Notify_Event
@@ -88,7 +124,7 @@ public:
virtual void push_no_filtering (Event_Forwarder::ProxyPushSupplier_ptr forwarder ACE_ENV_ARG_DECL) const = 0;
/// Return a pointer to a copy of this event on the heap
- const TAO_Notify_Event * queueable_copy (ACE_ENV_SINGLE_ARG_DECL) const;
+ void queueable_copy (TAO_Notify_Event_var & ptr ACE_ENV_ARG_DECL) const;
/// marshal this event into a CDR buffer (for persistence)
virtual void marshal (TAO_OutputCDR & cdr) const = 0;
@@ -125,41 +161,6 @@ protected:
TAO_Notify_Event * event_on_heap_;
};
-typedef TAO_Notify_Refcountable_Guard_T<TAO_Notify_Event> TAO_Notify_Event_var_Base;
-
-/**
- * @class TAO_Notify_Event_var
- *
- * @brief A Non-Copy version of the smart pointer that hides the constructors.
- *
- */
-class TAO_Notify_Event_var : public TAO_Notify_Event_var_Base
-{
-public:
- /// Default Constructor
- TAO_Notify_Event_var (void);
-
-protected:
- /// Constructor
- TAO_Notify_Event_var (const TAO_Notify_Event* event);
-};
-
-/**
- * @class TAO_Notify_Event
- *
- * @brief A smart pointer that allows construction from a TAO_Notify_Event
- *
- */
-class TAO_Notify_Event_Copy_var : public TAO_Notify_Event_var
-{
-public:
- /// Default Constructor
- TAO_Notify_Event_Copy_var (void);
-
- /// Constructor
- TAO_Notify_Event_Copy_var (const TAO_Notify_Event* event);
-};
-
#if defined (__ACE_INLINE__)
#include "Event.inl"
#endif /* __ACE_INLINE__ */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event.inl b/TAO/orbsvcs/orbsvcs/Notify/Event.inl
index 474644700c5..b51106e8276 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Event.inl
+++ b/TAO/orbsvcs/orbsvcs/Notify/Event.inl
@@ -47,17 +47,17 @@ TAO_Notify_Event_Copy_var::TAO_Notify_Event_Copy_var (const TAO_Notify_Event* ev
}
ACE_INLINE
-const TAO_Notify_Event *
-TAO_Notify_Event::queueable_copy (ACE_ENV_SINGLE_ARG_DECL) const
+void //const TAO_Notify_Event *
+TAO_Notify_Event::queueable_copy (TAO_Notify_Event_var & ptr ACE_ENV_ARG_DECL) const
{
if (this->event_on_heap_ == 0)
{
TAO_Notify_Event * copied =
this->copy (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_CHECK_RETURN (0);
+ ACE_CHECK;
const_cast <TAO_Notify_Event *> (this)->event_on_heap_ = copied;
copied->event_on_heap_ = copied;
}
- return this->event_on_heap_;
+ ptr = TAO_Notify_Event_Copy_var (this->event_on_heap_);
}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp b/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp
index c9a7d28c6a4..2c7103de567 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/EventChannel.cpp
@@ -63,7 +63,7 @@ TAO_Notify_EventChannel::init (TAO_Notify_EventChannelFactory* ecf
, const CosNotification::AdminProperties & initial_admin
ACE_ENV_ARG_DECL)
{
- this->TAO_NOTIFY::Topology_Object::init (ecf);
+ this->TAO_Notify::Topology_Object::init (ecf);
this->ecf_ = ecf;
@@ -129,7 +129,7 @@ void
TAO_Notify_EventChannel::init (TAO_Notify_EventChannelFactory* ecf
ACE_ENV_ARG_DECL)
{
- this->TAO_NOTIFY::Topology_Object::init (ecf);
+ this->TAO_Notify::Topology_Object::init (ecf);
this->ecf_ = ecf;
@@ -483,7 +483,7 @@ TAO_Notify_EventChannel::validate_qos (const CosNotification::QoSProperties & /*
}
void
-TAO_Notify_EventChannel::save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG_DECL)
+TAO_Notify_EventChannel::save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL)
{
bool changed = this->self_changed_;
this->self_changed_ = false;
@@ -491,20 +491,20 @@ TAO_Notify_EventChannel::save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_
if (is_persistent ())
{
- TAO_NOTIFY::NVPList attrs;
+ TAO_Notify::NVPList attrs;
this->save_attrs(attrs);
bool want_all_children = saver.begin_object(
this->id(), "channel", attrs, changed ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
- TAO_NOTIFY::Save_Persist_Worker<TAO_Notify_ConsumerAdmin> ca_wrk(saver, want_all_children);
+ TAO_Notify::Save_Persist_Worker<TAO_Notify_ConsumerAdmin> ca_wrk(saver, want_all_children);
ACE_ASSERT(this->ca_container_ != 0);
this->ca_container_->collection()->for_each(&ca_wrk ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
- TAO_NOTIFY::Save_Persist_Worker<TAO_Notify_SupplierAdmin> sa_wrk(saver, want_all_children);
+ TAO_Notify::Save_Persist_Worker<TAO_Notify_SupplierAdmin> sa_wrk(saver, want_all_children);
ACE_ASSERT(this->sa_container_ != 0);
this->sa_container_->collection()->for_each(&sa_wrk ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
@@ -515,27 +515,27 @@ TAO_Notify_EventChannel::save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_
namespace {
template<class T>
- void add_attr(TAO_NOTIFY::NVPList& attrs, const T& prop) {
+ void add_attr(TAO_Notify::NVPList& attrs, const T& prop) {
if (prop.is_valid())
{
- attrs.push_back(TAO_NOTIFY::NVP (prop));
+ attrs.push_back(TAO_Notify::NVP (prop));
}
}
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template void add_attr<TAO_NS_Property_Boolean>(TAO_NOTIFY::NVPList&,
- const TAO_NS_Property_Boolean&);
-template void add_attr<TAO_NS_Property_T<int> >(TAO_NOTIFY::NVPList&,
- const TAO_NS_Property_T<int>&);
+template void add_attr<TAO_Notify_Property_Boolean>(TAO_Notify::NVPList&,
+ const TAO_Notify_Property_Boolean&);
+template void add_attr<TAO_Notify_Property_T<int> >(TAO_Notify::NVPList&,
+ const TAO_Notify_Property_T<int>&);
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate void add_attr<TAO_NS_Property_Boolean>(\
- TAO_NOTIFY::NVPList&, const TAO_NS_Property_Boolean&)
-#pragma instantiate void add_attr<TAO_NS_Property_T<int> >(\
- TAO_NOTIFY::NVPList&, const TAO_NS_Property_T<int>&)
+#pragma instantiate void add_attr<TAO_Notify_Property_Boolean>(\
+ TAO_Notify::NVPList&, const TAO_Notify_Property_Boolean&)
+#pragma instantiate void add_attr<TAO_Notify_Property_T<int> >(\
+ TAO_Notify::NVPList&, const TAO_Notify_Property_T<int>&)
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
}
void
-TAO_Notify_EventChannel::save_attrs(TAO_NOTIFY::NVPList& attrs)
+TAO_Notify_EventChannel::save_attrs(TAO_Notify::NVPList& attrs)
{
TAO_Notify_Object::save_attrs(attrs);
add_attr(attrs, this->admin_properties_->max_global_queue_length());
@@ -545,7 +545,7 @@ TAO_Notify_EventChannel::save_attrs(TAO_NOTIFY::NVPList& attrs)
}
void
-TAO_Notify_EventChannel::load_attrs(const TAO_NOTIFY::NVPList& attrs)
+TAO_Notify_EventChannel::load_attrs(const TAO_Notify::NVPList& attrs)
{
TAO_Notify_Object::load_attrs(attrs);
attrs.load(this->admin_properties_->max_global_queue_length());
@@ -555,13 +555,13 @@ TAO_Notify_EventChannel::load_attrs(const TAO_NOTIFY::NVPList& attrs)
this->admin_properties_->init();
}
-TAO_NOTIFY::Topology_Object *
+TAO_Notify::Topology_Object *
TAO_Notify_EventChannel::load_child (const ACE_CString &type,
CORBA::Long id,
- const TAO_NOTIFY::NVPList& attrs
+ const TAO_Notify::NVPList& attrs
ACE_ENV_ARG_DECL)
{
- TAO_NOTIFY::Topology_Object* result = this;
+ TAO_Notify::Topology_Object* result = this;
if (type == "consumer_admin")
{
if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG,
@@ -615,16 +615,58 @@ TAO_Notify_EventChannel::load_child (const ACE_CString &type,
}
return result;
}
+TAO_Notify_ProxyConsumer *
+TAO_Notify_EventChannel::find_proxy_consumer (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL)
+{
+ TAO_Notify_ProxyConsumer * result = 0;
+ size_t path_size = id_path.size ();
+ if (position < path_size)
+ {
+ TAO_Notify_SupplierAdmin_Find_Worker find_worker;
+ TAO_Notify_SupplierAdmin * admin = find_worker.find (id_path[position], *this->sa_container_ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ ++position;
+ if (admin != 0)
+ {
+ result = admin->find_proxy_consumer (id_path, position
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+ }
+ }
+ return result;
+}
+
+TAO_Notify_ProxySupplier *
+TAO_Notify_EventChannel::find_proxy_supplier (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL)
+{
+ TAO_Notify_ProxySupplier * result = 0;
+ size_t path_size = id_path.size ();
+ if (position < path_size)
+ {
+ TAO_Notify_ConsumerAdmin_Find_Worker find_worker;
+ TAO_Notify_ConsumerAdmin * admin = find_worker.find (id_path[position], *this->ca_container_ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ ++position;
+ if (admin != 0)
+ {
+ result = admin->find_proxy_supplier (id_path, position
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+ }
+ }
+ return result;
+}
+
void
TAO_Notify_EventChannel::reconnect (ACE_ENV_SINGLE_ARG_DECL)
{
- TAO_NOTIFY::Reconnect_Worker<TAO_Notify_ConsumerAdmin> ca_wrk;
+ TAO_Notify::Reconnect_Worker<TAO_Notify_ConsumerAdmin> ca_wrk;
ACE_ASSERT(this->ca_container_ != 0);
this->ca_container_->collection()->for_each(&ca_wrk ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
- TAO_NOTIFY::Reconnect_Worker<TAO_Notify_SupplierAdmin> sa_wrk;
+ TAO_Notify::Reconnect_Worker<TAO_Notify_SupplierAdmin> sa_wrk;
ACE_ASSERT(this->sa_container_ != 0);
this->sa_container_->collection()->for_each(&sa_wrk ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
@@ -652,8 +694,8 @@ template class TAO_ESF_Shutdown_Proxy<TAO_Notify_SupplierAdmin>;
template class Save_Persist_Worker<TAO_Notify_ConsumerAdmin>;
template class Save_Persist_Worker<TAO_Notify_SupplierAdmin>;
-template class TAO_NOTIFY::Reconnect_Worker<TAO_Notify_ConsumerAdmin>;
-template class TAO_NOTIFY::Reconnect_Worker<TAO_Notify_SupplierAdmin>;
+template class TAO_Notify::Reconnect_Worker<TAO_Notify_ConsumerAdmin>;
+template class TAO_Notify::Reconnect_Worker<TAO_Notify_SupplierAdmin>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
@@ -677,7 +719,7 @@ template class TAO_NOTIFY::Reconnect_Worker<TAO_Notify_SupplierAdmin>;
#pragma instantiate Save_Persist_Worker<TAO_Notify_ConsumerAdmin>
#pragma instantiate Save_Persist_Worker<TAO_Notify_SupplierAdmin>
-#pragma instantiate TAO_NOTIFY::Reconnect_Worker<TAO_Notify_ConsumerAdmin>
-#pragma instantiate TAO_NOTIFY::Reconnect_Worker<TAO_Notify_SupplierAdmin>
+#pragma instantiate TAO_Notify::Reconnect_Worker<TAO_Notify_ConsumerAdmin>
+#pragma instantiate TAO_Notify::Reconnect_Worker<TAO_Notify_SupplierAdmin>
#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventChannel.h b/TAO/orbsvcs/orbsvcs/Notify/EventChannel.h
index 69652d43329..c52843ac570 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/EventChannel.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/EventChannel.h
@@ -46,7 +46,7 @@ template <class TYPE> class TAO_Notify_Container_T;
*/
class TAO_Notify_Serv_Export TAO_Notify_EventChannel
: public POA_CosNotifyChannelAdmin::EventChannel,
- public TAO_NOTIFY::Topology_Parent
+ public TAO_Notify::Topology_Parent
{
friend class TAO_Notify_Builder;
@@ -80,29 +80,30 @@ public:
virtual void _add_ref (ACE_ENV_SINGLE_ARG_DECL);
virtual void _remove_ref (ACE_ENV_SINGLE_ARG_DECL);
- // TAO_NOTIFY::Topology_Parent
+ // TAO_Notify::Topology_Parent
- virtual void save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG_DECL);
- virtual TAO_NOTIFY::Topology_Object* load_child (const ACE_CString &type,
+ virtual void save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL);
+ virtual TAO_Notify::Topology_Object* load_child (const ACE_CString &type,
CORBA::Long id,
- const TAO_NOTIFY::NVPList& attrs
+ const TAO_Notify::NVPList& attrs
ACE_ENV_ARG_DECL);
virtual void reconnect (ACE_ENV_SINGLE_ARG_DECL);
virtual TAO_Notify_Object::ID get_id () const {return id();}
- TAO_Notify_ProxyConsumer * find_proxy_consumer (TAO_NOTIFY::IdVec & id_path, size_t position ACE_ENV_ARG_DECL);
- TAO_Notify_ProxySupplier * find_proxy_supplier (TAO_NOTIFY::IdVec & id_path, size_t position ACE_ENV_ARG_DECL);
+ TAO_Notify_ProxyConsumer * find_proxy_consumer (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL);
+ TAO_Notify_ProxySupplier * find_proxy_supplier (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL);
/// Release
virtual void release (void);
/// Shutdown
virtual int shutdown (ACE_ENV_SINGLE_ARG_DECL);
- virtual void load_attrs(const TAO_NOTIFY::NVPList& attrs);
+ virtual void load_attrs(const TAO_Notify::NVPList& attrs);
+
protected:
- virtual void save_attrs(TAO_NOTIFY::NVPList& attrs);
+ virtual void save_attrs(TAO_Notify::NVPList& attrs);
protected:
typedef TAO_Notify_Container_T <TAO_Notify_ConsumerAdmin> TAO_Notify_ConsumerAdmin_Container;
diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp b/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp
index 7cf169874fb..ad1b3a8661f 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp
@@ -25,7 +25,7 @@ ACE_RCSID(Notify, TAO_Notify_EventChannelFactory, "$Id$")
#include "Seq_Worker_T.h"
#include "tao/debug.h"
-//#define DEBUG_LEVEL 10
+//#define DEBUG_LEVEL 9
#ifndef DEBUG_LEVEL
# define DEBUG_LEVEL TAO_debug_level
#endif //DEBUG_LEVEL
@@ -117,7 +117,7 @@ TAO_Notify_EventChannelFactory::init (PortableServer::POA_ptr poa ACE_ENV_ARG_DE
// Note topology factory is configured separately from the "builder" mediated
// objects since it is independant of the "style" of Notification Service.
this->topology_factory_ =
- ACE_Dynamic_Service <TAO_NOTIFY::Topology_Factory>::instance ("Topology_Factory");
+ ACE_Dynamic_Service <TAO_Notify::Topology_Factory>::instance ("Topology_Factory");
this->load_topology (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK;
@@ -218,7 +218,7 @@ TAO_Notify_EventChannelFactory::get_event_channel (CosNotifyChannelAdmin::Channe
}
void
-TAO_Notify_EventChannelFactory::set_topology_factory(TAO_NOTIFY::Topology_Factory* f)
+TAO_Notify_EventChannelFactory::set_topology_factory(TAO_Notify::Topology_Factory* f)
{
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("(%P,%t) Debug Topology_Factory installed in EventChannelFactory.\n")
@@ -235,7 +235,7 @@ TAO_Notify_EventChannelFactory::load_topology (ACE_ENV_SINGLE_ARG_DECL)
this->loading_topology_ = true;
if (this->topology_factory_ != 0)
{
- auto_ptr<TAO_NOTIFY::Topology_Loader> tl(this->topology_factory_->create_loader());
+ auto_ptr<TAO_Notify::Topology_Loader> tl(this->topology_factory_->create_loader());
if (tl.get () != 0)
{
tl->load (this ACE_ENV_ARG_PARAMETER);
@@ -256,13 +256,13 @@ TAO_Notify_EventChannelFactory::is_persistent () const
}
void
-TAO_Notify_EventChannelFactory::save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG_DECL)
+TAO_Notify_EventChannelFactory::save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL)
{
bool changed = this->self_changed_;
this->self_changed_ = false;
this->children_changed_ = false;
- TAO_NOTIFY::NVPList attrs; // ECF has no attributes
+ TAO_Notify::NVPList attrs; // ECF has no attributes
bool want_all_children =
saver.begin_object(0, "channel_factory", attrs, changed ACE_ENV_ARG_PARAMETER);
@@ -271,7 +271,7 @@ TAO_Notify_EventChannelFactory::save_persistent (TAO_NOTIFY::Topology_Saver& sav
// for each deleted child
// delete_child // if the child has persistence.
- TAO_NOTIFY::Save_Persist_Worker<TAO_Notify_EventChannel> wrk(saver, want_all_children);
+ TAO_Notify::Save_Persist_Worker<TAO_Notify_EventChannel> wrk(saver, want_all_children);
ACE_ASSERT(this->ec_container_ != 0);
this->ec_container_->collection()->for_each(&wrk ACE_ENV_ARG_PARAMETER);
@@ -288,22 +288,23 @@ TAO_Notify_EventChannelFactory::save_persistent (TAO_NOTIFY::Topology_Saver& sav
void
TAO_Notify_EventChannelFactory::load_event_persistence (ACE_ENV_SINGLE_ARG_DECL)
{
+#define EVENT_PERISISTENCE_SUPPORT //@@todo
#ifdef EVENT_PERISISTENCE_SUPPORT //@@todo
- TAO_NOTIFY::Event_Persistence_Strategy * strategy =
- ACE_Dynamic_Service <TAO_NOTIFY::Event_Persistence_Strategy>::instance ("Event_Persistence");
+ TAO_Notify::Event_Persistence_Strategy * strategy =
+ ACE_Dynamic_Service <TAO_Notify::Event_Persistence_Strategy>::instance ("Event_Persistence");
if (strategy != 0)
{
if (this->topology_factory_ != 0)
{
- Event_Persistence_Factory * factory = strategy->get_factory ();
+ TAO_Notify::Event_Persistence_Factory * factory = strategy->get_factory ();
if (factory != 0)
{
for (
- Routing_Slip_Persistence_Manager * rspm = factory->first_reload_manager();
+ TAO_Notify::Routing_Slip_Persistence_Manager * rspm = factory->first_reload_manager();
rspm != 0;
rspm = rspm->load_next ())
{
- TAO_NOTIFY::Routing_Slip_Ptr routing_slip = Routing_Slip::create (*this, rspm);
+ TAO_Notify::Routing_Slip_Ptr routing_slip = TAO_Notify::Routing_Slip::create (*this, rspm);
if (!routing_slip.null ())
{
this->routing_slip_restart_set_.insert (routing_slip);
@@ -352,7 +353,7 @@ TAO_Notify_EventChannelFactory::change_to_parent (ACE_ENV_SINGLE_ARG_DECL)
ACE_CHECK_RETURN(false);
if (seq == this->topology_save_seq_)
{
- auto_ptr<TAO_NOTIFY::Topology_Saver> saver(this->topology_factory_->create_saver());
+ auto_ptr<TAO_Notify::Topology_Saver> saver(this->topology_factory_->create_saver());
if (saver.get() != 0)
{
this->save_persistent(*saver ACE_ENV_ARG_PARAMETER);
@@ -366,15 +367,15 @@ TAO_Notify_EventChannelFactory::change_to_parent (ACE_ENV_SINGLE_ARG_DECL)
return saving;
}
-TAO_NOTIFY::Topology_Object*
+TAO_Notify::Topology_Object*
TAO_Notify_EventChannelFactory::load_child (const ACE_CString& type,
CORBA::Long id,
- const TAO_NOTIFY::
+ const TAO_Notify::
NVPList& attrs
ACE_ENV_ARG_DECL)
{
// ignore anything but our valid children (ie channel)
- TAO_NOTIFY::Topology_Object * result = this;
+ TAO_Notify::Topology_Object * result = this;
if (type == "channel")
{
if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG,
@@ -393,7 +394,7 @@ TAO_Notify_EventChannelFactory::load_child (const ACE_CString& type,
result = ec;
}
- else if (type == TAO_NOTIFY::REGISTRY_TYPE)
+ else if (type == TAO_Notify::REGISTRY_TYPE)
{
result = & this->reconnect_registry_;
}
@@ -404,7 +405,7 @@ void
TAO_Notify_EventChannelFactory::reconnect (ACE_ENV_SINGLE_ARG_DECL)
{
// Reconnect all children first
- TAO_NOTIFY::Reconnect_Worker<TAO_Notify_EventChannel> wrk;
+ TAO_Notify::Reconnect_Worker<TAO_Notify_EventChannel> wrk;
this->ec_container_->collection()->for_each(&wrk ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
@@ -419,19 +420,15 @@ TAO_Notify_EventChannelFactory::reconnect (ACE_ENV_SINGLE_ARG_DECL)
this->reconnect_registry_.send_reconnect (this_reference.in () ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
-#ifdef TODO_EVENT_PERSISTENCE //
// reactivate events in-progress
Routing_Slip_Set::CONST_ITERATOR iter (this->routing_slip_restart_set_);
- Routing_Slip_Ptr * routing_slip;
+ TAO_Notify::Routing_Slip_Ptr * routing_slip;
for (iter.first(); iter.next(routing_slip); iter.advance())
{
(*routing_slip)->reconnect(ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK;
}
this->routing_slip_restart_set_.reset ();
-#else
- int TODO_Event_Persistence;
-#endif
}
NotifyExt::ReconnectionRegistry::ReconnectionID
@@ -471,6 +468,63 @@ TAO_Notify_EventChannelFactory::save_topology (ACE_ENV_SINGLE_ARG_DECL)
ACE_CHECK;
}
+TAO_Notify_ProxyConsumer *
+TAO_Notify_EventChannelFactory::find_proxy_consumer (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL)
+{
+ TAO_Notify_ProxyConsumer * result = 0;
+ size_t path_size = id_path.size ();
+
+ // EventChannelFactory only: The first id is proably for the ECF itself
+ // if so, silently consume it.
+ if (position < path_size && id_path[position] == this->id_)
+ {
+ ++position;
+ }
+ if (position < path_size)
+ {
+ TAO_Notify_EventChannel_Find_Worker find_worker;
+
+ TAO_Notify_EventChannel * ec = find_worker.find (id_path[position], *this->ec_container_ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ ++position;
+ if (ec != 0)
+ {
+ result = ec->find_proxy_consumer (id_path, position
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+ }
+ }
+ return result;
+}
+
+TAO_Notify_ProxySupplier *
+TAO_Notify_EventChannelFactory::find_proxy_supplier (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL)
+{
+ TAO_Notify_ProxySupplier * result = 0;
+ size_t path_size = id_path.size ();
+
+ // EventChannelFactory only: The first id is proably for the ECF itself
+ // if so, silently consume it.
+ if (position < path_size && id_path[position] == this->id_)
+ {
+ ++position;
+ }
+ if (position < path_size)
+ {
+ TAO_Notify_EventChannel_Find_Worker find_worker;
+ TAO_Notify_EventChannel * ec = find_worker.find (id_path[position], *this->ec_container_ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ ++position;
+ if (ec != 0)
+ {
+ result = ec->find_proxy_supplier (id_path, position
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+ }
+ }
+ return result;
+}
+
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
template class TAO_Notify_Find_Worker_T<TAO_Notify_EventChannel
diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h b/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h
index df2578bd4ea..c2eecb3c863 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/EventChannelFactory.h
@@ -25,7 +25,7 @@
#include "Topology_Object.h"
#include "Topology_Factory.h"
#include "Reconnection_Registry.h"
-//@@todo #include "Routing_Slip.h"
+#include "Routing_Slip.h"
class TAO_Notify_EventChannel;
template <class TYPE> class TAO_Notify_Container_T;
@@ -45,11 +45,11 @@ template <class TYPE> class TAO_Notify_Container_T;
*/
class TAO_Notify_Serv_Export TAO_Notify_EventChannelFactory
: public virtual POA_NotifyExt::EventChannelFactory
- , public TAO_NOTIFY::Topology_Parent
+ , public TAO_Notify::Topology_Parent
{
friend class TAO_Notify_Builder;
-//@@todo typedef ACE_Unbounded_Set <TAO_NOTIFY::Routing_Slip_Ptr> Routing_Slip_Set;
+ typedef ACE_Unbounded_Set <TAO_Notify::Routing_Slip_Ptr> Routing_Slip_Set;
public:
/// Constuctor
@@ -88,17 +88,17 @@ public:
/// Use the passed in saver factory to generate topology saver objects.
/// Does not take ownership.
- void set_topology_factory(TAO_NOTIFY::Topology_Factory* sf);
+ void set_topology_factory(TAO_Notify::Topology_Factory* sf);
//-- Topology_Parent
virtual bool is_persistent () const;
- virtual void save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG_DECL);
+ virtual void save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL);
virtual bool change_to_parent (ACE_ENV_SINGLE_ARG_DECL);
- virtual TAO_NOTIFY::Topology_Object* load_child (const ACE_CString &type,
+ virtual TAO_Notify::Topology_Object* load_child (const ACE_CString &type,
CORBA::Long id,
- const TAO_NOTIFY::NVPList& attrs
+ const TAO_Notify::NVPList& attrs
ACE_ENV_ARG_DECL);
virtual void reconnect (ACE_ENV_SINGLE_ARG_DECL);
@@ -110,6 +110,12 @@ public:
virtual void save_topology (ACE_ENV_SINGLE_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException));
+ TAO_Notify_ProxyConsumer * find_proxy_consumer (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL);
+ TAO_Notify_ProxySupplier * find_proxy_supplier (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL);
+ TAO_Notify_Object * follow_id_path (TAO_Notify::IdVec & id_path, size_t position ACE_ENV_ARG_DECL);
+ virtual TAO_Notify_Object::ID get_id () const {return id();} // @@todo move to INL
+
+
protected:
typedef TAO_Notify_Container_T<TAO_Notify_EventChannel>
TAO_Notify_EventChannel_Container;
@@ -172,11 +178,11 @@ private:
TAO_SYNCH_MUTEX topology_save_lock_;
/// change-in-progress detector to avoid duplicates
short topology_save_seq_;
- TAO_NOTIFY::Topology_Factory* topology_factory_;
- TAO_NOTIFY::Reconnection_Registry reconnect_registry_;
+ TAO_Notify::Topology_Factory* topology_factory_;
+ TAO_Notify::Reconnection_Registry reconnect_registry_;
bool loading_topology_;
-//@@todo Routing_Slip_Set routing_slip_restart_set_;
+ Routing_Slip_Set routing_slip_restart_set_;
};
diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventType.cpp b/TAO/orbsvcs/orbsvcs/Notify/EventType.cpp
index 3f51adfdaf8..1b2e0a3a1ef 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/EventType.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/EventType.cpp
@@ -143,7 +143,7 @@ TAO_Notify_EventType::dump (void) const
}
/// Initialize from an NVPList, return false on failure
-bool TAO_Notify_EventType::init(const TAO_NOTIFY::NVPList& attrs)
+bool TAO_Notify_EventType::init(const TAO_Notify::NVPList& attrs)
{
bool result = false;
@@ -158,16 +158,16 @@ bool TAO_Notify_EventType::init(const TAO_NOTIFY::NVPList& attrs)
}
- // TAO_NOTIFY::Topology_Object
+ // TAO_Notify::Topology_Object
void
-TAO_Notify_EventType::save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG_DECL)
+TAO_Notify_EventType::save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL)
{
- TAO_NOTIFY::NVPList attrs;
+ TAO_Notify::NVPList attrs;
bool changed = true;
- attrs.push_back(TAO_NOTIFY::NVP("Domain", this->event_type_.domain_name.in()));
- attrs.push_back(TAO_NOTIFY::NVP("Type", this->event_type_.type_name.in()));
+ attrs.push_back(TAO_Notify::NVP("Domain", this->event_type_.domain_name.in()));
+ attrs.push_back(TAO_Notify::NVP("Type", this->event_type_.type_name.in()));
saver.begin_object(0, "subscription", attrs, changed ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventType.h b/TAO/orbsvcs/orbsvcs/Notify/EventType.h
index 7b76d7c78b0..408864f7ed0 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/EventType.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/EventType.h
@@ -32,7 +32,7 @@
* It is used by the Event Manager as a key to find subscription lists.
*
*/
-class TAO_Notify_Serv_Export TAO_Notify_EventType : public TAO_NOTIFY::Topology_Savable
+class TAO_Notify_Serv_Export TAO_Notify_EventType : public TAO_Notify::Topology_Savable
{
public:
/// Constuctor
@@ -72,11 +72,11 @@ public:
void dump (void) const;
/// Initialize from an NVPList, return false on failure
- bool init(const TAO_NOTIFY::NVPList& attrs);
+ bool init(const TAO_Notify::NVPList& attrs);
- // TAO_NOTIFY::Topology_Object
+ // TAO_Notify::Topology_Object
- virtual void save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG_DECL);
+ virtual void save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL);
protected:
/// Init this object.
diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.cpp b/TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.cpp
index 8fee7cdf4be..610da6f3e79 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.cpp
@@ -247,14 +247,14 @@ TAO_Notify_EventTypeSeq::dump (void) const
}
}
- // TAO_NOTIFY::Topology_Object
+ // TAO_Notify::Topology_Object
void
-TAO_Notify_EventTypeSeq::save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG_DECL)
+TAO_Notify_EventTypeSeq::save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL)
{
bool changed = this->self_changed_;
this->self_changed_ = false;
this->children_changed_ = false;
- TAO_NOTIFY::NVPList attrs;
+ TAO_Notify::NVPList attrs;
TAO_Notify_EventTypeSeq::ITERATOR iter (*this);
TAO_Notify_EventType* event_type;
@@ -278,11 +278,11 @@ TAO_Notify_EventTypeSeq::save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_
}
}
-TAO_NOTIFY::Topology_Object*
+TAO_Notify::Topology_Object*
TAO_Notify_EventTypeSeq::load_child (const ACE_CString &type, CORBA::Long id,
- const TAO_NOTIFY::NVPList& attrs ACE_ENV_ARG_DECL)
+ const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL)
{
- TAO_NOTIFY::Topology_Object *result = this;
+ TAO_Notify::Topology_Object *result = this;
TAO_Notify_EventType et;
if ((type == "subscription") && et.init(attrs))
diff --git a/TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.h b/TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.h
index 09e0b0ca3c9..16c89ec3813 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/EventTypeSeq.h
@@ -30,7 +30,7 @@
*/
class TAO_Notify_Serv_Export TAO_Notify_EventTypeSeq
: public ACE_Unbounded_Set <TAO_Notify_EventType>
- , public TAO_NOTIFY::Topology_Object
+ , public TAO_Notify::Topology_Object
{
typedef ACE_Unbounded_Set <TAO_Notify_EventType> inherited;
@@ -70,11 +70,11 @@ public:
/// Print the contents.
void dump (void) const;
- // TAO_NOTIFY::Topology_Object
+ // TAO_Notify::Topology_Object
- virtual void save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG_DECL);
- virtual TAO_NOTIFY::Topology_Object* load_child (const ACE_CString &type, CORBA::Long id,
- const TAO_NOTIFY::NVPList& attrs ACE_ENV_ARG_DECL);
+ virtual void save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL);
+ virtual TAO_Notify::Topology_Object* load_child (const ACE_CString &type, CORBA::Long id,
+ const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL);
virtual void release (void);
};
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Factory.h
index 61134f2d30e..3d9ac08b43e 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Factory.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Factory.h
@@ -21,20 +21,15 @@
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "notify_export.h"
+#include "notify_serv_export.h"
-//#include "Event_Persistence_Strategy.h"
-//#include "Persistent_File_Allocator.h"
-//#include "Routing_Slip_Persistence_Manager.h"
-//#include <ace/SString.h>
-
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
class Routing_Slip_Persistence_Manager;
class Persistent_Callback;
/// interface to be implemented by specific Event_Persistence_Factories
- class TAO_Notify_Export Event_Persistence_Factory
+ class TAO_Notify_Serv_Export Event_Persistence_Factory
{
public:
/// Create a Persistence Manager
@@ -46,7 +41,7 @@ namespace TAO_NOTIFY
virtual Routing_Slip_Persistence_Manager * first_reload_manager () = 0;
};
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
#include /**/ "ace/post.h"
#endif /* EVENT_PERSISTENCE_FACTORY_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Strategy.h b/TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Strategy.h
index d2fcacf03c6..3ff9990b326 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Strategy.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Event_Persistence_Strategy.h
@@ -21,16 +21,16 @@
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "notify_export.h"
+#include "notify_serv_export.h"
#include "ace/Service_Object.h"
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
class Event_Persistence_Factory;
/// Interface to be implemented by specific strategies
- class TAO_Notify_Export Event_Persistence_Strategy: public ACE_Service_Object
+ class TAO_Notify_Serv_Export Event_Persistence_Strategy: public ACE_Service_Object
{
public:
@@ -41,7 +41,7 @@ namespace TAO_NOTIFY
virtual void reset () = 0;
};
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
#include /**/ "ace/post.h"
#endif /* EVENT_PERSISTENCE_STRATEGY_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.cpp b/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.cpp
index 9ec4a1099de..138b9e17ba6 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.cpp
@@ -131,14 +131,14 @@ TAO_Notify_FilterAdmin::remove_all_filters (ACE_ENV_SINGLE_ARG_DECL)
}
void
-TAO_Notify_FilterAdmin::save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG_DECL)
+TAO_Notify_FilterAdmin::save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL)
{
if (this->filter_list_.current_size() == 0)
return;
bool changed = true;
- TAO_NOTIFY::NVPList attrs;
+ TAO_Notify::NVPList attrs;
bool want_children = saver.begin_object(0, "filter_admin", attrs, changed ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
if (want_children)
@@ -152,11 +152,11 @@ TAO_Notify_FilterAdmin::save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_E
for (; iter.next(entry) != 0; iter.advance())
{
- TAO_NOTIFY::NVPList fattrs;
+ TAO_Notify::NVPList fattrs;
CORBA::Long id = entry->ext_id_;
CORBA::String_var ior = orb->object_to_string(entry->int_id_.in() ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
- fattrs.push_back(TAO_NOTIFY::NVP("IOR", ior.in()));
+ fattrs.push_back(TAO_Notify::NVP("IOR", ior.in()));
saver.begin_object(id, "filter", fattrs, changed ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
saver.end_object(id, "filter" ACE_ENV_ARG_PARAMETER);
@@ -167,9 +167,9 @@ TAO_Notify_FilterAdmin::save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_E
saver.end_object(0, "filter_admin" ACE_ENV_ARG_PARAMETER);
}
-TAO_NOTIFY::Topology_Object*
+TAO_Notify::Topology_Object*
TAO_Notify_FilterAdmin::load_child (const ACE_CString &type, CORBA::Long id,
- const TAO_NOTIFY::NVPList& attrs ACE_ENV_ARG_DECL)
+ const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL)
{
if (type == "filter")
{
diff --git a/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.h b/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.h
index 04507e52599..d6e20116940 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.h
@@ -31,7 +31,7 @@
*
*/
class TAO_Notify_Serv_Export TAO_Notify_FilterAdmin
- : public TAO_NOTIFY::Topology_Object
+ : public TAO_Notify::Topology_Object
{
public:
@@ -83,11 +83,11 @@ class TAO_Notify_Serv_Export TAO_Notify_FilterAdmin
));
- // TAO_NOTIFY::Topology_Object
+ // TAO_Notify::Topology_Object
- virtual void save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG_DECL);
- virtual TAO_NOTIFY::Topology_Object* load_child (const ACE_CString &type, CORBA::Long id,
- const TAO_NOTIFY::NVPList& attrs ACE_ENV_ARG_DECL);
+ virtual void save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL);
+ virtual TAO_Notify::Topology_Object* load_child (const ACE_CString &type, CORBA::Long id,
+ const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL);
virtual void release (void);
private:
typedef ACE_Hash_Map_Manager <CosNotifyFilter::FilterID, CosNotifyFilter::Filter_var, ACE_SYNCH_NULL_MUTEX> FILTER_LIST;
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request.cpp b/TAO/orbsvcs/orbsvcs/Notify/Method_Request.cpp
index a3e0c7ed7fc..fe5fc73f001 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Method_Request.cpp
@@ -11,6 +11,5 @@ ACE_RCSID(Notify, TAO_Notify_Method_Request_Queueable, "$Id$")
TAO_Notify_Method_Request_Queueable *
TAO_Notify_Method_Request_Queueable::copy (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
{
- /// @@ TODO rename this method to on_heap
return this;
}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request.h b/TAO/orbsvcs/orbsvcs/Notify/Method_Request.h
index 452aa6ea050..248708a0eae 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Method_Request.h
@@ -38,7 +38,6 @@ public:
/// Execute the Request
virtual int execute (ACE_ENV_SINGLE_ARG_DECL) = 0;
virtual TAO_Notify_Method_Request_Queueable* copy (ACE_ENV_SINGLE_ARG_DECL) = 0;
-
};
/***********************************************************************/
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.cpp b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.cpp
index 9644b050460..34a221597a7 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.cpp
@@ -13,7 +13,14 @@ ACE_RCSID(Notify, TAO_Notify_Method_Request_Dispatch, "$Id$")
#include "Consumer.h"
#include "Admin.h"
#include "ConsumerAdmin.h"
-
+#include "EventChannelFactory.h"
+#include "ace/OS_NS_stdio.h"
+//#define DEBUG_LEVEL 10
+#ifndef DEBUG_LEVEL
+# define DEBUG_LEVEL TAO_debug_level
+#endif //DEBUG_LEVEL
+
+// Constuct from event
TAO_Notify_Method_Request_Dispatch::TAO_Notify_Method_Request_Dispatch (
const TAO_Notify_Event * event,
TAO_Notify_ProxySupplier* proxy_supplier,
@@ -24,6 +31,31 @@ TAO_Notify_Method_Request_Dispatch::TAO_Notify_Method_Request_Dispatch (
{
}
+// Construct from a delivery rquest
+TAO_Notify_Method_Request_Dispatch::TAO_Notify_Method_Request_Dispatch (
+ const TAO_Notify::Delivery_Request_Ptr & delivery,
+ TAO_Notify_ProxySupplier* proxy_supplier,
+ bool filtering)
+ : TAO_Notify_Method_Request_Event (delivery)
+ , proxy_supplier_ (proxy_supplier)
+ , filtering_ (filtering)
+{
+}
+
+// Constuct construct from another method request+event
+// event is passed separately because we may be using a copy
+// of the one in the previous method request
+TAO_Notify_Method_Request_Dispatch::TAO_Notify_Method_Request_Dispatch (
+ const TAO_Notify_Method_Request_Event & request,
+ const TAO_Notify_Event * event,
+ TAO_Notify_ProxySupplier* proxy_supplier,
+ bool filtering)
+ : TAO_Notify_Method_Request_Event (request, event)
+ , proxy_supplier_ (proxy_supplier)
+ , filtering_ (filtering)
+{
+}
+
TAO_Notify_Method_Request_Dispatch::~TAO_Notify_Method_Request_Dispatch ()
{
}
@@ -71,61 +103,115 @@ TAO_Notify_Method_Request_Dispatch::execute_i (ACE_ENV_SINGLE_ARG_DECL)
return 0;
}
-///////////////////////////////////////////////////////////////////////////////
-
-
-/*******************************************************************/
-
-TAO_Notify_Method_Request_Event::TAO_Notify_Method_Request_Event (
- const TAO_Notify_Event * event)
- : event_ (event)
-{
-}
-
-
-TAO_Notify_Method_Request_Event::TAO_Notify_Method_Request_Event (
- const TAO_Notify_Method_Request_Event & rhs,
- const TAO_Notify_Event * event)
- : event_ (event)
+/// Static method used to reconstruct a Method Request Dispatch
+TAO_Notify_Method_Request_Dispatch_Queueable *
+TAO_Notify_Method_Request_Dispatch::unmarshal (
+ TAO_Notify::Delivery_Request_Ptr & delivery_request,
+ TAO_Notify_EventChannelFactory &ecf,
+ TAO_InputCDR & cdr
+ ACE_ENV_ARG_DECL)
{
-}
+ bool ok = true;
+ TAO_Notify_Method_Request_Dispatch_Queueable * result = 0;
+ ACE_CString textpath;
+ CORBA::ULong count;
+ if (cdr.read_ulong (count))
+ {
+ TAO_Notify::IdVec id_path (count);
+ for (size_t nid = 0; ok && nid < count; ++nid)
+ {
+ TAO_Notify_Object::ID id = 0;
+ if ( cdr.read_long (id))
+ {
+ id_path.push_back (id);
+ char idbuf[20];
+ ACE_OS::snprintf (idbuf, sizeof(idbuf)-1, "/%d", ACE_static_cast (int, id));
+ textpath += idbuf;
+ }
+ else
+ {
+ ok = false;
+ }
+ }
-TAO_Notify_Method_Request_Event::~TAO_Notify_Method_Request_Event()
-{
+ if (ok)
+ {
+ TAO_Notify_ProxySupplier* proxy_supplier = ecf.find_proxy_supplier (id_path,
+ 0 ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+ if (proxy_supplier != 0)
+ {
+ if (DEBUG_LEVEL > 6) ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) TAO_Notify_Method_Request_Dispatch reload event for %s\n")
+ , textpath.c_str()
+ ));
+ ACE_NEW_NORETURN (result,
+ TAO_Notify_Method_Request_Dispatch_Queueable (delivery_request, proxy_supplier, true));
+ }
+ else
+ {
+ TAO_Notify_ProxyConsumer * proxy_consumer = ecf.find_proxy_consumer (id_path, 0 ACE_ENV_ARG_PARAMETER); //@@todo
+ if (proxy_consumer == 0)
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) TAO_Notify_Method_Request_Dispatch::unmarshal: unknown proxy id %s\n")
+ , textpath.c_str()
+ ));
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) TAO_Notify_Method_Request_Dispatch::unmarshal: wrong type of proxy id %s\n")
+ , textpath.c_str()
+ ));
+ }
+ }
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) TAO_Notify_Method_Request_Dispatch::unmarshal: Cant read proxy id path\n")
+ ));
+ }
+ }
+ return result;
}
-void
-TAO_Notify_Method_Request_Event::complete ()
-{
- int todo_request_complete;
-}
+///////////////////////////////////////////////////////////////////////////////
-unsigned long
-TAO_Notify_Method_Request_Event::sequence ()
-{
- int todo_request_sequence;
- return 0;
-}
+/*******************************************************************/
-bool
-TAO_Notify_Method_Request_Event::should_retry ()
+// Constuct construct from another method request+event
+// event is passed separately because we may be using a copy
+// of the one in the previous method request
+TAO_Notify_Method_Request_Dispatch_Queueable::TAO_Notify_Method_Request_Dispatch_Queueable (
+ const TAO_Notify_Method_Request_Event & request,
+ TAO_Notify_Event_var & event,
+ TAO_Notify_ProxySupplier* proxy_supplier,
+ bool filtering)
+ : TAO_Notify_Method_Request_Queueable (event.get ())
+ , TAO_Notify_Method_Request_Dispatch (request, event.get (), proxy_supplier, filtering)
{
- int todo_request_should_retry;
- return false;
+#if 0
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Construct Method_Request_Dispatch @%@\n"),
+ this));
+#endif
}
-/**********************************************************/
-
-TAO_Notify_Method_Request_Dispatch_Queueable::TAO_Notify_Method_Request_Dispatch_Queueable (const TAO_Notify_Event_var& event, TAO_Notify_ProxySupplier* proxy_supplier, CORBA::Boolean filtering)
- : TAO_Notify_Method_Request_Queueable (event.get ())
- , TAO_Notify_Method_Request_Dispatch (event.get(), proxy_supplier, filtering)
- , event_var_ (event)
- , proxy_guard_ (proxy_supplier)
+ /// Constuct construct from Delivery Request
+ /// should ONLY be used by unmarshall
+TAO_Notify_Method_Request_Dispatch_Queueable::TAO_Notify_Method_Request_Dispatch_Queueable (
+ const TAO_Notify::Delivery_Request_Ptr & request,
+ TAO_Notify_ProxySupplier* proxy_supplier,
+ bool filtering)
+ : TAO_Notify_Method_Request_Queueable (request->event ().get ())
+ , TAO_Notify_Method_Request_Dispatch (request, request->event ().get (), proxy_supplier, filtering)
{
#if 0
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%P|%t) Construct Method_Request_Dispatch @%@\n"),
+ ACE_TEXT ("(%P|%t) Construct unmarshalled Method_Request_Dispatch_Queueable @%@\n"),
this));
#endif
}
@@ -147,7 +233,10 @@ TAO_Notify_Method_Request_Dispatch_Queueable::execute (ACE_ENV_SINGLE_ARG_DECL)
/*********************************************************************************************************/
-TAO_Notify_Method_Request_Dispatch_No_Copy::TAO_Notify_Method_Request_Dispatch_No_Copy (const TAO_Notify_Event* event, TAO_Notify_ProxySupplier* proxy_supplier, CORBA::Boolean filtering)
+TAO_Notify_Method_Request_Dispatch_No_Copy::TAO_Notify_Method_Request_Dispatch_No_Copy (
+ const TAO_Notify_Event* event,
+ TAO_Notify_ProxySupplier* proxy_supplier,
+ CORBA::Boolean filtering)
: TAO_Notify_Method_Request_Dispatch (event, proxy_supplier, filtering)
{
#if 0
@@ -155,7 +244,19 @@ TAO_Notify_Method_Request_Dispatch_No_Copy::TAO_Notify_Method_Request_Dispatch_N
ACE_TEXT ("(%P|%t) Construct Method_Request_Dispatch_No_Copy @%@\n"),
this));
#endif
-
+}
+ /// Constuct construct from another method request
+TAO_Notify_Method_Request_Dispatch_No_Copy::TAO_Notify_Method_Request_Dispatch_No_Copy (
+ const TAO_Notify_Method_Request_Event & request,
+ TAO_Notify_ProxySupplier* proxy_supplier,
+ bool filtering)
+ : TAO_Notify_Method_Request_Dispatch (request, request.event (), proxy_supplier, filtering)
+{
+#if 0
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Construct Method_Request_Dispatch_No_Copy @%@\n"),
+ this));
+#endif
}
TAO_Notify_Method_Request_Dispatch_No_Copy:: ~TAO_Notify_Method_Request_Dispatch_No_Copy ()
@@ -178,13 +279,12 @@ TAO_Notify_Method_Request_Dispatch_No_Copy::copy (ACE_ENV_SINGLE_ARG_DECL)
{
TAO_Notify_Method_Request_Queueable* request;
- const TAO_Notify_Event * event_copy = this->event_->queueable_copy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ TAO_Notify_Event_var event_var;
+ this->event_->queueable_copy (event_var ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (0);
- TAO_Notify_Event_Copy_var event_var (event_copy);
-
ACE_NEW_THROW_EX (request,
- TAO_Notify_Method_Request_Dispatch_Queueable (event_var, this->proxy_supplier_, this->filtering_),
+ TAO_Notify_Method_Request_Dispatch_Queueable (*this, event_var, this->proxy_supplier_, this->filtering_),
CORBA::INTERNAL ());
return request;
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.h b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.h
index 40d4490e27e..8d1def68240 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.h
@@ -23,7 +23,11 @@
#include "Refcountable.h"
#include "Method_Request_Event.h"
#include "ProxySupplier.h"
+#include "Delivery_Request.h"
+class TAO_Notify_EventChannelFactory;
+class TAO_InputCDR;
+class TAO_Notify_Method_Request_Dispatch_Queueable;
/**
* @class TAO_Notify_Method_Request_Dispatch
@@ -35,14 +39,42 @@ class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Dispatch
: public TAO_Notify_Method_Request_Event
{
public:
- /// Constuctor
- TAO_Notify_Method_Request_Dispatch (const TAO_Notify_Event *,
- TAO_Notify_ProxySupplier* proxy,
- bool filtering);
+ /// an arbitrary code (Octet) to identify this delivery method type in persistent storage
+ enum {persistence_code = 1};
+
+ /// Constuct from event
+ TAO_Notify_Method_Request_Dispatch (
+ const TAO_Notify_Event * event,
+ TAO_Notify_ProxySupplier* proxy_supplier,
+ bool filtering);
+
+ /// Construct from a delivery rquest
+ TAO_Notify_Method_Request_Dispatch (
+ const TAO_Notify::Delivery_Request_Ptr & delivery,
+ TAO_Notify_ProxySupplier* proxy_supplier,
+ bool filtering);
+
+ /// Constuct construct from another method request+event
+ /// event is passed separately because we may be using a copy
+ /// of the one in the previous method request
+ TAO_Notify_Method_Request_Dispatch (
+ const TAO_Notify_Method_Request_Event & request,
+ const TAO_Notify_Event * event,
+ TAO_Notify_ProxySupplier* proxy_supplier,
+ bool filtering);
+public:
/// Destructor
virtual ~TAO_Notify_Method_Request_Dispatch ();
+ /// Static method used to reconstruct a Method Request Dispatch
+ static TAO_Notify_Method_Request_Dispatch_Queueable * unmarshal (
+ TAO_Notify::Delivery_Request_Ptr & delivery_request,
+ TAO_Notify_EventChannelFactory &ecf,
+ TAO_InputCDR & cdr
+ ACE_ENV_ARG_DECL);
+
+
protected:
/// Execute the dispatch operation.
int execute_i (ACE_ENV_SINGLE_ARG_DECL);
@@ -67,8 +99,21 @@ class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Dispatch_Queueable
, public TAO_Notify_Method_Request_Queueable
{
public:
- /// Constuctor
- TAO_Notify_Method_Request_Dispatch_Queueable (const TAO_Notify_Event_var& event, TAO_Notify_ProxySupplier* proxy_supplier, CORBA::Boolean filtering);
+ /// Constuct construct from another method request+event
+ /// event is passed separately because we may be using a copy
+ /// of the one in the previous method request
+ TAO_Notify_Method_Request_Dispatch_Queueable (
+ const TAO_Notify_Method_Request_Event & request,
+ TAO_Notify_Event_var & event,
+ TAO_Notify_ProxySupplier* proxy_supplier,
+ bool filtering);
+
+ /// Constuct construct from Delivery Request
+ /// should ONLY be used by unmarshall
+ TAO_Notify_Method_Request_Dispatch_Queueable (
+ const TAO_Notify::Delivery_Request_Ptr & request,
+ TAO_Notify_ProxySupplier* proxy_supplier,
+ bool filtering);
/// Destructor
~TAO_Notify_Method_Request_Dispatch_Queueable ();
@@ -94,8 +139,17 @@ class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Dispatch_No_Copy
, public TAO_Notify_Method_Request
{
public:
- /// Constuctor
- TAO_Notify_Method_Request_Dispatch_No_Copy (const TAO_Notify_Event* event, TAO_Notify_ProxySupplier* proxy_supplier, CORBA::Boolean filtering);
+ /// Constuct from event
+ TAO_Notify_Method_Request_Dispatch_No_Copy (
+ const TAO_Notify_Event * event,
+ TAO_Notify_ProxySupplier* proxy_supplier,
+ bool filtering);
+
+ /// Constuct construct from another method request
+ TAO_Notify_Method_Request_Dispatch_No_Copy (
+ const TAO_Notify_Method_Request_Event & request,
+ TAO_Notify_ProxySupplier* proxy_supplier,
+ bool filtering);
/// Destructor
~TAO_Notify_Method_Request_Dispatch_No_Copy ();
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.cpp b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.cpp
index 549c0a82ecb..b789f818925 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.cpp
@@ -6,8 +6,68 @@
#include "Method_Request_Event.inl"
#endif /* __ACE_INLINE__ */
+#include "Delivery_Request.h"
+
ACE_RCSID (Notify, TAO_Notify_Method_Request_Event_Queueable, "$Id$")
+TAO_Notify_Method_Request_Event::TAO_Notify_Method_Request_Event (
+ const TAO_Notify_Event * event)
+ : event_ (event)
+{
+}
+
+TAO_Notify_Method_Request_Event::TAO_Notify_Method_Request_Event (
+ const TAO_Notify::Delivery_Request_Ptr & request)
+ : event_ (request->event ().get ())
+ , delivery_request_ (request)
+{
+}
+
+TAO_Notify_Method_Request_Event::TAO_Notify_Method_Request_Event (
+ const TAO_Notify_Method_Request_Event & rhs,
+ const TAO_Notify_Event * event)
+ : event_ (event)
+ , delivery_request_ (rhs.delivery_request_)
+{
+}
+
+TAO_Notify_Method_Request_Event::~TAO_Notify_Method_Request_Event()
+{
+}
+
+void
+TAO_Notify_Method_Request_Event::complete ()
+{
+ if (this->delivery_request_.get () != 0)
+ {
+ this->delivery_request_->complete ();
+ }
+}
+
+
+unsigned long
+TAO_Notify_Method_Request_Event::sequence ()
+{
+ if (this->delivery_request_.get () != 0)
+ {
+ return this->delivery_request_->sequence ();
+ }
+ return 0;
+}
+
+bool
+TAO_Notify_Method_Request_Event::should_retry ()
+{
+ if (this->delivery_request_.get () != 0)
+ {
+ return this->delivery_request_->should_retry ();
+ }
+ return false;
+}
+
+/**********************************************************/
+
+
TAO_Notify_Method_Request_Event_Queueable::TAO_Notify_Method_Request_Event_Queueable (
const TAO_Notify_Method_Request_Event & prev_request,
const TAO_Notify_Event_var & event_var)
@@ -17,12 +77,22 @@ TAO_Notify_Method_Request_Event_Queueable::TAO_Notify_Method_Request_Event_Queue
{
}
+TAO_Notify_Method_Request_Event_Queueable::TAO_Notify_Method_Request_Event_Queueable (
+ TAO_Notify::Delivery_Request_Ptr & request)
+ : TAO_Notify_Method_Request_Queueable (request->event ().get ())
+ , TAO_Notify_Method_Request_Event (request, request->event ().get ())
+ , event_var_ (request->event ())
+{
+}
+
TAO_Notify_Method_Request_Event_Queueable::~TAO_Notify_Method_Request_Event_Queueable ()
{
}
+
int
TAO_Notify_Method_Request_Event_Queueable::execute (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
{
+ ACE_ASSERT (false);
return -1;
}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.h b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.h
index 8a817d62142..13707a77e72 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.h
@@ -24,21 +24,25 @@
#include "ProxySupplier.h"
#include "tao/Basic_Types.h"
#include "ace/CORBA_macros.h"
-
+#include "Delivery_Request.h"
/**
* @class TAO_Notify_Method_Request_Event
*
- * @brief
+ * @brief A base class for all Method Requests that are associated with events.
*
*/
class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Event
{
-protected:
- /// Constuctor
+public:
+ /// Construct from event
TAO_Notify_Method_Request_Event (const TAO_Notify_Event *);
- /// Copy-like constructor
+ /// Construct from a delivery request
+ TAO_Notify_Method_Request_Event (
+ const TAO_Notify::Delivery_Request_Ptr & delivery_request);
+
+ /// Construct from another Method Request
/// Event is passed separately because it may be a copy of the one in request.
TAO_Notify_Method_Request_Event (const TAO_Notify_Method_Request_Event & rhs,
const TAO_Notify_Event * event);
@@ -48,7 +52,6 @@ public:
virtual ~TAO_Notify_Method_Request_Event ();
const TAO_Notify_Event * event() const;
-
void complete ();
unsigned long sequence ();
bool should_retry ();
@@ -57,6 +60,9 @@ protected:
/// The Event
const TAO_Notify_Event * event_;
+
+ /// Pointer to the routing slip's delivery request (if any)
+ TAO_Notify::Delivery_Request_Ptr delivery_request_;
};
/***************************************************************/
@@ -79,6 +85,9 @@ public:
const TAO_Notify_Method_Request_Event & prev_request,
const TAO_Notify_Event_var & event_var);
+ TAO_Notify_Method_Request_Event_Queueable (
+ TAO_Notify::Delivery_Request_Ptr & request);
+
/// Destructor
virtual ~TAO_Notify_Method_Request_Event_Queueable ();
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.inl b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.inl
index 594304747ec..74e88caa0c5 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.inl
+++ b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Event.inl
@@ -1,3 +1,2 @@
// $Id$
-#include "Method_Request_Event.h"
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.cpp b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.cpp
index fb800e72120..57c4528586b 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.cpp
@@ -17,6 +17,8 @@ ACE_RCSID(Notify, TAO_Notify_Method_Request_Lookup, "$Id$")
#include "SupplierAdmin.h"
#include "Event_Manager.h"
#include "Method_Request_Dispatch.h"
+#include "Delivery_Request.h"
+#include "EventChannelFactory.h"
TAO_Notify_Method_Request_Lookup::TAO_Notify_Method_Request_Lookup (
const TAO_Notify_Event * event,
@@ -35,7 +37,7 @@ TAO_Notify_Method_Request_Lookup::work (
TAO_Notify_ProxySupplier* proxy_supplier
ACE_ENV_ARG_DECL)
{
- TAO_Notify_Method_Request_Dispatch_No_Copy request (this->event_, proxy_supplier, true);
+ TAO_Notify_Method_Request_Dispatch_No_Copy request (*this, proxy_supplier, true);
proxy_supplier->deliver (request ACE_ENV_ARG_PARAMETER);
}
@@ -81,10 +83,67 @@ TAO_Notify_Method_Request_Lookup::execute_i (ACE_ENV_SINGLE_ARG_DECL)
if (consumers != 0)
consumers->for_each (this ACE_ENV_ARG_PARAMETER);
-
+ this->complete ();
return 0;
}
+/// Static method used to reconstruct a Method Request Dispatch
+TAO_Notify_Method_Request_Lookup_Queueable *
+TAO_Notify_Method_Request_Lookup::unmarshal (
+ TAO_Notify::Delivery_Request_Ptr & delivery_request,
+ TAO_Notify_EventChannelFactory &ecf,
+ TAO_InputCDR & cdr
+ ACE_ENV_ARG_DECL)
+{
+ bool ok = true;
+ TAO_Notify_Method_Request_Lookup_Queueable * result = 0;
+ CORBA::ULong count;
+ if (cdr.read_ulong (count))
+ {
+ TAO_Notify::IdVec id_path (count);
+ for (size_t nid = 0; ok && nid < count; ++nid)
+ {
+ TAO_Notify_Object::ID id = 0;
+ if ( cdr.read_long (id))
+ {
+ id_path.push_back (id);
+ }
+ else
+ {
+ ok = false;
+ }
+ }
+
+ if (ok)
+ {
+ TAO_Notify_ProxyConsumer * proxy_consumer = ecf.find_proxy_consumer (
+ id_path,
+ 0 ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN(0);
+ if (proxy_consumer != 0)
+ {
+ ACE_NEW_NORETURN (result,
+ TAO_Notify_Method_Request_Lookup_Queueable (delivery_request, proxy_consumer));
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) TAO_Notify_Method_Request_Lookup_No_Copy::unmarshal: unknown proxy id\n")
+ ));
+ }
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) TAO_Notify_Method_Request_Lookup_No_Copy::unmarshal: Cant read proxy id path\n")
+ ));
+ }
+ }
+ return result;
+
+}
+
+
/****************************************************************/
TAO_Notify_Method_Request_Lookup_Queueable::TAO_Notify_Method_Request_Lookup_Queueable (
@@ -97,6 +156,17 @@ TAO_Notify_Method_Request_Lookup_Queueable::TAO_Notify_Method_Request_Lookup_Que
{
}
+TAO_Notify_Method_Request_Lookup_Queueable::TAO_Notify_Method_Request_Lookup_Queueable (
+ TAO_Notify::Delivery_Request_Ptr & request,
+ TAO_Notify_ProxyConsumer * proxy_consumer)
+ : TAO_Notify_Method_Request_Queueable (request->event ().get ())
+ , TAO_Notify_Method_Request_Lookup (request->event ().get (), proxy_consumer)
+ , event_var_ (request->event ())
+ , proxy_guard_ (proxy_consumer)
+{
+}
+
+
TAO_Notify_Method_Request_Lookup_Queueable::~TAO_Notify_Method_Request_Lookup_Queueable ()
{
}
@@ -131,11 +201,10 @@ TAO_Notify_Method_Request_Lookup_No_Copy::copy (ACE_ENV_SINGLE_ARG_DECL)
{
TAO_Notify_Method_Request_Queueable* request;
- const TAO_Notify_Event* event_copy = this->event_->queueable_copy (ACE_ENV_SINGLE_ARG_PARAMETER);
+ TAO_Notify_Event_var event_var;
+ this->event_->queueable_copy (event_var ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (0);
- TAO_Notify_Event_Copy_var event_var (event_copy);
-
ACE_NEW_THROW_EX (request,
TAO_Notify_Method_Request_Lookup_Queueable (event_var, this->proxy_consumer_),
CORBA::INTERNAL ());
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h
index 53ce9cf714c..89d9b8f6c1b 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h
@@ -24,7 +24,9 @@
#include "ProxySupplier.h"
#include "ProxyConsumer.h"
#include "Consumer_Map.h"
+#include "Delivery_Request.h"
+class TAO_Notify_Method_Request_Lookup_Queueable;
class TAO_Notify_Event;
/**
@@ -38,9 +40,20 @@ class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Lookup
, public TAO_Notify_Method_Request_Event
{
public:
+
+ /// an arbitrary code (Octet) to identify this type of request in persistent storage
+ enum {persistence_code = 2};
+
/// Destructor
virtual ~TAO_Notify_Method_Request_Lookup ();
+ /// Static method used to reconstruct a Method Request Dispatch
+ static TAO_Notify_Method_Request_Lookup_Queueable * unmarshal (
+ TAO_Notify::Delivery_Request_Ptr & delivery_request,
+ TAO_Notify_EventChannelFactory &ecf,
+ TAO_InputCDR & cdr
+ ACE_ENV_ARG_DECL);
+
protected:
/// Constuctor
TAO_Notify_Method_Request_Lookup (const TAO_Notify_Event * event, TAO_Notify_ProxyConsumer * proxy);
@@ -70,10 +83,15 @@ class TAO_Notify_Serv_Export TAO_Notify_Method_Request_Lookup_Queueable
, public TAO_Notify_Method_Request_Queueable
{
public:
- /// Constuctor
+ /// Constuctor from event
TAO_Notify_Method_Request_Lookup_Queueable (
const TAO_Notify_Event_var& event,
- TAO_Notify_ProxyConsumer* proxy_consumer);
+ TAO_Notify_ProxyConsumer * proxy_consumer);
+
+ /// Constuctor from delivery request
+ TAO_Notify_Method_Request_Lookup_Queueable (
+ TAO_Notify::Delivery_Request_Ptr & request,
+ TAO_Notify_ProxyConsumer * proxy_consumer);
/// Destructor
~TAO_Notify_Method_Request_Lookup_Queueable ();
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.cpp b/TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.cpp
index 95baf13ee69..0fd7509d890 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.cpp
@@ -34,7 +34,7 @@ namespace
}
}
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
NVP::NVP()
{
@@ -214,14 +214,14 @@ namespace TAO_NOTIFY
return list_[ndx];
}
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Array_Base<TAO_NOTIFY::NVP>;
-template class ACE_Array<TAO_NOTIFY::NVP>;
-template class ACE_Vector<TAO_NOTIFY::NVP>;
+template class ACE_Array_Base<TAO_Notify::NVP>;
+template class ACE_Array<TAO_Notify::NVP>;
+template class ACE_Vector<TAO_Notify::NVP>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Array_Base<TAO_NOTIFY::NVP>
-#pragma instantiate ACE_Array<TAO_NOTIFY::NVP>
-#pragma instantiate ACE_Vector<TAO_NOTIFY::NVP>
+#pragma instantiate ACE_Array_Base<TAO_Notify::NVP>
+#pragma instantiate ACE_Array<TAO_Notify::NVP>
+#pragma instantiate ACE_Vector<TAO_Notify::NVP>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.h b/TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.h
index 7ce73e458db..0b569a7e77c 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Name_Value_Pair.h
@@ -25,7 +25,7 @@
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
/**
* \brief Name/Value Pair
@@ -92,7 +92,7 @@ namespace TAO_NOTIFY
private:
ACE_Vector<NVP> list_;
};
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
#if defined (__ACE_INLINE__)
#include "Name_Value_Pair.inl"
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Object.cpp b/TAO/orbsvcs/orbsvcs/Notify/Object.cpp
index 6ad873f70ab..61c305edb6d 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Object.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Object.cpp
@@ -305,37 +305,37 @@ TAO_Notify_Object::timer (void)
namespace {
template<class T>
- void add_qos_attr(TAO_NOTIFY::NVPList& attrs, const T& prop) {
+ void add_qos_attr(TAO_Notify::NVPList& attrs, const T& prop) {
if (prop.is_valid())
{
- attrs.push_back(TAO_NOTIFY::NVP (prop));
+ attrs.push_back(TAO_Notify::NVP (prop));
}
}
// Note : These instantiations have to be here because each namespace {}
// is unique.
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
template void add_qos_attr<TAO_Notify_Property_Boolean>(
- TAO_NOTIFY::NVPList&, const TAO_Notify_Property_Boolean&);
+ TAO_Notify::NVPList&, const TAO_Notify_Property_Boolean&);
template void add_qos_attr<TAO_Notify_Property_T<int> >(
- TAO_NOTIFY::NVPList&, const TAO_Notify_Property_T<int>&);
+ TAO_Notify::NVPList&, const TAO_Notify_Property_T<int>&);
template void add_qos_attr<TAO_Notify_Property_T<unsigned long long> >(
- TAO_NOTIFY::NVPList&, const TAO_Notify_Property_T<unsigned long long>&);
+ TAO_Notify::NVPList&, const TAO_Notify_Property_T<unsigned long long>&);
template void add_qos_attr<TAO_Notify_Property_T<short> >(
- TAO_NOTIFY::NVPList&, const TAO_Notify_Property_T<short>&);
+ TAO_Notify::NVPList&, const TAO_Notify_Property_T<short>&);
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
#pragma instantiate void add_qos_attr<TAO_Notify_Property_Boolean>(\
- TAO_NOTIFY::NVPList&, const TAO_Notify_Property_Boolean&)
+ TAO_Notify::NVPList&, const TAO_Notify_Property_Boolean&)
#pragma instantiate void add_qos_attr<TAO_Notify_Property_T<int> >(\
- TAO_NOTIFY::NVPList&, const TAO_Notify_Property_T<int>&)
+ TAO_Notify::NVPList&, const TAO_Notify_Property_T<int>&)
#pragma instantiate void add_qos_attr<TAO_Notify_Property_T<unsigned long long> >(\
- TAO_NOTIFY::NVPList&, const TAO_Notify_Property_T<unsigned long long>&)
+ TAO_Notify::NVPList&, const TAO_Notify_Property_T<unsigned long long>&)
#pragma instantiate void add_qos_attr<TAO_Notify_Property_T<short> >(\
- TAO_NOTIFY::NVPList&, const TAO_Notify_Property_T<short>&)
+ TAO_Notify::NVPList&, const TAO_Notify_Property_T<short>&)
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
} // namespace
void
-TAO_Notify_Object::save_attrs (TAO_NOTIFY::NVPList& attrs)
+TAO_Notify_Object::save_attrs (TAO_Notify::NVPList& attrs)
{
add_qos_attr(attrs, this->qos_properties_.event_reliability ());
add_qos_attr(attrs, this->qos_properties_.connection_reliability ());
@@ -347,7 +347,7 @@ TAO_Notify_Object::save_attrs (TAO_NOTIFY::NVPList& attrs)
}
void
-TAO_Notify_Object::load_attrs(const TAO_NOTIFY::NVPList& attrs)
+TAO_Notify_Object::load_attrs(const TAO_Notify::NVPList& attrs)
{
attrs.load (this->qos_properties_.event_reliability ());
attrs.load (this->qos_properties_.connection_reliability ());
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Object.h b/TAO/orbsvcs/orbsvcs/Notify/Object.h
index 7c95ea99c07..2ff8aa537eb 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Object.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Object.h
@@ -120,7 +120,7 @@ public:
/// Load our attributes. Each derived type should call the superclass
/// load first before loading its own attributes.
- virtual void load_attrs(const TAO_NOTIFY::NVPList& attrs);
+ virtual void load_attrs(const TAO_Notify::NVPList& attrs);
protected:
/// Init this object with data from <rhs>.
@@ -141,7 +141,7 @@ protected:
/// Called by derived types to save their attributes. Each
/// derived type should call its superclass version before
/// saving its own attrs.
- virtual void save_attrs(TAO_NOTIFY::NVPList& attrs);
+ virtual void save_attrs(TAO_Notify::NVPList& attrs);
///= Protected data members.
diff --git a/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.cpp b/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.cpp
index 95817d46083..6315d38f3e9 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.cpp
@@ -9,7 +9,10 @@
ACE_RCSID(RT_Notify, TAO_Notify_POA_Helper, "$Id$")
#include "tao/debug.h"
-#include "ID_Factory.h"
+//#define DEBUG_LEVEL 10
+#ifndef DEBUG_LEVEL
+# define DEBUG_LEVEL TAO_debug_level
+#endif // DEBUG_LEVEL
TAO_Notify_POA_Helper::TAO_Notify_POA_Helper (void)
{
@@ -81,7 +84,7 @@ TAO_Notify_POA_Helper::create_i (PortableServer::POA_ptr parent_poa, const char*
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
- if (TAO_debug_level > 0)
+ if (DEBUG_LEVEL > 0)
ACE_DEBUG ((LM_DEBUG, "Created POA : %s\n", this->poa_->the_name ()));
/*
// Destroy the policies
@@ -125,13 +128,10 @@ TAO_Notify_POA_Helper::long_to_ObjectId (CORBA::Long id ACE_ENV_ARG_DECL) const
CORBA::Object_ptr
TAO_Notify_POA_Helper::activate (PortableServer::Servant servant, CORBA::Long& id ACE_ENV_ARG_DECL)
{
- /// ID Factory for objects.
- static TAO_Notify_ID_Factory id_factory;
-
// Generate a new ID.
- id = id_factory.id ();
+ id = this->id_factory_.id ();
- if (TAO_debug_level > 0)
+ if (DEBUG_LEVEL > 0)
ACE_DEBUG ((LM_DEBUG, "Activating object with id = %d in POA : %s\n", id, this->poa_->the_name ()));
// Convert CORBA::Long to ObjectId
@@ -151,8 +151,9 @@ TAO_Notify_POA_Helper::activate (PortableServer::Servant servant, CORBA::Long& i
CORBA::Object_ptr
TAO_Notify_POA_Helper::activate_with_id (PortableServer::Servant servant, CORBA::Long id ACE_ENV_ARG_DECL)
{
- if (TAO_debug_level > 0)
+ if (DEBUG_LEVEL > 0)
ACE_DEBUG ((LM_DEBUG, "Activating object with existing id = %d in POA : %s\n", id, this->poa_->the_name ()));
+ this->id_factory_.set_last_used (id);
// Convert CORBA::Long to ObjectId
PortableServer::ObjectId_var oid =
diff --git a/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.h b/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.h
index bd3e0ed6a38..01c79ed3665 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/POA_Helper.h
@@ -23,6 +23,7 @@
#include "ace/Copy_Disabled.h"
#include "tao/PortableServer/PortableServer.h"
+#include "ID_Factory.h"
/**
* @class TAO_Notify_POA_Helper
@@ -78,11 +79,15 @@ protected:
/// Generate a unique id for each POA created.
ACE_CString get_unique_id (void);
+ /// Convert id to ObjectID
+ PortableServer::ObjectId* long_to_ObjectId (CORBA::Long id ACE_ENV_ARG_DECL) const;
+
+protected:
/// POA
PortableServer::POA_var poa_;
- /// Convert id to ObjectID
- PortableServer::ObjectId* long_to_ObjectId (CORBA::Long id ACE_ENV_ARG_DECL) const;
+ /// ID Factory for objects.
+ TAO_Notify_ID_Factory id_factory_;
};
#if defined (__ACE_INLINE__)
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.cpp b/TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.cpp
index 21c13c328c6..24f960f74f4 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.cpp
@@ -6,11 +6,9 @@
#include "ace/OS_NS_string.h"
//#define DEBUG_LEVEL 9
-#ifndef DEBUG_LEVEL
-# define DEBUG_LEVEL TAO_debug_level
-#endif //DEBUG_LEVEL
+#define DEBUG_LEVEL TAO_debug_level
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
Persistent_Storage_Block::Persistent_Storage_Block(const size_t block_number,
@@ -386,18 +384,18 @@ Persistent_File_Allocator::run()
this->thread_active_ = false;
}
-} /* namespace TAO_NOTIFY */
+} /* namespace TAO_Notify */
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
template class ACE_Node<size_t>;
template class ACE_Unbounded_Stack<size_t>;
-template class ACE_Node<TAO_NOTIFY::Persistent_Storage_Block*>;
-template class ACE_Unbounded_Queue<TAO_NOTIFY::Persistent_Storage_Block*>;
-template class ACE_Unbounded_Queue_Iterator<TAO_NOTIFY::Persistent_Storage_Block*>;
+template class ACE_Node<TAO_Notify::Persistent_Storage_Block*>;
+template class ACE_Unbounded_Queue<TAO_Notify::Persistent_Storage_Block*>;
+template class ACE_Unbounded_Queue_Iterator<TAO_Notify::Persistent_Storage_Block*>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
#pragma instantiate ACE_Node<size_t>
#pragma instantiate ACE_Unbounded_Stack<size_t>
-#pragma instantiate ACE_Node<TAO_NOTIFY::Persistent_Storage_Block*>
-#pragma instantiate ACE_Unbounded_Queue<TAO_NOTIFY::Persistent_Storage_Block*>
-#pragma instantiate ACE_Unbounded_Queue_Iterator<TAO_NOTIFY::Persistent_Storage_Block*>
+#pragma instantiate ACE_Node<TAO_Notify::Persistent_Storage_Block*>
+#pragma instantiate ACE_Unbounded_Queue<TAO_Notify::Persistent_Storage_Block*>
+#pragma instantiate ACE_Unbounded_Queue_Iterator<TAO_Notify::Persistent_Storage_Block*>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.h b/TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.h
index 07bfd08bd54..15b1e4eb713 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Persistent_File_Allocator.h
@@ -30,7 +30,7 @@
#include "ace/Unbounded_Queue.h"
#include "ace/Thread_Manager.h"
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
@@ -197,7 +197,7 @@ private:
ACE_SYNCH_CONDITION wake_up_thread_;
};
-} /* namespace TAO_NOTIFY */
+} /* namespace TAO_Notify */
#include /**/ "ace/post.h"
#endif /* PERSISTENT_FILE_ALLOCATOR_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Proxy.cpp b/TAO/orbsvcs/orbsvcs/Notify/Proxy.cpp
index ab109a6a674..acac3ec9c2b 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Proxy.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Proxy.cpp
@@ -125,7 +125,7 @@ TAO_Notify_Proxy::qos_changed (const TAO_Notify_QoSProperties& qos_properties)
}
void
-TAO_Notify_Proxy::save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG_DECL)
+TAO_Notify_Proxy::save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL)
{
bool changed = this->children_changed_;
this->children_changed_ = false;
@@ -133,7 +133,7 @@ TAO_Notify_Proxy::save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG
if (is_persistent ())
{
- TAO_NOTIFY::NVPList attrs;
+ TAO_Notify::NVPList attrs;
this->save_attrs(attrs);
const char * type_name = this->get_proxy_type_name ();
@@ -159,7 +159,7 @@ TAO_Notify_Proxy::save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG
}
void
-TAO_Notify_Proxy::save_attrs (TAO_NOTIFY::NVPList& attrs)
+TAO_Notify_Proxy::save_attrs (TAO_Notify::NVPList& attrs)
{
TAO_Notify_Object::save_attrs(attrs);
TAO_Notify_Peer * peer = this->peer();
@@ -168,16 +168,16 @@ TAO_Notify_Proxy::save_attrs (TAO_NOTIFY::NVPList& attrs)
ACE_CString ior;
if (peer->get_ior(ior))
{
- attrs.push_back (TAO_NOTIFY::NVP("PeerIOR", ior));
+ attrs.push_back (TAO_Notify::NVP("PeerIOR", ior));
}
}
}
-TAO_NOTIFY::Topology_Object*
+TAO_Notify::Topology_Object*
TAO_Notify_Proxy::load_child (const ACE_CString &type, CORBA::Long id,
- const TAO_NOTIFY::NVPList& attrs ACE_ENV_ARG_DECL)
+ const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL)
{
- TAO_NOTIFY::Topology_Object* result = this;
+ TAO_Notify::Topology_Object* result = this;
if (type == "subscriptions")
{
// since we initialized our subscribed types to everything
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Proxy.h b/TAO/orbsvcs/orbsvcs/Notify/Proxy.h
index e714e6e3a5c..f98a571a2e0 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Proxy.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Proxy.h
@@ -36,7 +36,7 @@ class TAO_Notify_Peer;
*
*/
class TAO_Notify_Serv_Export TAO_Notify_Proxy
- : public TAO_NOTIFY::Topology_Parent
+ : public TAO_Notify::Topology_Parent
{
friend class TAO_Notify_Peer;
@@ -106,14 +106,14 @@ public:
/// Override, TAO_Notify_Object::qos_changed
virtual void qos_changed (const TAO_Notify_QoSProperties& qos_properties);
- // TAO_NOTIFY::Topology_Object
+ // TAO_Notify::Topology_Object
- virtual void save_persistent (TAO_NOTIFY::Topology_Saver& saver ACE_ENV_ARG_DECL);
- virtual void save_attrs(TAO_NOTIFY::NVPList& attrs);
+ virtual void save_persistent (TAO_Notify::Topology_Saver& saver ACE_ENV_ARG_DECL);
+ virtual void save_attrs(TAO_Notify::NVPList& attrs);
virtual const char * get_proxy_type_name (void) const = 0;
- virtual TAO_NOTIFY::Topology_Object* load_child (const ACE_CString &type, CORBA::Long id,
- const TAO_NOTIFY::NVPList& attrs ACE_ENV_ARG_DECL);
+ virtual TAO_Notify::Topology_Object* load_child (const ACE_CString &type, CORBA::Long id,
+ const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL);
protected:
diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp
index 51bcae25d25..77c6bad51dd 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp
@@ -19,6 +19,12 @@ ACE_RCSID(RT_Notify, TAO_Notify_ProxyConsumer, "$Id$")
#include "Worker_Task.h"
#include "Properties.h"
#include "SupplierAdmin.h"
+#include "EventChannel.h"
+#include "Routing_Slip.h"
+#define DEBUG_LEVEL 10
+#ifndef DEBUG_LEVEL
+# define DEBUG_LEVEL TAO_debug_level
+#endif //DEBUG_LEVEL
TAO_Notify_ProxyConsumer::TAO_Notify_ProxyConsumer (void)
: supplier_admin_ (0)
@@ -40,7 +46,7 @@ TAO_Notify_ProxyConsumer::peer (void)
void
TAO_Notify_ProxyConsumer::init (TAO_Notify_SupplierAdmin* supplier_admin ACE_ENV_ARG_DECL)
{
- TAO_NOTIFY::Topology_Object::init (supplier_admin);
+ TAO_Notify::Topology_Object::init (supplier_admin);
this->supplier_admin_ = supplier_admin;
@@ -110,6 +116,46 @@ TAO_Notify_ProxyConsumer::connect (TAO_Notify_Supplier *supplier ACE_ENV_ARG_DEC
// Increment the global supplier count
++supplier_count;
}
+void
+TAO_Notify_ProxyConsumer::push_i (TAO_Notify_Event * event ACE_ENV_ARG_DECL)
+{
+ if (this->supports_reliable_events ())
+ {
+ TAO_Notify_Event_var pevent;
+ event->queueable_copy (pevent ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ TAO_Notify::Routing_Slip_Ptr routing_slip =
+ TAO_Notify::Routing_Slip::create (pevent ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ if (DEBUG_LEVEL > 0)
+ ACE_DEBUG((LM_DEBUG, ACE_TEXT ("ProxyConsumer routing event.\n")));
+ routing_slip->route (this, true ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ routing_slip->wait_persist ();
+ }
+ else
+ {
+ TAO_Notify_Method_Request_Lookup_No_Copy request (event, this);
+ this->worker_task ()->execute (request ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+}
+
+bool
+TAO_Notify_ProxyConsumer::supports_reliable_events () const
+{
+ bool reliable = false;
+ CosNotification::PropertyValue value;
+ if (this->find_qos_property_value (CosNotification::EventReliability, value))
+ {
+ CORBA::Long setting;
+ if (value >>= setting)
+ {
+ reliable = (setting == CosNotification::Persistent);
+ }
+ }
+ return reliable;
+}
void
TAO_Notify_ProxyConsumer::disconnect (ACE_ENV_SINGLE_ARG_DECL)
diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h b/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h
index 349c9c7b150..797fc246e44 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/ProxyConsumer.h
@@ -79,6 +79,13 @@ public:
TAO_Notify_SupplierAdmin* supplier_admin (void);
protected:
+ /// Accept an event from the Supplier
+ void push_i (TAO_Notify_Event * event ACE_ENV_ARG_DECL);
+
+ /// Is this part of a reliable channel
+ bool supports_reliable_events () const;
+
+protected:
///= Data Members.
/// The SA parent.
TAO_Notify_SupplierAdmin* supplier_admin_;
diff --git a/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.cpp b/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.cpp
index cd946a669c0..90b25182bad 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/ProxySupplier.cpp
@@ -31,7 +31,7 @@ TAO_Notify_ProxySupplier::~TAO_Notify_ProxySupplier ()
void
TAO_Notify_ProxySupplier::init (TAO_Notify_ConsumerAdmin* consumer_admin ACE_ENV_ARG_DECL)
{
- TAO_NOTIFY::Topology_Object::init (consumer_admin);
+ TAO_Notify::Topology_Object::init (consumer_admin);
this->consumer_admin_ = consumer_admin;
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Random_File.cpp b/TAO/orbsvcs/orbsvcs/Notify/Random_File.cpp
index 59bafa52b52..3542a10690d 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Random_File.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Random_File.cpp
@@ -5,11 +5,9 @@
#include "ace/OS.h"
#include <tao/debug.h>
//#define DEBUG_LEVEL 9 // uncomment to force debug messages
-#ifndef DEBUG_LEVEL
-# define DEBUG_LEVEL TAO_debug_level
-#endif //DEBUG_LEVEL
+#define DEBUG_LEVEL TAO_debug_level // coment to force debug messages
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
Random_File::Random_File()
@@ -153,7 +151,7 @@ Random_File::sync()
return result;
}
-} /* namespace TAO_NOTIFY */
+} /* namespace TAO_Notify */
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Random_File.h b/TAO/orbsvcs/orbsvcs/Notify/Random_File.h
index 4c8b550124d..833d5274114 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Random_File.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Random_File.h
@@ -27,7 +27,7 @@
#include "ace/streams.h"
#include "ace/Synch_T.h"
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
/**
@@ -83,7 +83,7 @@ private:
ACE_SYNCH_MUTEX lock_;
};
-} /* namespace TAO_NOTIFY */
+} /* namespace TAO_Notify */
#include /**/ "ace/post.h"
#endif /* RANDOM_FILE_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.cpp
index 09c3a50414c..6557823e111 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.cpp
@@ -19,7 +19,7 @@
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
template<class TOPOOBJ>
Reconnect_Worker<TOPOOBJ>::Reconnect_Worker()
@@ -34,6 +34,6 @@ namespace TAO_NOTIFY
o->reconnect (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK;
}
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
#endif /* RECONNECT_WORKER_CPP */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.h b/TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.h
index 0a664b61144..8190037e3bd 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Reconnect_Worker_T.h
@@ -20,7 +20,7 @@
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
/**
* \brief Iterate through children reconnecting after reloading persistent information.
@@ -35,7 +35,7 @@ namespace TAO_NOTIFY
// override virtual ESF_Worker method
virtual void work (TOPOOBJ* o ACE_ENV_ARG_DECL);
};
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
#include "Reconnect_Worker_T.cpp"
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.cpp b/TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.cpp
index 047acc906c0..a074eca09c8 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.cpp
@@ -17,7 +17,7 @@
#include "Properties.h"
#include "Topology_Saver.h"
#include <ace/Vector_T.h>
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
Reconnection_Registry::Reconnection_Registry (Topology_Parent & parent)
: highest_id_(0)
@@ -242,7 +242,7 @@ namespace TAO_NOTIFY
}
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.h b/TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.h
index f077a3c1695..8571acc47db 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Reconnection_Registry.h
@@ -24,7 +24,7 @@
#include "ace/Hash_Map_Manager_T.h"
#include "ace/Null_Mutex.h"
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
static const char REGISTRY_TYPE[] = "reconnect_registry";
static const char RECONNECT_ID[] = "ReconnectId";
@@ -90,7 +90,7 @@ namespace TAO_NOTIFY
Reconnection_Registry_Type reconnection_registry_;
::NotifyExt::ReconnectionRegistry::ReconnectionID highest_id_;
};
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
#if defined (__ACE_INLINE__)
#include "Reconnection_Registry.inl"
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.inl b/TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.inl
index 21f9b81ce7d..e8a6d882dda 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.inl
+++ b/TAO/orbsvcs/orbsvcs/Notify/Refcountable_Guard_T.inl
@@ -1,5 +1,7 @@
// $Id$
+#include "ace/Log_Msg.h"
+
template <class T> ACE_INLINE
TAO_Notify_Refcountable_Guard_T<T>::TAO_Notify_Refcountable_Guard_T (T *t)
: t_ (t)
@@ -56,7 +58,9 @@ TAO_Notify_Refcountable_Guard_T<T>::operator = (
const TAO_Notify_Refcountable_Guard_T<T> & rhs)
{
// note exception safe assignment. see Sutter's "Exceptional C++"
- swap (TAO_Notify_Refcountable_Guard_T<T> (rhs.t_));
+ // note it's worth the following optimization to avoid threadsafe increment/decrement refcounters
+ if (this->t_ != rhs.t_)
+ swap (TAO_Notify_Refcountable_Guard_T<T> (rhs.t_));
return *this;
}
@@ -67,5 +71,5 @@ TAO_Notify_Refcountable_Guard_T<T>::swap (TAO_Notify_Refcountable_Guard_T & rhs)
{
T* pt = rhs.t_;
rhs.t_ = this->t_;
- this->t_ = rhs.t_;
+ this->t_ = pt;
}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.cpp b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.cpp
index 5f6fb42e9a0..d64e96d8ecf 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.cpp
@@ -7,8 +7,6 @@
#endif /* __ACE_INLINE__ */
#include "Delivery_Request.h"
-#include "Delivery_Method_Lookup.h"
-#include "Delivery_Method_Dispatch.h"
#include "Worker_Task.h"
#include "ProxyConsumer.h"
#include "ProxySupplier.h"
@@ -17,15 +15,15 @@
#include "Routing_Slip_Queue.h"
#include "tao/debug.h"
#include "ace/Dynamic_Service.h"
+#include "Method_Request_Lookup.h"
+#include "Method_Request_Dispatch.h"
//#define DEBUG_LEVEL 9
-#ifndef DEBUG_LEVEL
-# define DEBUG_LEVEL TAO_debug_level
-#endif //DEBUG_LEVEL
+#define DEBUG_LEVEL TAO_debug_level
#define QUEUE_ALLOWED 1
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
///////////////////////
// Routing_Slip Statics
@@ -52,14 +50,16 @@ size_t Routing_Slip::count_enter_deleting_ = 0;
size_t Routing_Slip::count_enter_terminal_ = 0;
Routing_Slip_Ptr
-Routing_Slip::create (
- const TAO_Notify_Event_Ptr& event)
+Routing_Slip::create (const TAO_Notify_Event_var& event ACE_ENV_ARG_DECL)
{
- Routing_Slip_Ptr result(new Routing_Slip (event));
+ Routing_Slip * prs;
+ ACE_NEW_THROW_EX (prs, Routing_Slip (event), CORBA::NO_MEMORY ());
+ ACE_CHECK_RETURN (Routing_Slip_Ptr());
+ Routing_Slip_Ptr result(prs);
result->this_ptr_ = result; // let the pointers touch so they use the same ref count
// note we don't care about ultra-precise stats, so no guard for these
- if (DEBUG_LEVEL > 1 && ((result->sequence_ % 100) == 0))
+ if (DEBUG_LEVEL > 8 && ((result->sequence_ % 100) == 0))
{
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("(%P|%t) Routing_Slip_Statistics\n")
@@ -109,33 +109,44 @@ Routing_Slip::create (
Routing_Slip_Ptr result;
ACE_Message_Block * event_mb = 0;
ACE_Message_Block * rs_mb = 0;
- if (rspm->reload (event_mb, rs_mb))
- {
- TAO_InputCDR cdr_event (event_mb);
- TAO_Notify_Event_Ptr event (TAO_Notify_Event::unmarshal (cdr_event));
- if (event != 0)
+ ACE_TRY_NEW_ENV
{
- result = create (event);
- TAO_InputCDR cdr_rs (rs_mb);
- if ( result->unmarshal (ecf, cdr_rs))
- {
- result->set_rspm (rspm);
- }
- else
+ if (rspm->reload (event_mb, rs_mb))
{
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("(%P|%t) Routing_Slip::create: Unmarshalling failed for routing slip.\n")
- ));
- result.reset ();
+ TAO_InputCDR cdr_event (event_mb);
+ TAO_Notify_Event_Copy_var event (TAO_Notify_Event::unmarshal (cdr_event));
+ if (event.get () != 0)
+ {
+ result = create (event ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ TAO_InputCDR cdr_rs (rs_mb);
+ if ( result->unmarshal (ecf, cdr_rs))
+ {
+ result->set_rspm (rspm);
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) Routing_Slip::create: Unmarshalling failed for routing slip.\n")
+ ));
+ result.reset ();
+ }
+ }
+ else
+ {
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("(%P|%t) Routing_Slip::create: Unmarshalling failed for event.\n")
+ ));
+ }
}
}
- else
+ ACE_CATCHANY
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("(%P|%t) Routing_Slip::create: Unmarshalling failed for event.\n")
+ ACE_TEXT ("(%P|%t) Routing_Slip::create: Exception reloading event.\n")
));
}
- }
+ ACE_ENDTRY;
delete event_mb;
delete rs_mb;
@@ -153,7 +164,7 @@ Routing_Slip::set_rspm (Routing_Slip_Persistence_Manager * rspm)
}
Routing_Slip::Routing_Slip(
- const TAO_Notify_Event_Ptr& event)
+ const TAO_Notify_Event_var& event)
: is_safe_ (false)
, until_safe_ (internals_)
, this_ptr_ (0)
@@ -184,7 +195,7 @@ Routing_Slip::create_persistence_manager()
if (this->rspm_ == 0)
{
Event_Persistence_Strategy * strategy =
- ACE_Dynamic_Service <TAO_NOTIFY::Event_Persistence_Strategy>::instance ("Event_Persistence");
+ ACE_Dynamic_Service <TAO_Notify::Event_Persistence_Strategy>::instance ("Event_Persistence");
if (strategy != 0)
{
Event_Persistence_Factory * factory = strategy->get_factory ();
@@ -197,7 +208,7 @@ Routing_Slip::create_persistence_manager()
return this->rspm_ != 0;
}
-const TAO_Notify_Event_Ptr &
+const TAO_Notify_Event_var &
Routing_Slip::event () const
{
return this->event_;
@@ -214,11 +225,11 @@ Routing_Slip::wait_persist ()
}
void
-Routing_Slip::route (TAO_Notify_ProxyConsumer* pc, bool reliable_channel)
+Routing_Slip::route (TAO_Notify_ProxyConsumer* pc, bool reliable_channel ACE_ENV_ARG_DECL)
{
ACE_ASSERT(pc != 0);
- TAO_Notify_Refcountable_Guard pcgrd(*pc);
+ TAO_Notify_Refcountable_Guard_T<TAO_Notify_ProxyConsumer> pcgrd(pc);
Routing_Slip_Guard guard (this->internals_);
@@ -234,7 +245,7 @@ Routing_Slip::route (TAO_Notify_ProxyConsumer* pc, bool reliable_channel)
Delivery_Request_Ptr request (new Delivery_Request (this->this_ptr_, request_id));
this->delivery_requests_.push_back (request);
- Delivery_Method_Lookup method (request, pc);
+ TAO_Notify_Method_Request_Lookup_Queueable method (request, pc);
if (this->state_ == rssCREATING)
{
@@ -242,7 +253,7 @@ Routing_Slip::route (TAO_Notify_ProxyConsumer* pc, bool reliable_channel)
{
enter_state_transient (guard);
}
- else if (ACE_Dynamic_Service <TAO_NOTIFY::Event_Persistence_Strategy>::instance ("Event_Persistence") == 0)
+ else if (ACE_Dynamic_Service <TAO_Notify::Event_Persistence_Strategy>::instance ("Event_Persistence") == 0)
{
enter_state_transient (guard);
}
@@ -260,16 +271,69 @@ Routing_Slip::route (TAO_Notify_ProxyConsumer* pc, bool reliable_channel)
}
}
guard.release ();
- pc->worker_task()->exec (method);
+ pc->worker_task()->execute (method ACE_ENV_ARG_PARAMETER);
+}
+#if 0 // forward
+void
+Routing_Slip::forward (TAO_Notify_ProxySupplier* ps, bool filter)
+{
+ // must be the first action
+ ACE_ASSERT (this->state_ == rssCREATING);
+
+ TAO_Notify_Refcountable_Guard_T<TAO_Notify_ProxySupplier> psgrd(ps);
+ Routing_Slip_Guard guard (this->internals_);
+
+ enter_state_transient (guard);
+ size_t request_id = delivery_requests_.size ();
+
+ if (DEBUG_LEVEL > 8) ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("(%P|%t) Routing Slip #%d: add Delivery_Request #%d: Forward %s; completed %d of %d\n"),
+ this->sequence_,
+ ACE_static_cast (int, request_id),
+ filter ? ACE_TEXT ("Filter") : ACE_TEXT ("No Filter"),
+ ACE_static_cast (int, this->complete_requests_),
+ ACE_static_cast (int, this->delivery_requests_.size ())
+ ));
+
+ Delivery_Request_Ptr request (new Delivery_Request (this->this_ptr_, request_id));
+ if (! ps->has_shutdown() )
+ {
+ this->delivery_requests_.push_back (request);
+// Delivery_Method_Dispatch method (request, ps, filter);
+ TAO_Notify_Method_Request_Dispatch_No_Copy method (request, ps, filter);
+ guard.release ();
+ if (DEBUG_LEVEL > 8)
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) Routing Slip #%d: dispatching Delivery_Request %d to "
+ "proxy supplier %d\n",
+ this->sequence_,
+ ACE_static_cast (int, request_id),
+ ps->id()));
+ ps->worker_task()->execute (method);
+ }
+ else
+ {
+ if (DEBUG_LEVEL > 5)
+ ACE_DEBUG ((LM_DEBUG,
+ "(%P|%t) Routing Slip #%d: not dispatching Delivery_Request %d to "
+ "proxy supplier %d; already shut down\n",
+ this->sequence_,
+ ACE_static_cast (int, request_id),
+ ps->id()));
+ }
}
+#endif // forward
void
-Routing_Slip::dispatch (TAO_Notify_ProxySupplier* ps, bool filter)
+Routing_Slip::dispatch (
+ TAO_Notify_ProxySupplier* ps,
+ bool filter
+ ACE_ENV_ARG_DECL)
{
// cannot be the first action
ACE_ASSERT (this->state_ != rssCREATING);
- TAO_Notify_Refcountable_Guard psgrd(*ps); //@@todo : Need to guard anything else?
+ TAO_Notify_Refcountable_Guard_T<TAO_Notify_ProxySupplier> psgrd(ps);
Routing_Slip_Guard guard (this->internals_);
size_t request_id = delivery_requests_.size ();
@@ -287,7 +351,7 @@ Routing_Slip::dispatch (TAO_Notify_ProxySupplier* ps, bool filter)
if (! ps->has_shutdown() )
{
this->delivery_requests_.push_back (request);
- Delivery_Method_Dispatch method (request, ps, filter);
+ TAO_Notify_Method_Request_Dispatch_No_Copy method (request, ps, filter);
guard.release ();
if (DEBUG_LEVEL > 8)
ACE_DEBUG ((LM_DEBUG,
@@ -296,7 +360,8 @@ Routing_Slip::dispatch (TAO_Notify_ProxySupplier* ps, bool filter)
this->sequence_,
ACE_static_cast (int, request_id),
ps->id()));
- ps->worker_task()->exec (method);
+ ps->worker_task()->execute (method ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
}
else
{
@@ -778,14 +843,21 @@ Routing_Slip::unmarshal (TAO_Notify_EventChannelFactory &ecf, TAO_InputCDR & cdr
{
ACE_TRY_NEW_ENV
{
- if (code == Delivery_Method_Dispatch::persistence_code)
+ if (code == TAO_Notify_Method_Request_Dispatch::persistence_code)
{
- Delivery_Request_Ptr request(new Delivery_Request(this_ptr_, this->delivery_requests_.size ()));
- Delivery_Method * method = Delivery_Method_Dispatch::create (
- request,
- ecf,
- cdr
- ACE_ENV_ARG_PARAMETER);
+ Delivery_Request * prequest;
+ ACE_NEW_THROW_EX (
+ prequest,
+ Delivery_Request(this_ptr_, this->delivery_requests_.size ()),
+ CORBA::NO_MEMORY ());
+ ACE_TRY_CHECK;
+ Delivery_Request_Ptr request(prequest);
+ TAO_Notify_Method_Request_Dispatch_Queueable * method =
+ TAO_Notify_Method_Request_Dispatch::unmarshal (
+ request,
+ ecf,
+ cdr
+ ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
if (method != 0)
{
@@ -793,14 +865,15 @@ Routing_Slip::unmarshal (TAO_Notify_EventChannelFactory &ecf, TAO_InputCDR & cdr
this->delivery_methods_.push_back (method);
}
}
- else if (code == Delivery_Method_Lookup::persistence_code)
+ else if (code == TAO_Notify_Method_Request_Lookup::persistence_code)
{
Delivery_Request_Ptr request(new Delivery_Request(this_ptr_, this->delivery_requests_.size ()));
- Delivery_Method * method = Delivery_Method_Lookup::create (
- request,
- ecf,
- cdr
- ACE_ENV_ARG_PARAMETER);
+ TAO_Notify_Method_Request_Lookup_Queueable * method =
+ TAO_Notify_Method_Request_Lookup::unmarshal (
+ request,
+ ecf,
+ cdr
+ ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK
if (method != 0)
{
@@ -830,7 +903,7 @@ Routing_Slip::reconnect (ACE_ENV_SINGLE_ARG_DECL)
size_t count = this->delivery_methods_.size ();
for (size_t nmethod = 0; nmethod < count; ++nmethod)
{
- this->delivery_methods_[nmethod] ->execute (TAO_Notify_Method_Request_Queueable::EXECUTE ACE_ENV_ARG_PARAMETER);
+ this->delivery_methods_[nmethod]->execute (ACE_ENV_SINGLE_ARG_PARAMETER);
}
this->delivery_methods_.clear ();
}
@@ -854,27 +927,27 @@ Routing_Slip::should_retry () const
} // namespace
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Auto_Basic_Ptr<TAO_NOTIFY::Routing_Slip>;
-template class ACE_Strong_Bound_Ptr<TAO_NOTIFY::Routing_Slip, TAO_SYNCH_MUTEX>;
-template class ACE_Auto_Basic_Ptr<TAO_NOTIFY::Delivery_Request>;
-template class ACE_Strong_Bound_Ptr<TAO_NOTIFY::Delivery_Request,TAO_SYNCH_MUTEX>;
-template class ACE_Vector <TAO_NOTIFY::Delivery_Request_Ptr>;
-template class ACE_Array_Base<ACE_Strong_Bound_Ptr<TAO_NOTIFY::Delivery_Request,TAO_SYNCH_MUTEX> >;
-template class ACE_Vector <TAO_NOTIFY::Delivery_Request *>;
-template class ACE_Array_Base<TAO_NOTIFY::Delivery_Request *>;
-template class ACE_Dynamic_Service <TAO_NOTIFY::Event_Persistence_Strategy>;
-template class ACE_Array_Base<TAO_NOTIFY::Delivery_Method*>;
-template class ACE_Vector<TAO_NOTIFY::Delivery_Method*>;
+template class ACE_Auto_Basic_Ptr<TAO_Notify::Routing_Slip>;
+template class ACE_Strong_Bound_Ptr<TAO_Notify::Routing_Slip, TAO_SYNCH_MUTEX>;
+template class ACE_Auto_Basic_Ptr<TAO_Notify::Delivery_Request>;
+template class ACE_Strong_Bound_Ptr<TAO_Notify::Delivery_Request,TAO_SYNCH_MUTEX>;
+template class ACE_Vector <TAO_Notify::Delivery_Request_Ptr>;
+template class ACE_Array_Base<ACE_Strong_Bound_Ptr<TAO_Notify::Delivery_Request,TAO_SYNCH_MUTEX> >;
+template class ACE_Vector <TAO_Notify::Delivery_Request *>;
+template class ACE_Array_Base<TAO_Notify::Delivery_Request *>;
+template class ACE_Dynamic_Service <TAO_Notify::Event_Persistence_Strategy>;
+template class ACE_Array_Base<TAO_Notify_Method_Request_Dispatch_No_Copy*>;
+template class ACE_Vector<TAO_Notify_Method_Request_Dispatch_No_Copy*>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Auto_Basic_Ptr<TAO_NOTIFY::Routing_Slip>
-#pragma instantiate ACE_Strong_Bound_Ptr<TAO_NOTIFY::Routing_Slip,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Auto_Basic_Ptr<TAO_NOTIFY::Delivery_Request>
-#pragma instantiate ACE_Strong_Bound_Ptr<TAO_NOTIFY::Delivery_Request,TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Vector <TAO_NOTIFY::Delivery_Request_Ptr>
-#pragma instantiate ACE_Array_Base<ACE_Strong_Bound_Ptr<TAO_NOTIFY::Delivery_Request,TAO_SYNCH_MUTEX> >
-#pragma instantiate ACE_Vector <TAO_NOTIFY::Delivery_Request *>
-#pragma instantiate ACE_Array_Base<TAO_NOTIFY::Delivery_Request *>
-#pragma instantiate ACE_Dynamic_Service <TAO_NOTIFY::Event_Persistence_Strategy>
-#pragma instantiate ACE_Array_Base<TAO_NOTIFY::Delivery_Method*>
-#pragma instantiate ACE_Vector<TAO_NOTIFY::Delivery_Method*>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_Notify::Routing_Slip>
+#pragma instantiate ACE_Strong_Bound_Ptr<TAO_Notify::Routing_Slip,TAO_SYNCH_MUTEX>
+#pragma instantiate ACE_Auto_Basic_Ptr<TAO_Notify::Delivery_Request>
+#pragma instantiate ACE_Strong_Bound_Ptr<TAO_Notify::Delivery_Request,TAO_SYNCH_MUTEX>
+#pragma instantiate ACE_Vector <TAO_Notify::Delivery_Request_Ptr>
+#pragma instantiate ACE_Array_Base<ACE_Strong_Bound_Ptr<TAO_Notify::Delivery_Request,TAO_SYNCH_MUTEX> >
+#pragma instantiate ACE_Vector <TAO_Notify::Delivery_Request *>
+#pragma instantiate ACE_Array_Base<TAO_Notify::Delivery_Request *>
+#pragma instantiate ACE_Dynamic_Service <TAO_Notify::Event_Persistence_Strategy>
+#pragma instantiate ACE_Array_Base<TAO_Notify_Method_Request_Dispatch_No_Copy*>
+#pragma instantiate ACE_Vector<TAO_Notify_Method_Request_Dispatch_No_Copy*>
#endif /*ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.h b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.h
index 5c8d4f370e3..9e57fde894a 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.h
@@ -13,9 +13,8 @@
#define TAO_NOTIFY_ROUTING_SLIP_H
#include "ace/pre.h"
-#include "notify_export.h"
+#include "notify_serv_export.h"
#include "Event.h"
-#include "Types.h"
#include "Delivery_Request.h"
#include "Event_Persistence_Factory.h"
@@ -31,22 +30,24 @@
// Forward declarations of classes/pointers/collections
// referenced from this header
class TAO_Notify_EventChannelFactory;
+class TAO_Notify_Method_Request;
+class TAO_Notify_ProxyConsumer;
+class TAO_Notify_ProxySupplier;
class TAO_Notify_Method_Request_Queueable;
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
-class TAO_Notify_Export Routing_Slip_Persistence_Manager;
+class TAO_Notify_Serv_Export Routing_Slip_Persistence_Manager;
-// Forward declarations of TAO_NOTIFY classes/pointers/collections
+// Forward declarations of TAO_Notify classes/pointers/collections
// referenced from this header
/// A vector of Delivery Requests. The body of a Routing_Slip.
typedef ACE_Vector <Delivery_Request_Ptr> Delivery_Request_Vec;
-class Delivery_Method;
-/// A vector of Delivery_Methods. Used during recovery.
-typedef ACE_Vector <Delivery_Method *> Delivery_Method_Vec;
+/// A vector of Methods_. Used during recovery.
+typedef ACE_Vector <TAO_Notify_Method_Request_Queueable *> Delivery_Method_Vec;
class Routing_Slip;
/// A reference-counted smart pointer to a Routing_Slip
@@ -61,12 +62,13 @@ class Routing_Slip_Queue;
*
* Interacts with persistent storage to provide reliable delivery.
*/
-class TAO_Notify_Export Routing_Slip : public Persistent_Callback
+class TAO_Notify_Serv_Export Routing_Slip : public Persistent_Callback
{
typedef ACE_Guard< TAO_SYNCH_MUTEX > Routing_Slip_Guard;
public:
/// "Factory" method for normal use.
- static Routing_Slip_Ptr create (const TAO_Notify_Event_Ptr& event);
+ static Routing_Slip_Ptr create (const TAO_Notify_Event_var& event
+ ACE_ENV_ARG_DECL);
/// "Factory" method for use during reload from persistent storage.
static Routing_Slip_Ptr create (
@@ -86,13 +88,20 @@ public:
/// Route this event to destinations
/// must be the Action request after
/// the routing slip is created.
- void route (TAO_Notify_ProxyConsumer* pc, bool reliable_channel);
+ void route (TAO_Notify_ProxyConsumer* pc, bool reliable_channel ACE_ENV_ARG_DECL);
/// \brief Schedule delivery to a consumer via a proxy supplier
/// \param proxy_supplier the proxy supplier that will deliver the event
/// \param filter should consumer-based filtering be applied?
- /// \param a task to use for this work.
- void dispatch (TAO_Notify_ProxySupplier * proxy_supplier, bool filter);
+ void dispatch (TAO_Notify_ProxySupplier * proxy_supplier, bool filter ACE_ENV_ARG_DECL);
+
+
+#if 0
+ /// \brief Forward delivery to a consumer via a proxy supplier
+ /// \param proxy_supplier the proxy supplier that will deliver the event
+ /// \param filter should consumer-based filtering be applied?
+ void forward (TAO_Notify_ProxySupplier* ps, bool filter);
+#endif
/////////////////////////////////////////
/// \brief Wait until the event/routing_slip has
@@ -113,7 +122,7 @@ public:
/////////////////////////////////////////////////////
// \brief Access the event associated with this routing slip
- const TAO_Notify_Event_Ptr & event () const;
+ const TAO_Notify_Event_var & event () const;
/// \brief Provide an identifying number for this Routing Slip
/// to use in debug messages.
@@ -146,7 +155,7 @@ private:
bool create_persistence_manager();
/// Private constructor for use by create method
- Routing_Slip(const TAO_Notify_Event_Ptr& event);
+ Routing_Slip(const TAO_Notify_Event_var& event);
/// Test to see if all deliveries are complete.
bool all_deliveries_complete () const;
@@ -174,7 +183,7 @@ private:
Routing_Slip_Ptr this_ptr_;
// The event being delivered.
- TAO_Notify_Event_Ptr event_;
+ TAO_Notify_Event_var event_;
/// A mini-state machine to control persistence
/// See external doc for circles and arrows.
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.inl b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.inl
index 87df7c644fd..191a12b479b 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.inl
+++ b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip.inl
@@ -1,9 +1,9 @@
/* -*- C++ -*- */
// $Id$
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
// this is a placeholder for code that will be moved here RSN.
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.cpp b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.cpp
index dfb67f4f7ec..b7240fd5d2f 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.cpp
@@ -4,7 +4,7 @@
#include "Standard_Event_Persistence.h"
#include "Persistent_File_Allocator.h"
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
Routing_Slip_Persistence_Manager::Routing_Slip_Persistence_Manager(
@@ -792,7 +792,7 @@ Routing_Slip_Persistence_Manager::remove_from_dllist()
this->next_manager_ = this;
}
-} /* namespace TAO_NOTIFY */
+} /* namespace TAO_Notify */
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
//template class ACE_Node<size_t>;
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.h b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.h
index e65cafb7640..09d84d03f15 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Persistence_Manager.h
@@ -28,7 +28,7 @@
#include "ace/Synch_T.h"
#include "ace/Containers_T.h"
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
// Some forward declarations.
class Standard_Event_Persistence_Factory;
@@ -255,7 +255,7 @@ private:
ACE_Message_Block * routing_slip_mb_;
};
-} /* namespace TAO_NOTIFY */
+} /* namespace TAO_Notify */
#include /**/ "ace/post.h"
#endif /* ROUTING_SLIP_PERSISTENCE_MANAGER_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.cpp b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.cpp
index b37d48a2646..93cde74a63e 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.cpp
@@ -10,11 +10,9 @@
#include "ace/Dynamic_Service.h"
//#define DEBUG_LEVEL 9
-#ifndef DEBUG_LEVEL
-# define DEBUG_LEVEL TAO_debug_level
-#endif //DEBUG_LEVEL
+#define DEBUG_LEVEL TAO_debug_level
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
Routing_Slip_Queue::Routing_Slip_Queue (size_t allowed)
: allowed_ (allowed)
@@ -111,12 +109,12 @@ namespace TAO_NOTIFY
} // namespace
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Node<TAO_NOTIFY::Routing_Slip_Ptr>;
-template class ACE_Unbounded_Queue<TAO_NOTIFY::Routing_Slip_Ptr>;
-template class ACE_Unbounded_Queue_Iterator<TAO_NOTIFY::Routing_Slip_Ptr>;
+template class ACE_Node<TAO_Notify::Routing_Slip_Ptr>;
+template class ACE_Unbounded_Queue<TAO_Notify::Routing_Slip_Ptr>;
+template class ACE_Unbounded_Queue_Iterator<TAO_Notify::Routing_Slip_Ptr>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Node<TAO_NOTIFY::Routing_Slip_Ptr>
-#pragma instantiate ACE_Unbounded_Queue<TAO_NOTIFY::Routing_Slip_Ptr>
-#pragma instantiate ACE_Unbounded_Queue_Iterator<TAO_NOTIFY::Routing_Slip_Ptr>
+#pragma instantiate ACE_Node<TAO_Notify::Routing_Slip_Ptr>
+#pragma instantiate ACE_Unbounded_Queue<TAO_Notify::Routing_Slip_Ptr>
+#pragma instantiate ACE_Unbounded_Queue_Iterator<TAO_Notify::Routing_Slip_Ptr>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.h b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.h
index 85613c3bf79..553116c5805 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.h
@@ -11,7 +11,7 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
/**
* \brief A queue of Routing_Slips waiting to be persisted.
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.inl b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.inl
new file mode 100644
index 00000000000..f500b5e35e4
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/Notify/Routing_Slip_Queue.inl
@@ -0,0 +1,7 @@
+// $Id$
+namespace TAO_Notify
+{
+ // code will go here soon
+
+} // namespace TAO_Notify
+
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.cpp b/TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.cpp
index edbb3518baf..a18faf6abe7 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.cpp
@@ -19,7 +19,7 @@
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
template<class TOPOOBJ>
Save_Persist_Worker<TOPOOBJ>::Save_Persist_Worker(
@@ -41,6 +41,6 @@ namespace TAO_NOTIFY
ACE_CHECK;
}
}
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
#endif /* SAVE_PERSIST_WORKER_CPP */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.h b/TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.h
index adee13f8de4..740b2128378 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Save_Persist_Worker_T.h
@@ -20,7 +20,7 @@
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
/**
* \brief Iterate through children saving persistent topology information.
@@ -43,7 +43,7 @@ namespace TAO_NOTIFY
Topology_Saver& saver_;
bool want_all_children_;
};
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
#include "Save_Persist_Worker_T.cpp"
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.cpp
index 4db5521cebc..253330c5af1 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.cpp
@@ -11,8 +11,6 @@ ACE_RCSID (Notify, TAO_Notify_SequenceProxyPushConsumer, "$Id$")
#include "tao/debug.h"
#include "SequencePushSupplier.h"
#include "../AdminProperties.h"
-#include "../Method_Request_Lookup.h"
-#include "../Worker_Task.h"
#include "../Structured/StructuredEvent.h"
#include "../Properties.h"
@@ -86,10 +84,8 @@ TAO_Notify_SequenceProxyPushConsumer::push_structured_events (const CosNotificat
const CosNotification::StructuredEvent& notification = event_batch[i];
TAO_Notify_StructuredEvent_No_Copy event (notification);
-
- TAO_Notify_Method_Request_Lookup_No_Copy request (&event, this);
-
- this->worker_task ()->execute (request ACE_ENV_ARG_PARAMETER);
+ this->push_i (&event ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
}
}
@@ -111,7 +107,7 @@ TAO_Notify_SequenceProxyPushConsumer::get_proxy_type_name (void) const
}
void
-TAO_Notify_SequenceProxyPushConsumer::load_attrs (const TAO_NOTIFY::NVPList& attrs)
+TAO_Notify_SequenceProxyPushConsumer::load_attrs (const TAO_Notify::NVPList& attrs)
{
SuperClass::load_attrs(attrs);
ACE_CString ior;
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.h b/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.h
index 174b4dd661c..a47e2510576 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.h
@@ -54,7 +54,7 @@ public:
virtual const char * get_proxy_type_name (void) const;
- virtual void load_attrs (const TAO_NOTIFY::NVPList& attrs);
+ virtual void load_attrs (const TAO_Notify::NVPList& attrs);
protected:
///= Data Members
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.cpp b/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.cpp
index b4196fbcc83..1bf551586dc 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.cpp
@@ -80,7 +80,7 @@ TAO_Notify_SequenceProxyPushSupplier::get_proxy_type_name (void) const
}
void
-TAO_Notify_SequenceProxyPushSupplier::load_attrs (const TAO_NOTIFY::NVPList& attrs)
+TAO_Notify_SequenceProxyPushSupplier::load_attrs (const TAO_Notify::NVPList& attrs)
{
SuperClass::load_attrs(attrs);
ACE_CString ior;
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h b/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h
index 8e8f5f272be..950ee882aa4 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h
@@ -61,7 +61,7 @@ public:
virtual const char * get_proxy_type_name (void) const;
- virtual void load_attrs (const TAO_NOTIFY::NVPList& attrs);
+ virtual void load_attrs (const TAO_Notify::NVPList& attrs);
/// = Servant methods
virtual CosNotifyChannelAdmin::ProxyType MyType (ACE_ENV_SINGLE_ARG_DECL)
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.cpp b/TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.cpp
index ca3c47faaa9..0494a409311 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.cpp
@@ -6,7 +6,7 @@
#include "ace/Dynamic_Service.h"
#include "ace/OS_NS_strings.h"
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
Standard_Event_Persistence::Standard_Event_Persistence ()
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.h b/TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.h
index fe8bb7cddf2..ae450d415da 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Standard_Event_Persistence.h
@@ -27,100 +27,100 @@
#include "Routing_Slip_Persistence_Manager.h"
#include <ace/SString.h>
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
-static const ACE_UINT32 ROUTING_SLIP_ROOT_BLOCK_NUMBER = 0;
-static const ACE_UINT64 ROUTING_SLIP_ROOT_SERIAL_NUMBER = 1;
-
-/// \brief Standard (i.e. default) implementation of Event_Persistence_Factory interface
-class TAO_Notify_Serv_Export Standard_Event_Persistence_Factory :
- public Event_Persistence_Factory
-{
-public:
- /// Constructor
- Standard_Event_Persistence_Factory ();
- /// Destructor
- virtual ~Standard_Event_Persistence_Factory();
-
- /// Open persistence file and initialize.
- /// /param filename the fully qualified path/name of the file to contain
- /// persistent information.
- /// /param block_size the size of a physical block on the device containing
- /// the file.
- bool open (const char * filename, ACE_UINT32 block_size = 512);
-
- //////////////////////////////////////////////////////
- // Implement Event_Persistence_Factory virtual methods.
- virtual Routing_Slip_Persistence_Manager*
- create_routing_slip_persistence_manager(Persistent_Callback* callback);
-
- virtual Routing_Slip_Persistence_Manager * first_reload_manager();
-
- /// reloading process complete. Where should the chain continue?
- void done_reloading(
- Persistent_Storage_Block * next_psb,
- ACE_UINT64 current_serial_number);
-
- /// return current serial # and a psb containing current record#
- /// allocate new serial # and record number, and return those, too.
- void preallocate_next_record(
- ACE_UINT64& current_serial_number,
- Persistent_Storage_Block*& current_psb,
- ACE_UINT64& next_serial_number,
- ACE_UINT32& next_block_number);
-
- // return block pointer info for the
- void get_preallocated_pointer(
- ACE_UINT64& next_serial_number,
- ACE_UINT32& next_block_number);
-
- /// Accessor for file allocator.
- /// Intended for use only by the Routing Slip Persistence Manager
- Persistent_File_Allocator* allocator();
-
- /// Access root record.
- /// Intended for use only by the Routing Slip Persistence Manager
- Routing_Slip_Persistence_Manager & root();
-
-public:
- ACE_SYNCH_MUTEX lock;
-
-private:
- Persistent_File_Allocator allocator_;
- Routing_Slip_Persistence_Manager root_;
- Persistent_Storage_Block* psb_;
- ACE_UINT64 serial_number_;
- bool is_reloading_;
-};
-
-/// \brief The standard implementation of the
-/// Event_Persistence_Strategy interface.
-class TAO_Notify_Serv_Export Standard_Event_Persistence :
- public Event_Persistence_Strategy
-{
-public :
- /// Constructor.
- Standard_Event_Persistence ();
- /// Destructor.
- virtual ~Standard_Event_Persistence ();
- /////////////////////////////////////////////
- // Override Event_Persistent_Strategy methods
- // Parse arguments and initialize.
- virtual int init(int argc, ACE_TCHAR *argv[]);
- // Prepare for shutdown
- virtual int fini ();
-
- // get the current factory, creating it if necessary
- virtual Event_Persistence_Factory * get_factory ();
-
- // release the current factory so a new one can be created
- virtual void reset ();
-
-private:
- ACE_CString filename_; // set via -file_path
- ACE_UINT32 block_size_; // set via -block_size
- Standard_Event_Persistence_Factory * factory_;
-};
+ static const ACE_UINT32 ROUTING_SLIP_ROOT_BLOCK_NUMBER = 0;
+ static const ACE_UINT64 ROUTING_SLIP_ROOT_SERIAL_NUMBER = 1;
+
+ /// \brief Standard (i.e. default) implementation of Event_Persistence_Factory interface
+ class TAO_Notify_Serv_Export Standard_Event_Persistence_Factory :
+ public Event_Persistence_Factory
+ {
+ public:
+ /// Constructor
+ Standard_Event_Persistence_Factory ();
+ /// Destructor
+ virtual ~Standard_Event_Persistence_Factory();
+
+ /// Open persistence file and initialize.
+ /// /param filename the fully qualified path/name of the file to contain
+ /// persistent information.
+ /// /param block_size the size of a physical block on the device containing
+ /// the file.
+ bool open (const char * filename, ACE_UINT32 block_size = 512);
+
+ //////////////////////////////////////////////////////
+ // Implement Event_Persistence_Factory virtual methods.
+ virtual Routing_Slip_Persistence_Manager*
+ create_routing_slip_persistence_manager(Persistent_Callback* callback);
+
+ virtual Routing_Slip_Persistence_Manager * first_reload_manager();
+
+ /// reloading process complete. Where should the chain continue?
+ void done_reloading(
+ Persistent_Storage_Block * next_psb,
+ ACE_UINT64 current_serial_number);
+
+ /// return current serial # and a psb containing current record#
+ /// allocate new serial # and record number, and return those, too.
+ void preallocate_next_record(
+ ACE_UINT64& current_serial_number,
+ Persistent_Storage_Block*& current_psb,
+ ACE_UINT64& next_serial_number,
+ ACE_UINT32& next_block_number);
+
+ // return block pointer info for the
+ void get_preallocated_pointer(
+ ACE_UINT64& next_serial_number,
+ ACE_UINT32& next_block_number);
+
+ /// Accessor for file allocator.
+ /// Intended for use only by the Routing Slip Persistence Manager
+ Persistent_File_Allocator* allocator();
+
+ /// Access root record.
+ /// Intended for use only by the Routing Slip Persistence Manager
+ Routing_Slip_Persistence_Manager & root();
+
+ public:
+ ACE_SYNCH_MUTEX lock;
+
+ private:
+ Persistent_File_Allocator allocator_;
+ Routing_Slip_Persistence_Manager root_;
+ Persistent_Storage_Block* psb_;
+ ACE_UINT64 serial_number_;
+ bool is_reloading_;
+ };
+
+ /// \brief The standard implementation of the
+ /// Event_Persistence_Strategy interface.
+ class TAO_Notify_Serv_Export Standard_Event_Persistence :
+ public Event_Persistence_Strategy
+ {
+ public :
+ /// Constructor.
+ Standard_Event_Persistence ();
+ /// Destructor.
+ virtual ~Standard_Event_Persistence ();
+ /////////////////////////////////////////////
+ // Override Event_Persistent_Strategy methods
+ // Parse arguments and initialize.
+ virtual int init(int argc, ACE_TCHAR *argv[]);
+ // Prepare for shutdown
+ virtual int fini ();
+
+ // get the current factory, creating it if necessary
+ virtual Event_Persistence_Factory * get_factory ();
+
+ // release the current factory so a new one can be created
+ virtual void reset ();
+
+ private:
+ ACE_CString filename_; // set via -file_path
+ ACE_UINT32 block_size_; // set via -block_size
+ Standard_Event_Persistence_Factory * factory_;
+ };
}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp
index 7192f0a47b5..7966c3c2e3f 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp
@@ -14,8 +14,7 @@ ACE_RCSID(RT_Notify, TAO_Notify_StructuredProxyPushConsumer, "$Id$")
#include "StructuredPushSupplier.h"
#include "StructuredEvent.h"
#include "../AdminProperties.h"
-#include "../Method_Request_Lookup.h"
-#include "../Worker_Task.h"
+#include "../Properties.h"
TAO_Notify_StructuredProxyPushConsumer::TAO_Notify_StructuredProxyPushConsumer (void)
{
@@ -82,10 +81,7 @@ TAO_Notify_StructuredProxyPushConsumer::push_structured_event (const CosNotifica
}
TAO_Notify_StructuredEvent_No_Copy event (notification);
-
- TAO_Notify_Method_Request_Lookup_No_Copy request (&event, this);
-
- this->worker_task ()->execute (request ACE_ENV_ARG_PARAMETER);
+ this->push_i (&event ACE_ENV_ARG_PARAMETER);
}
void
@@ -106,7 +102,7 @@ TAO_Notify_StructuredProxyPushConsumer::get_proxy_type_name (void) const
}
void
-TAO_Notify_StructuredProxyPushConsumer::load_attrs (const TAO_NOTIFY::NVPList& attrs)
+TAO_Notify_StructuredProxyPushConsumer::load_attrs (const TAO_Notify::NVPList& attrs)
{
SuperClass::load_attrs(attrs);
ACE_CString ior;
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h
index 7144e700e36..35fc44fe559 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h
@@ -53,7 +53,7 @@ public:
/// Release
virtual void release (void);
- virtual void load_attrs (const TAO_NOTIFY::NVPList& attrs);
+ virtual void load_attrs (const TAO_Notify::NVPList& attrs);
protected:
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp
index 553a72498f0..fac13c9cdf1 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp
@@ -83,7 +83,7 @@ TAO_Notify_StructuredProxyPushSupplier::get_proxy_type_name (void) const
}
void
-TAO_Notify_StructuredProxyPushSupplier::load_attrs (const TAO_NOTIFY::NVPList& attrs)
+TAO_Notify_StructuredProxyPushSupplier::load_attrs (const TAO_Notify::NVPList& attrs)
{
SuperClass::load_attrs(attrs);
ACE_CString ior;
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h
index 3b509c0f929..5990e0ebd12 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h
@@ -60,7 +60,7 @@ public:
/// Release
virtual void release (void);
- virtual void load_attrs (const TAO_NOTIFY::NVPList& attrs);
+ virtual void load_attrs (const TAO_Notify::NVPList& attrs);
/// = Servant methods
// = interface methods
diff --git a/TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp b/TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp
index 29d142fc0c4..c5923eda2d4 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp
@@ -94,11 +94,11 @@ TAO_Notify_SupplierAdmin::destroy (ACE_ENV_SINGLE_ARG_DECL)
ACE_CHECK;
}
-TAO_NOTIFY::Topology_Object*
+TAO_Notify::Topology_Object*
TAO_Notify_SupplierAdmin::load_child (const ACE_CString &type,
- CORBA::Long id, const TAO_NOTIFY::NVPList& attrs ACE_ENV_ARG_DECL)
+ CORBA::Long id, const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL)
{
- TAO_NOTIFY::Topology_Object* result = this;
+ TAO_Notify::Topology_Object* result = this;
if (type == "proxy_push_consumer")
{
if (DEBUG_LEVEL) ACE_DEBUG ((LM_DEBUG,
@@ -134,11 +134,11 @@ TAO_Notify_SupplierAdmin::load_child (const ACE_CString &type,
return result;
}
-TAO_NOTIFY::Topology_Object*
+TAO_Notify::Topology_Object*
TAO_Notify_SupplierAdmin::load_proxy (
CORBA::Long id,
CosNotifyChannelAdmin::ClientType ctype,
- const TAO_NOTIFY::NVPList& attrs ACE_ENV_ARG_DECL)
+ const TAO_Notify::NVPList& attrs ACE_ENV_ARG_DECL)
{
TAO_Notify_Builder* bld = TAO_Notify_PROPERTIES::instance()->builder();
TAO_Notify_ProxyConsumer * proxy =
@@ -409,6 +409,23 @@ TAO_Notify_SupplierAdmin::obtain_notification_pull_consumer (CosNotifyChannelAdm
ACE_THROW_RETURN (CORBA::NO_IMPLEMENT (), CosNotifyChannelAdmin::ProxyConsumer::_nil ());
}
+TAO_Notify_ProxyConsumer *
+TAO_Notify_SupplierAdmin::find_proxy_consumer (
+ TAO_Notify::IdVec & id_path,
+ size_t position
+ ACE_ENV_ARG_DECL)
+{
+ TAO_Notify_ProxyConsumer * result = 0;
+ size_t path_size = id_path.size ();
+ if (position < path_size)
+ {
+ TAO_Notify_ProxyConsumer_Find_Worker find_worker;
+ TAO_Notify_Proxy * proxy = find_worker.find (id_path[position], *this->proxy_container_ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ result = dynamic_cast <TAO_Notify_ProxyConsumer *> (proxy);
+ }
+ return result;
+}
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
diff --git a/TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.h b/TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.h
index 020a2b817a1..2a3f168f7ef 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/SupplierAdmin.h
@@ -24,6 +24,8 @@
#include "Admin.h"
+class TAO_Notify_ProxyConsumer;
+
#if defined(_MSC_VER)
#if (_MSC_VER >= 1200)
#pragma warning(push)
@@ -60,18 +62,23 @@ public:
virtual const char * get_admin_type_name () const;
- virtual TAO_NOTIFY::Topology_Object* load_child (
+ virtual TAO_Notify::Topology_Object* load_child (
const ACE_CString &type,
CORBA::Long id,
- const TAO_NOTIFY::NVPList& attrs
+ const TAO_Notify::NVPList& attrs
ACE_ENV_ARG_DECL);
+ TAO_Notify_ProxyConsumer * find_proxy_consumer (
+ TAO_Notify::IdVec & id_path,
+ size_t position
+ ACE_ENV_ARG_DECL);
+
protected:
- TAO_NOTIFY::Topology_Object *load_proxy (
+ TAO_Notify::Topology_Object *load_proxy (
CORBA::Long id,
CosNotifyChannelAdmin::ClientType ctype,
- const TAO_NOTIFY::NVPList& attrs
+ const TAO_Notify::NVPList& attrs
ACE_ENV_ARG_DECL);
/// = NotifyExt::SupplierAdmin methods
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Topology_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/Topology_Factory.h
index 7526159f717..30ffaadba58 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Topology_Factory.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Topology_Factory.h
@@ -19,7 +19,7 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
class Topology_Saver;
class Topology_Loader;
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.cpp b/TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.cpp
index 4eb9e308531..253f988ff37 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.cpp
@@ -2,15 +2,15 @@
#include "Topology_Loader.h"
-TAO_NOTIFY::Topology_Loader::Topology_Loader ()
+TAO_Notify::Topology_Loader::Topology_Loader ()
{
}
-TAO_NOTIFY::Topology_Loader::~Topology_Loader ()
+TAO_Notify::Topology_Loader::~Topology_Loader ()
{
}
void
-TAO_NOTIFY::Topology_Loader::close (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+TAO_Notify::Topology_Loader::close (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
{
}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.h b/TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.h
index a06494c80a1..5557b23246c 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Topology_Loader.h
@@ -23,7 +23,7 @@
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
/// A forward declaration.
@@ -66,7 +66,7 @@ public:
virtual void close (ACE_ENV_SINGLE_ARG_DECL);
};
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
#include /**/ "ace/post.h"
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.cpp b/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.cpp
index 68798b2e456..fa5875afcba 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.cpp
@@ -13,7 +13,7 @@
// children have been saved in Topology_Object::save_persistent ().
// If these rules are followed, the only risk is a (harmless) extra save.
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
void
Topology_Savable::reconnect (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
@@ -114,7 +114,7 @@ namespace TAO_NOTIFY
}
void
- Topology_Object::get_id_path (TAO_NOTIFY::IdVec & id_path) const
+ Topology_Object::get_id_path (TAO_Notify::IdVec & id_path) const
{
if (this->topology_parent() != 0)
{
@@ -145,4 +145,4 @@ template class ACE_Array_Base <TAO_Notify_Object::ID>;
#pragma instantiate ACE_Array_Base <TAO_Notify_Object::ID>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.h b/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.h
index 66112cdd215..ee3af40ecbd 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.h
@@ -27,14 +27,14 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
-/// \namespace TAO_NOTIFY
+/// \namespace TAO_Notify
/// \brief A namespace to be used by all of TAO's Notification Service implementation.
///
/// The initial implementation used the TAO_Notify_ prefix rather than a namespace. As part
-/// of the reliable Notification Service project we started using this TAO_NOTIFY namespace,
+/// of the reliable Notification Service project we started using this TAO_Notify namespace,
/// but there are still many parts of the Notification Service that are in the global namespace
/// with a TAO_NS prefix.
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
static const char TOPOLOGY_ID_NAME[] = "TopologyID";
@@ -186,7 +186,7 @@ namespace TAO_NOTIFY
bool child_change (ACE_ENV_SINGLE_ARG_DECL);
};
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
#if defined (__ACE_INLINE__)
#include "Topology_Object.inl"
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.inl b/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.inl
index 6c2c3b88396..efb34f9315f 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.inl
+++ b/TAO/orbsvcs/orbsvcs/Notify/Topology_Object.inl
@@ -1,5 +1,5 @@
// $Id$
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
ACE_INLINE
bool
@@ -16,5 +16,5 @@ namespace TAO_NOTIFY
return send_change (ACE_ENV_SINGLE_ARG_PARAMETER);
}
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.cpp b/TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.cpp
index a8aa71b1d15..91873af0136 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.cpp
@@ -2,12 +2,12 @@
#include "Topology_Saver.h"
-TAO_NOTIFY::Topology_Saver::~Topology_Saver ()
+TAO_Notify::Topology_Saver::~Topology_Saver ()
{
}
void
-TAO_NOTIFY::Topology_Saver::close (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
+TAO_Notify::Topology_Saver::close (ACE_ENV_SINGLE_ARG_DECL_NOT_USED)
{
}
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.h b/TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.h
index 5d4a9e4024b..781da2721b7 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Topology_Saver.h
@@ -24,7 +24,7 @@
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
/**
* \brief An interface to be implemented by objects that save Topology.
@@ -104,7 +104,7 @@ namespace TAO_NOTIFY
*/
virtual void close (ACE_ENV_SINGLE_ARG_DECL);
};
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
#include /**/ "ace/post.h"
diff --git a/TAO/orbsvcs/orbsvcs/Notify/XML_Loader.cpp b/TAO/orbsvcs/orbsvcs/Notify/XML_Loader.cpp
index e9f1802f699..3e32458b1e3 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/XML_Loader.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/XML_Loader.cpp
@@ -16,7 +16,7 @@
# define DEBUG_LEVEL TAO_debug_level
#endif //DEBUG_LEVEL
-using namespace TAO_NOTIFY;
+using namespace TAO_Notify;
namespace {
CORBA::Long makeNVPList (NVPList& nvp, ACEXML_Attributes* attrs)
@@ -36,7 +36,7 @@ namespace {
}
}
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
XML_Loader::XML_Loader ()
: input_ (0)
@@ -217,12 +217,12 @@ namespace TAO_NOTIFY
}
}
-} /* namespace TAO_NOTIFY */
+} /* namespace TAO_Notify */
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Unbounded_Stack<TAO_NOTIFY::Topology_Object*>;
-template class ACE_Node<TAO_NOTIFY::Topology_Object*>;
+template class ACE_Unbounded_Stack<TAO_Notify::Topology_Object*>;
+template class ACE_Node<TAO_Notify::Topology_Object*>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Unbounded_Stack<TAO_NOTIFY::Topology_Object*>
-#pragma instantiate ACE_Node<TAO_NOTIFY::Topology_Object*>
+#pragma instantiate ACE_Unbounded_Stack<TAO_Notify::Topology_Object*>
+#pragma instantiate ACE_Node<TAO_Notify::Topology_Object*>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/XML_Loader.h b/TAO/orbsvcs/orbsvcs/Notify/XML_Loader.h
index 3dcb9206caa..a56dd98809a 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/XML_Loader.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/XML_Loader.h
@@ -31,7 +31,7 @@
#include "ace/streams.h"
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
/// \brief Load Notification Service Topology from an XML file.
@@ -80,7 +80,7 @@ private:
bool live_;
};
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
#include /**/ "ace/post.h"
#endif /* XML_LOADER_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.cpp b/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.cpp
index 695e065311b..7d968ee0290 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.cpp
@@ -6,7 +6,7 @@
#include "ace/OS_NS_stdio.h"
#include "ace/OS_NS_unistd.h"
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
XML_Saver::XML_Saver(bool timestamp)
: output_ (0)
@@ -257,4 +257,4 @@ namespace TAO_NOTIFY
return buffer;
}
-} /* namespace TAO_NOTIFY */
+} /* namespace TAO_Notify */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.h b/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.h
index e1956637a95..e0ff886ebd7 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/XML_Saver.h
@@ -23,7 +23,7 @@
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
/**
@@ -81,7 +81,7 @@ private:
};
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
#include /**/ "ace/post.h"
#endif /* XML_SAVER_H */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.cpp b/TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.cpp
index e7f0eaae2fb..e654afc71f3 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.cpp
+++ b/TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.cpp
@@ -8,7 +8,7 @@
#include "ace/OS_NS_strings.h"
//#include "ace/Service_Object.h"
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
XML_Topology_Factory::XML_Topology_Factory()
@@ -149,6 +149,6 @@ ACE_FACTORY_DECLARE (TAO_Notify_Persist, XML_Topology_Factory)
ACE_FACTORY_DEFINE (TAO_Notify_Persist, XML_Topology_Factory)
-} /* namespace TAO_NOTIFY */
+} /* namespace TAO_Notify */
diff --git a/TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.h b/TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.h
index 97a14512cfa..8623ca53a9c 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/XML_Topology_Factory.h
@@ -25,7 +25,7 @@
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-namespace TAO_NOTIFY
+namespace TAO_Notify
{
/**
@@ -71,7 +71,7 @@ namespace TAO_NOTIFY
bool timestamp_;
};
-} // namespace TAO_NOTIFY
+} // namespace TAO_Notify
#include /**/ "ace/post.h"
#endif /* XML_TOPOLOGY_FACTORY_H */
diff --git a/TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Saver.cpp b/TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Saver.cpp
index 567979e64c2..9ecf357818f 100644
--- a/TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Saver.cpp
+++ b/TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Saver.cpp
@@ -11,7 +11,7 @@ Test_Saver::Test_Saver()
bool
Test_Saver::begin_object(CORBA::Long id,
const ACE_CString &type,
- const TAO_NOTIFY::NVPList& attrs,
+ const TAO_Notify::NVPList& attrs,
bool changed
ACE_ENV_ARG_DECL_NOT_USED)
{
diff --git a/TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Saver.h b/TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Saver.h
index ce95cb0781c..287832cf336 100644
--- a/TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Saver.h
+++ b/TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Saver.h
@@ -18,14 +18,14 @@
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-class PLUGTOP_Export Test_Saver : public TAO_NOTIFY::Topology_Saver
+class PLUGTOP_Export Test_Saver : public TAO_Notify::Topology_Saver
{
public:
Test_Saver();
virtual bool begin_object (CORBA::Long id,
const ACE_CString &type,
- const TAO_NOTIFY::NVPList& attrs,
+ const TAO_Notify::NVPList& attrs,
bool changed
ACE_ENV_ARG_DECL);
diff --git a/TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Topology_Factory.cpp b/TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Topology_Factory.cpp
index fdab5be129c..4363e41b899 100644
--- a/TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Topology_Factory.cpp
+++ b/TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Topology_Factory.cpp
@@ -7,16 +7,16 @@ Test_Topology_Factory::Test_Topology_Factory()
{
}
-TAO_NOTIFY::Topology_Saver*
+TAO_Notify::Topology_Saver*
Test_Topology_Factory::create_saver ()
{
- TAO_NOTIFY::Topology_Saver *saver = 0;
+ TAO_Notify::Topology_Saver *saver = 0;
ACE_NEW_RETURN (saver, Test_Saver, 0);
return saver;
}
//virtual
-TAO_NOTIFY::Topology_Loader*
+TAO_Notify::Topology_Loader*
Test_Topology_Factory::create_loader ()
{
return 0;
diff --git a/TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Topology_Factory.h b/TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Topology_Factory.h
index 6b76b1a2205..e8ac5a5b9dc 100644
--- a/TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Topology_Factory.h
+++ b/TAO/orbsvcs/tests/Notify/PluggableTopology/Test_Topology_Factory.h
@@ -15,14 +15,14 @@
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-class PLUGTOP_Export Test_Topology_Factory : public TAO_NOTIFY::Topology_Factory
+class PLUGTOP_Export Test_Topology_Factory : public TAO_Notify::Topology_Factory
{
public:
Test_Topology_Factory ();
/////////////////////////////////////////////////
// override virtual methods from Topology_Factory
- virtual TAO_NOTIFY::Topology_Saver* create_saver ();
- virtual TAO_NOTIFY::Topology_Loader* create_loader ();
+ virtual TAO_Notify::Topology_Saver* create_saver ();
+ virtual TAO_Notify::Topology_Loader* create_loader ();
};
ACE_FACTORY_DECLARE (PLUGTOP, Test_Topology_Factory)
diff --git a/TAO/orbsvcs/tests/Notify/Reconnecting/Consumer.cpp b/TAO/orbsvcs/tests/Notify/Reconnecting/Consumer.cpp
index d2837a547b4..f03f1dfa917 100644
--- a/TAO/orbsvcs/tests/Notify/Reconnecting/Consumer.cpp
+++ b/TAO/orbsvcs/tests/Notify/Reconnecting/Consumer.cpp
@@ -786,7 +786,15 @@ Consumer_Main::Consumer_Main ()
, use_naming_service_ (true)
, serial_number_ (0)
, disconnect_on_exit_ (false)
+ , structured_count_(0)
+ , sequence_count_(0)
+ , any_count_(0)
, id_file_ ("consumer.ids")
+ , ec_id_ (0)
+ , sa_id_ (0)
+ , structured_proxy_id_ (0)
+ , sequence_proxy_id_ (0)
+ , any_proxy_id_ (0)
, reconnection_callback_ (*this)
, reconnecting_ (false)
{
@@ -1040,13 +1048,13 @@ Consumer_Main::save_ids()
int imode = ACE_static_cast (int, this->mode_);
ACE_OS::fprintf (idf,
"%d,%d,%d,%d,%d,%d,%d,\n",
- imode,
- ec_id_,
- sa_id_,
- structured_proxy_id_,
- sequence_proxy_id_,
- any_proxy_id_,
- endflag);
+ static_cast<int> (imode),
+ static_cast<int> (ec_id_),
+ static_cast<int> (sa_id_),
+ static_cast<int> (structured_proxy_id_),
+ static_cast<int> (sequence_proxy_id_),
+ static_cast<int> (any_proxy_id_),
+ static_cast<int> (endflag) );
ACE_OS::fclose (idf);
}
}
@@ -1056,7 +1064,7 @@ Consumer_Main::load_ids()
{
bool ok = false;
FILE *idf =
- ACE_OS::fopen (this->id_file_.c_str (), "w");
+ ACE_OS::fopen (this->id_file_.c_str (), "r");
if (idf != 0)
{
@@ -1106,7 +1114,7 @@ Consumer_Main::load_ids()
ok = value == 12345;
break;
default:
- ACE_OS::fprintf (stderr, ACE_TEXT ("Warning: too many fields in saved id file.\n"));
+ ACE_OS::fprintf (stderr, ACE_TEXT ("Consumer: Warning: too many fields in saved id file.\n"));
ok = false;
break;
}
@@ -1347,20 +1355,19 @@ Consumer_Main::init_event_channel (ACE_ENV_SINGLE_ARG_DECL)
{
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("(%P|%t) Consumer: Create event channel %d\n"),
- ACE_static_cast (int, this->ec_id_)
+ static_cast<int> (this->ec_id_)
));
}
}
+ // save channel id
if (ok && this->channel_file_.length() > 0)
{
- FILE * chf = ACE_OS::fopen (this->channel_file_.c_str (), "r");
+ FILE * chf = ACE_OS::fopen (this->channel_file_.c_str (), "w");
if (chf != 0)
{
- char buffer[100];
- ACE_OS::fgets (buffer, sizeof(buffer), chf);
- ACE_OS::fclose (chf);
- this->ec_id_ = ACE_OS::atoi (buffer);
+ fprintf (chf, "%d\n", static_cast<int> (this->ec_id_));
+ fclose (chf);
}
}
}
@@ -1495,14 +1502,6 @@ Consumer_Main::init_structured_proxy_supplier (ACE_ENV_SINGLE_ARG_DECL)
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
ok = ! CORBA::is_nil (proxy.in ());
-#ifdef TEST_SET_QOS
- // temporary
- if (ok)
- {
- set_proxy_qos (proxy.in () ACE_ENV_ARG_PARAMETER);
- ACE_CHECK;
- }
-#endif // TEST_SET_QOS
if (ok && this->verbose_)
{
ACE_DEBUG ((LM_DEBUG,
diff --git a/TAO/orbsvcs/tests/Notify/Reconnecting/Supplier.cpp b/TAO/orbsvcs/tests/Notify/Reconnecting/Supplier.cpp
index 748ee176898..5c0f2757a5b 100644
--- a/TAO/orbsvcs/tests/Notify/Reconnecting/Supplier.cpp
+++ b/TAO/orbsvcs/tests/Notify/Reconnecting/Supplier.cpp
@@ -222,6 +222,11 @@ Supplier_Main::Supplier_Main ()
, disconnect_on_exit_ (false)
, id_file_ (ACE_TEXT ("supplier.ids"))
, pause_ (0)
+ , ec_id_ (0)
+ , sa_id_(0)
+ , structured_proxy_id_(0)
+ , sequence_proxy_id_(0)
+ , any_proxy_id_(0)
, reconnection_callback_ (*this)
, reconnecting_ (false)
{
@@ -447,13 +452,13 @@ Supplier_Main::save_ids()
int imode = ACE_static_cast (int, this->mode_);
ACE_OS::fprintf (idf,
"%d,%d,%d,%d,%d,%d,%d,\n",
- imode,
- ec_id_,
- sa_id_,
- structured_proxy_id_,
- sequence_proxy_id_,
- any_proxy_id_,
- endflag);
+ static_cast <int> (imode),
+ static_cast <int> (ec_id_),
+ static_cast <int> (sa_id_),
+ static_cast <int> (structured_proxy_id_),
+ static_cast <int> (sequence_proxy_id_),
+ static_cast <int> (any_proxy_id_),
+ static_cast <int> (endflag) );
ACE_OS::fclose (idf);
}
}
@@ -463,18 +468,20 @@ Supplier_Main::load_ids()
{
bool ok = false;
FILE *idf =
- ACE_OS::fopen (this->id_file_.c_str (), "w");
+ ACE_OS::fopen (this->id_file_.c_str (), "r");
if (idf != 0)
{
int field = 0;
- char buffer[100];
+ char buffer[100] = "";
ACE_OS::fgets (buffer, sizeof(buffer), idf);
ACE_OS::fclose (idf);
+
char * pb = buffer;
- while (*pb != 0)
+ while (!ok && *pb != 0)
{
+fprintf (stderr, "Buffer: %s\n" , pb);
char * eb = ACE_OS::strchr (pb, ',');
char * nb = eb + 1;
if (eb == 0)
@@ -482,14 +489,13 @@ Supplier_Main::load_ids()
eb = pb + ACE_OS::strlen (pb);
nb = eb;
}
- else
- {
- *eb = 0;
- }
+ *eb = 0;
+fprintf (stderr, "PARSE: [%s]\n", pb);
if (pb < eb)
{
int value = ACE_OS::atoi(pb);
- switch (field)
+fprintf (stderr, "field[%d], %d\n", field, value);
+ switch (++field)
{
case 1:
this->mode_ = static_cast<Mode_T> (value);
@@ -513,7 +519,7 @@ Supplier_Main::load_ids()
ok = value == 12345;
break;
default:
- ACE_OS::fprintf (stderr, ACE_TEXT ("Warning: too many fields in saved id file.\n"));
+ ACE_OS::fprintf (stderr, ACE_TEXT ("Supplier: Warning: too many fields in saved id file.\n"));
ok = false;
break;
}
diff --git a/TAO/orbsvcs/tests/Notify/Reconnecting/event.conf b/TAO/orbsvcs/tests/Notify/Reconnecting/event.conf
index 04992b13665..e9cc17ec979 100644
--- a/TAO/orbsvcs/tests/Notify/Reconnecting/event.conf
+++ b/TAO/orbsvcs/tests/Notify/Reconnecting/event.conf
@@ -1,5 +1,5 @@
-static CosNotify_Service "-AllowReconnect"
+static TAO_CosNotify_Service "-AllowReconnect"
# This should fail because event perstence requires topology persistence
diff --git a/TAO/orbsvcs/tests/Notify/Reconnecting/ns_mt.conf b/TAO/orbsvcs/tests/Notify/Reconnecting/ns_mt.conf
index bb4c2d1f954..be282852191 100644
--- a/TAO/orbsvcs/tests/Notify/Reconnecting/ns_mt.conf
+++ b/TAO/orbsvcs/tests/Notify/Reconnecting/ns_mt.conf
@@ -5,6 +5,6 @@
## This prevents worker threads from joining the tp reactor
##static Client_Strategy_Factory "-ORBClientConnectionHandler rw"
-static CosNotify_Service "-DispatchingThreads 2 -SourceThreads 2 -AllowReconnect"
+static TAO_CosNotify_Service "-DispatchingThreads 2 -SourceThreads 2 -AllowReconnect"
diff --git a/TAO/orbsvcs/tests/Notify/Reconnecting/ns_mt_both.conf b/TAO/orbsvcs/tests/Notify/Reconnecting/ns_mt_both.conf
index 00559411451..f89dd6e8242 100644
--- a/TAO/orbsvcs/tests/Notify/Reconnecting/ns_mt_both.conf
+++ b/TAO/orbsvcs/tests/Notify/Reconnecting/ns_mt_both.conf
@@ -1,4 +1,4 @@
-static CosNotify_Service "-DispatchingThreads 2 -SourceThreads 2 -AllowReconnect"
+static TAO_CosNotify_Service "-DispatchingThreads 2 -SourceThreads 2 -AllowReconnect"
dynamic Topology_Factory Service_Object* TAO_CosNotification_persist:_make_XML_Topology_Factory() "-base_path ./reconnect_test"
dynamic Event_Persistence Service_Object* TAO_CosNotification_persist:_make_Standard_Event_Persistence() "-file_path ./event_persist.db"
diff --git a/TAO/orbsvcs/tests/Notify/Reconnecting/ns_mt_topo.conf b/TAO/orbsvcs/tests/Notify/Reconnecting/ns_mt_topo.conf
index 0ab2672941d..ff7dcfe58a9 100644
--- a/TAO/orbsvcs/tests/Notify/Reconnecting/ns_mt_topo.conf
+++ b/TAO/orbsvcs/tests/Notify/Reconnecting/ns_mt_topo.conf
@@ -1,3 +1,3 @@
-static CosNotify_Service "-DispatchingThreads 2 -SourceThreads 2 -AllowReconnect"
+static TAO_CosNotify_Service "-DispatchingThreads 2 -SourceThreads 2 -AllowReconnect"
dynamic Topology_Factory Service_Object* TAO_CosNotification_persist:_make_XML_Topology_Factory() "-base_path ./reconnect_test"
diff --git a/TAO/orbsvcs/tests/Notify/Reconnecting/ns_st.conf b/TAO/orbsvcs/tests/Notify/Reconnecting/ns_st.conf
index 902cc095284..fc890d01fc2 100644
--- a/TAO/orbsvcs/tests/Notify/Reconnecting/ns_st.conf
+++ b/TAO/orbsvcs/tests/Notify/Reconnecting/ns_st.conf
@@ -1,4 +1,4 @@
-static CosNotify_Service "-AllowReconnect"
+static TAO_CosNotify_Service "-AllowReconnect"
diff --git a/TAO/orbsvcs/tests/Notify/Reconnecting/ns_st_both.conf b/TAO/orbsvcs/tests/Notify/Reconnecting/ns_st_both.conf
index 5496d663e82..24407926a7b 100644
--- a/TAO/orbsvcs/tests/Notify/Reconnecting/ns_st_both.conf
+++ b/TAO/orbsvcs/tests/Notify/Reconnecting/ns_st_both.conf
@@ -1,4 +1,4 @@
-static CosNotify_Service "-AllowReconnect"
+static TAO_CosNotify_Service "-AllowReconnect"
dynamic Topology_Factory Service_Object* TAO_CosNotification_persist:_make_XML_Topology_Factory() "-v -base_path ./reconnect_test"
dynamic Event_Persistence Service_Object* TAO_CosNotification_persist:_make_Standard_Event_Persistence() "-v -file_path ./event_persist.db"
diff --git a/TAO/orbsvcs/tests/Notify/Reconnecting/ns_st_topo.conf b/TAO/orbsvcs/tests/Notify/Reconnecting/ns_st_topo.conf
index d6f099b3d24..18ee701db12 100644
--- a/TAO/orbsvcs/tests/Notify/Reconnecting/ns_st_topo.conf
+++ b/TAO/orbsvcs/tests/Notify/Reconnecting/ns_st_topo.conf
@@ -1,2 +1,2 @@
-static CosNotify_Service "-AllowReconnect"
+static TAO_CosNotify_Service "-AllowReconnect"
dynamic Topology_Factory Service_Object* TAO_CosNotification_persist:_make_XML_Topology_Factory() "-v -base_path ./reconnect_test"
diff --git a/TAO/orbsvcs/tests/Notify/Unit/TestBasicTypes.cpp b/TAO/orbsvcs/tests/Notify/Unit/TestBasicTypes.cpp
index acc0dbb3822..00d3994b752 100644
--- a/TAO/orbsvcs/tests/Notify/Unit/TestBasicTypes.cpp
+++ b/TAO/orbsvcs/tests/Notify/Unit/TestBasicTypes.cpp
@@ -13,7 +13,7 @@
using namespace CORBA;
namespace CN = CosNotification;
-using namespace TAO_NOTIFY;
+using namespace TAO_Notify;
// Tests for simple basic types that don't require the creation
// of a Notify Service, or complex setup.