summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/CosEvent
diff options
context:
space:
mode:
authornobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-09-16 21:19:02 +0000
committernobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2004-09-16 21:19:02 +0000
commit40fdc8a404e75ab03b68cc62e9987cf208fd8c30 (patch)
tree37d9c4d3abe4aefd8a34ed797883dd2cd4862ca7 /TAO/orbsvcs/orbsvcs/CosEvent
parentc254b281f1b9a4ca19dd0c3ee73a0654a7718909 (diff)
downloadATCD-typecode-overhaul.tar.gz
This commit was manufactured by cvs2svn to create branchtypecode-overhaul
'typecode-overhaul'.
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/CosEvent')
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp2
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h8
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp11
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h15
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp61
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h7
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.i3
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.h8
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h12
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.cpp11
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.h27
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.i5
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp8
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h6
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Factory.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h2
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.cpp15
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.h8
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp3
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.h6
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.cpp3
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.h10
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp32
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.h8
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp108
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h20
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.cpp28
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.h11
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp127
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h20
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp2
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h8
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.cpp11
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h14
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h6
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h12
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.h9
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h6
-rw-r--r--TAO/orbsvcs/orbsvcs/CosEvent/Makefile.am42
42 files changed, 265 insertions, 446 deletions
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp
index faa5d2b9ac0..c1044726527 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp
@@ -6,7 +6,7 @@
#include "CEC_ProxyPushConsumer.h"
#include "CEC_EventChannel.h"
-#include "orbsvcs/ESF/ESF_Shutdown_Proxy.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.h"
#if ! defined (__ACE_INLINE__)
#include "CEC_ConsumerAdmin.i"
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h
index 980431bedbb..a56cbbed72f 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h
@@ -15,17 +15,17 @@
#include /**/ "ace/pre.h"
-#include "orbsvcs/CosEventChannelAdminS.h"
+#include "orbsvcs/orbsvcs/CosEventChannelAdminS.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "orbsvcs/ESF/ESF_Proxy_Admin.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.h"
#include "CEC_ProxyPushSupplier.h"
#include "CEC_ProxyPullSupplier.h"
-#include "event_serv_export.h"
+#include "event_export.h"
class TAO_CEC_EventChannel;
@@ -45,7 +45,7 @@ class TAO_CEC_EventChannel;
* externally.
* = TODO
*/
-class TAO_Event_Serv_Export TAO_CEC_ConsumerAdmin
+class TAO_Event_Export TAO_CEC_ConsumerAdmin
: public POA_CosEventChannelAdmin::ConsumerAdmin
{
public:
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp
index 180466d987e..80f1bcfbdb6 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.cpp
@@ -49,17 +49,6 @@ TAO_CEC_ConsumerControl::system_exception (TAO_CEC_ProxyPushSupplier *,
{
}
-bool
-TAO_CEC_ConsumerControl::need_to_disconnect (PortableServer::ServantBase*)
-{
- return true;
-}
-
-void
-TAO_CEC_ConsumerControl::successful_transmission (PortableServer::ServantBase*)
-{
-}
-
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
#elif defined(ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h
index f3a405d26c7..07293872b3f 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h
@@ -21,8 +21,8 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "tao/PortableServer/PortableServerC.h"
-#include "orbsvcs/CosEvent/event_serv_export.h"
+
+#include "orbsvcs/orbsvcs/CosEvent/event_export.h"
class TAO_CEC_EventChannel;
class TAO_CEC_ProxyPushSupplier;
@@ -44,7 +44,7 @@ namespace CORBA
* = LOCKING
* = TODO
*/
-class TAO_Event_Serv_Export TAO_CEC_ConsumerControl
+class TAO_Event_Export TAO_CEC_ConsumerControl
{
public:
/// Constructor. It does not assume ownership of the <event_channel>
@@ -80,15 +80,6 @@ public:
virtual void system_exception (TAO_CEC_ProxyPushSupplier *proxy,
CORBA::SystemException &
ACE_ENV_ARG_DECL_NOT_USED);
-
- /// Do we need to disconnect this supplier? The parameter type for
- /// proxy is PortableServer::ServantBase* due to the fact that this
- /// method will be used for TAO_CEC_ProxyPushSupplier's and
- /// TAO_CEC_ProxyPullSupplier's.
- virtual bool need_to_disconnect (PortableServer::ServantBase* proxy);
-
- /// Allow others to inform us when a send or receive was successful.
- virtual void successful_transmission (PortableServer::ServantBase* proxy);
};
#if defined (__ACE_INLINE__)
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp
index 6be89cac48a..58f079b3cd9 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp
@@ -13,12 +13,12 @@
#include "CEC_Reactive_ConsumerControl.h"
#include "CEC_Reactive_SupplierControl.h"
-#include "orbsvcs/ESF/ESF_Immediate_Changes.h"
-#include "orbsvcs/ESF/ESF_Delayed_Changes.h"
-#include "orbsvcs/ESF/ESF_Copy_On_Write.h"
-#include "orbsvcs/ESF/ESF_Copy_On_Read.h"
-#include "orbsvcs/ESF/ESF_Proxy_List.h"
-#include "orbsvcs/ESF/ESF_Proxy_RB_Tree.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Proxy_List.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.h"
#include "ace/Arg_Shifter.h"
#include "ace/Sched_Params.h"
@@ -334,8 +334,7 @@ TAO_CEC_Default_Factory::init (int argc, ACE_TCHAR* argv[])
}
}
- else if (ACE_OS::strcasecmp (arg, ACE_LIB_TEXT("-CECConsumerControlTimeout")) == 0 ||
- ACE_OS::strcasecmp (arg, ACE_LIB_TEXT("-CECConsumerControlRoundtripTimeout")) == 0)
+ else if (ACE_OS::strcasecmp (arg, ACE_LIB_TEXT("-CECConsumerControlTimeout")) == 0)
{
arg_shifter.consume_arg ();
@@ -348,8 +347,7 @@ TAO_CEC_Default_Factory::init (int argc, ACE_TCHAR* argv[])
}
}
- else if (ACE_OS::strcasecmp (arg, ACE_LIB_TEXT("-CECSupplierControlTimeout")) == 0 ||
- ACE_OS::strcasecmp (arg, ACE_LIB_TEXT("-CECSupplierControlRoundtripTimeout")) == 0)
+ else if (ACE_OS::strcasecmp (arg, ACE_LIB_TEXT("-CECSupplierControlTimeout")) == 0)
{
arg_shifter.consume_arg ();
@@ -362,18 +360,6 @@ TAO_CEC_Default_Factory::init (int argc, ACE_TCHAR* argv[])
}
}
- else if (ACE_OS::strcasecmp (arg, ACE_LIB_TEXT("-CECProxyDisconnectRetries")) == 0)
- {
- arg_shifter.consume_arg ();
-
- if (arg_shifter.is_parameter_next ())
- {
- const ACE_TCHAR* opt = arg_shifter.get_current ();
- this->proxy_disconnect_retries_ = ACE_OS::atoi (opt);
- arg_shifter.consume_arg ();
- }
- }
-
else if (ACE_OS::strncmp (arg, ACE_LIB_TEXT("-CEC"), 3) == 0)
{
arg_shifter.consume_arg ();
@@ -447,9 +433,8 @@ TAO_CEC_Default_Factory::create_pulling_strategy (TAO_CEC_EventChannel *ec)
CORBA::ORB_init (argc, argv, this->orbid_);
ACE_Time_Value rate (0, this->reactive_pulling_period_);
- return new TAO_CEC_Reactive_Pulling_Strategy (
- rate, this->supplier_control_timeout_,
- ec, orb.in ());
+ return new TAO_CEC_Reactive_Pulling_Strategy (rate, ec,
+ orb.in ());
}
return 0;
}
@@ -1229,10 +1214,7 @@ TAO_CEC_Default_Factory::create_consumer_control (TAO_CEC_EventChannel* ec)
CORBA::ORB_init (argc, argv, this->orbid_);
ACE_Time_Value rate (0, this->consumer_control_period_);
- return new TAO_CEC_Reactive_ConsumerControl (
- rate, this->consumer_control_timeout_,
- this->proxy_disconnect_retries_,
- ec, orb.in ());
+ return new TAO_CEC_Reactive_ConsumerControl (rate, consumer_control_timeout_, ec, orb.in ());
}
return 0;
}
@@ -1251,10 +1233,7 @@ TAO_CEC_Default_Factory::create_consumer_control (TAO_CEC_TypedEventChannel* ec)
CORBA::ORB_init (argc, argv, this->orbid_);
ACE_Time_Value rate (0, this->consumer_control_period_);
- return new TAO_CEC_Reactive_ConsumerControl (
- rate, this->consumer_control_timeout_,
- this->proxy_disconnect_retries_,
- ec, orb.in ());
+ return new TAO_CEC_Reactive_ConsumerControl (rate, consumer_control_timeout_, ec, orb.in ());
}
return 0;
}
@@ -1278,11 +1257,8 @@ TAO_CEC_Default_Factory::create_supplier_control (TAO_CEC_EventChannel* ec)
CORBA::ORB_var orb =
CORBA::ORB_init (argc, argv, this->orbid_);
- ACE_Time_Value rate (0, this->supplier_control_period_);
- return new TAO_CEC_Reactive_SupplierControl (
- rate, this->supplier_control_timeout_,
- this->proxy_disconnect_retries_,
- ec, orb.in ());
+ ACE_Time_Value rate (0, this->consumer_control_period_);
+ return new TAO_CEC_Reactive_SupplierControl (rate, supplier_control_timeout_, ec, orb.in ());
}
return 0;
}
@@ -1300,11 +1276,8 @@ TAO_CEC_Default_Factory::create_supplier_control (TAO_CEC_TypedEventChannel* ec)
CORBA::ORB_var orb =
CORBA::ORB_init (argc, argv, this->orbid_);
- ACE_Time_Value rate (0, this->supplier_control_period_);
- return new TAO_CEC_Reactive_SupplierControl (
- rate, this->supplier_control_timeout_,
- this->proxy_disconnect_retries_,
- ec, orb.in ());
+ ACE_Time_Value rate (0, this->consumer_control_period_);
+ return new TAO_CEC_Reactive_SupplierControl (rate, supplier_control_timeout_, ec, orb.in ());
}
return 0;
}
@@ -1324,7 +1297,7 @@ ACE_STATIC_SVC_DEFINE (TAO_CEC_Default_Factory,
&ACE_SVC_NAME (TAO_CEC_Default_Factory),
ACE_Service_Type::DELETE_THIS | ACE_Service_Type::DELETE_OBJ,
0)
-ACE_FACTORY_DEFINE (TAO_Event_Serv, TAO_CEC_Default_Factory)
+ACE_FACTORY_DEFINE (TAO_Event, TAO_CEC_Default_Factory)
// ****************************************************************
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h
index d314e1785ca..07536f4627c 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h
@@ -38,7 +38,7 @@
* set in the service configurator file.
* = MEMORY MANAGMENT
*/
-class TAO_Event_Serv_Export TAO_CEC_Default_Factory : public TAO_CEC_Factory
+class TAO_Event_Export TAO_CEC_Default_Factory : public TAO_CEC_Factory
{
public:
/// Constructor
@@ -199,9 +199,6 @@ private:
/// The consumer and supplier control timeout in usecs
ACE_Time_Value consumer_control_timeout_;
ACE_Time_Value supplier_control_timeout_;
-
- /// The number of retries before disconnecting a proxy
- unsigned int proxy_disconnect_retries_;
};
#if defined (__ACE_INLINE__)
@@ -209,7 +206,7 @@ private:
#endif /* __ACE_INLINE__ */
ACE_STATIC_SVC_DECLARE (TAO_CEC_Default_Factory)
-ACE_FACTORY_DECLARE (TAO_Event_Serv, TAO_CEC_Default_Factory)
+ACE_FACTORY_DECLARE (TAO_Event, TAO_CEC_Default_Factory)
#include /**/ "ace/post.h"
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.i
index b039316d2cb..f7699383cb4 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.i
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.i
@@ -20,7 +20,6 @@ TAO_CEC_Default_Factory::TAO_CEC_Default_Factory (void)
consumer_control_period_ (TAO_CEC_DEFAULT_CONSUMER_CONTROL_PERIOD),
supplier_control_period_ (TAO_CEC_DEFAULT_SUPPLIER_CONTROL_PERIOD),
consumer_control_timeout_ (0, TAO_CEC_DEFAULT_CONSUMER_CONTROL_TIMEOUT),
- supplier_control_timeout_ (0, TAO_CEC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT),
- proxy_disconnect_retries_ (TAO_CEC_DEFAULT_PROXY_DISCONNECT_RETRIES)
+ supplier_control_timeout_ (0, TAO_CEC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT)
{
}
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h
index 5a97e4bd902..8cf65a09905 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h
@@ -118,10 +118,6 @@
# define TAO_CEC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT 10000 /* usecs */
#endif /* TAO_CEC_DEFAULT_SUPPLIER_CONTROL_TIMEOUT */
-#ifndef TAO_CEC_DEFAULT_PROXY_DISCONNECT_RETRIES
-# define TAO_CEC_DEFAULT_PROXY_DISCONNECT_RETRIES 0
-#endif /* TAO_CEC_DEFAULT_PROXY_DISCONNECT_RETRIES */
-
#include /**/ "ace/post.h"
#endif /* TAO_CEC_DEFAULTS_H */
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.h
index a6ba0f8a724..b121b22e54d 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.h
@@ -16,9 +16,9 @@
#include /**/ "ace/pre.h"
-#include "orbsvcs/CosEventCommC.h"
+#include "orbsvcs/orbsvcs/CosEventCommC.h"
-#include "event_serv_export.h"
+#include "event_export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
@@ -40,7 +40,7 @@ class TAO_CEC_TypedEvent;
* for each queue or can simply push the event to the consumer in
* FIFO order.
*/
-class TAO_Event_Serv_Export TAO_CEC_Dispatching
+class TAO_Event_Export TAO_CEC_Dispatching
{
public:
/// destructor...
@@ -84,7 +84,7 @@ public:
* The events are dispatched in FIFO ordering, using the invoking
* thread to push the event to the consumer.
*/
-class TAO_Event_Serv_Export TAO_CEC_Reactive_Dispatching : public TAO_CEC_Dispatching
+class TAO_Event_Export TAO_CEC_Reactive_Dispatching : public TAO_CEC_Dispatching
{
public:
/// The scheduler is used to find the range of priorities and similar
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h
index fe5b698b592..ac24df18469 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h
@@ -28,7 +28,7 @@
#include "tao/Basic_Types.h"
#include "tao/Objref_VarOut_T.h"
-#include "orbsvcs/CosEvent/event_serv_export.h"
+#include "orbsvcs/orbsvcs/CosEvent/event_export.h"
#include "CEC_ProxyPushSupplier.h"
@@ -43,7 +43,7 @@
* dispatching.
*
*/
-class TAO_Event_Serv_Export TAO_CEC_Dispatching_Task : public ACE_Task<ACE_SYNCH>
+class TAO_Event_Export TAO_CEC_Dispatching_Task : public ACE_Task<ACE_SYNCH>
{
public:
/// Constructor
@@ -72,7 +72,7 @@ private:
// ****************************************************************
-class TAO_Event_Serv_Export TAO_CEC_Dispatch_Command : public ACE_Message_Block
+class TAO_Event_Export TAO_CEC_Dispatch_Command : public ACE_Message_Block
{
public:
/// Constructor, it will allocate its own data block
@@ -91,7 +91,7 @@ public:
// ****************************************************************
-class TAO_Event_Serv_Export TAO_CEC_Shutdown_Task_Command : public TAO_CEC_Dispatch_Command
+class TAO_Event_Export TAO_CEC_Shutdown_Task_Command : public TAO_CEC_Dispatch_Command
{
public:
/// Constructor
@@ -103,7 +103,7 @@ public:
// ****************************************************************
-class TAO_Event_Serv_Export TAO_CEC_Push_Command : public TAO_CEC_Dispatch_Command
+class TAO_Event_Export TAO_CEC_Push_Command : public TAO_CEC_Dispatch_Command
{
public:
/// Constructor
@@ -129,7 +129,7 @@ private:
// ****************************************************************
#if defined (TAO_HAS_TYPED_EVENT_CHANNEL)
-class TAO_Event_Serv_Export TAO_CEC_Invoke_Command : public TAO_CEC_Dispatch_Command
+class TAO_Event_Export TAO_CEC_Invoke_Command : public TAO_CEC_Dispatch_Command
{
public:
/// Constructor
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.cpp
index df029202c74..ee171b6bbc8 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.cpp
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.cpp
@@ -227,14 +227,3 @@ TAO_CEC_EventChannel::destroy (ACE_ENV_SINGLE_ARG_DECL)
{
this->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER);
}
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Hash_Map_Manager_Ex<PortableServer::ServantBase*, unsigned int, ServantBaseHash, ACE_Equal_To<PortableServer::ServantBase*>, TAO_SYNCH_MUTEX>;
-template class ACE_Hash_Map_Entry<PortableServer::ServantBase*, unsigned int>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate ACE_Hash_Map_Manager_Ex<PortableServer::ServantBase*, unsigned int, ServantBaseHash, ACE_Equal_To<PortableServer::ServantBase*>, TAO_SYNCH_MUTEX>
-#pragma instantiate ACE_Hash_Map_Entry<PortableServer::ServantBase*, unsigned int>
-
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
-
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.h
index 55f9282abe2..90c4e9cd216 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.h
@@ -26,11 +26,10 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "orbsvcs/CosEventChannelAdminS.h"
+#include "orbsvcs/orbsvcs/CosEventChannelAdminS.h"
#include "CEC_Defaults.h"
-#include "event_serv_export.h"
-#include "ace/Hash_Map_Manager.h"
+#include "event_export.h"
/**
* @class TAO_CEC_EventChannel_Attributes
@@ -48,7 +47,7 @@
* an easy mechanism to extend the attributes without requiring
* changes in the EC constructor.
*/
-class TAO_Event_Serv_Export TAO_CEC_EventChannel_Attributes
+class TAO_Event_Export TAO_CEC_EventChannel_Attributes
{
public:
/**
@@ -98,23 +97,9 @@ private:
* ConsumerAdmin and Dispatching) and to provide a simpler
* interface to the CEC_Factory.
*/
-class TAO_Event_Serv_Export TAO_CEC_EventChannel : public POA_CosEventChannelAdmin::EventChannel
+class TAO_Event_Export TAO_CEC_EventChannel : public POA_CosEventChannelAdmin::EventChannel
{
public:
- class ServantBaseHash
- {
- public:
- u_long operator() (PortableServer::ServantBase* const & ptr) const {
- return ACE_reinterpret_cast(u_long, ptr);
- }
- };
-
- typedef ACE_Hash_Map_Manager_Ex<PortableServer::ServantBase*,
- unsigned int,
- ServantBaseHash,
- ACE_Equal_To<PortableServer::ServantBase*>,
- TAO_SYNCH_MUTEX> ServantRetryMap;
-
/**
* constructor
* If <own_factory> is not 0 it assumes ownership of the factory.
@@ -253,8 +238,6 @@ public:
virtual void destroy (ACE_ENV_SINGLE_ARG_DECL)
ACE_THROW_SPEC ((CORBA::SystemException));
- ServantRetryMap& get_servant_retry_map (void);
-
private:
/// The POAs used to activate "supplier-side" and "consumer-side"
/// objects.
@@ -294,8 +277,6 @@ private:
/// suppliers
TAO_CEC_ConsumerControl *consumer_control_;
TAO_CEC_SupplierControl *supplier_control_;
-
- ServantRetryMap retry_map_;
};
#if defined (__ACE_INLINE__)
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.i b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.i
index 256d518b72a..563dc6e69e0 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.i
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.i
@@ -192,8 +192,3 @@ TAO_CEC_EventChannel::disconnect_callbacks (void) const
return this->disconnect_callbacks_;
}
-ACE_INLINE TAO_CEC_EventChannel::ServantRetryMap&
-TAO_CEC_EventChannel::get_servant_retry_map (void)
-{
- return this->retry_map_;
-}
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp
index 78f11357d3e..a7f8408d45f 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp
@@ -18,9 +18,9 @@
#include "CEC_Event_Loader.h"
#include "ace/Dynamic_Service.h"
-#include "orbsvcs/CosNamingC.h"
-#include "orbsvcs/CosEvent/CEC_EventChannel.h"
-#include "orbsvcs/CosEvent/CEC_Default_Factory.h"
+#include "orbsvcs/orbsvcs/CosNamingC.h"
+#include "orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.h"
+#include "orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h"
#include "ace/Get_Opt.h"
#include "ace/Argv_Type_Converter.h"
@@ -459,7 +459,7 @@ TAO_CEC_Event_Loader::fini (void)
return 0;
}
-ACE_FACTORY_DEFINE (TAO_Event_Serv, TAO_CEC_Event_Loader)
+ACE_FACTORY_DEFINE (TAO_Event, TAO_CEC_Event_Loader)
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
template class ACE_Dynamic_Service<TAO_CEC_Event_Loader>;
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h
index d48c98c3705..4d4ca86a992 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h
@@ -23,7 +23,7 @@
#include "CEC_TypedEventChannel.h"
#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */
-#include "orbsvcs/CosNamingC.h"
+#include "orbsvcs/orbsvcs/CosNamingC.h"
#include "ace/Service_Config.h"
@@ -32,7 +32,7 @@
*
* @brief Dynamically load an instance of the COS Event Service.
*/
-class TAO_Event_Serv_Export TAO_CEC_Event_Loader : public TAO_Object_Loader
+class TAO_Event_Export TAO_CEC_Event_Loader : public TAO_Object_Loader
{
public:
/// Constructor
@@ -98,6 +98,6 @@ private:
ACE_UNIMPLEMENTED_FUNC (TAO_CEC_Event_Loader &operator= (const TAO_CEC_Event_Loader &))
};
-ACE_FACTORY_DECLARE (TAO_Event_Serv, TAO_CEC_Event_Loader)
+ACE_FACTORY_DECLARE (TAO_Event, TAO_CEC_Event_Loader)
#endif /* TAO_CEC_EVENT_LOADER_H */
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Factory.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Factory.h
index 7161eb63dfd..248ef824c76 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Factory.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Factory.h
@@ -22,7 +22,7 @@
#include "tao/Objref_VarOut_T.h"
-#include "event_serv_export.h"
+#include "event_export.h"
class ACE_Lock;
@@ -70,7 +70,7 @@ typedef TAO_ESF_Proxy_Collection<TAO_CEC_ProxyPullSupplier> TAO_CEC_ProxyPullSup
* Some implementations may require a different instance for the
* CEC_Factory for each instance of a CEC_EventChannel.
*/
-class TAO_Event_Serv_Export TAO_CEC_Factory : public ACE_Service_Object
+class TAO_Event_Export TAO_CEC_Factory : public ACE_Service_Object
{
public:
/// destructor...
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h
index d3a706ff5b8..ba779b69f40 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h
@@ -34,7 +34,7 @@ class TAO_CEC_EventChannel;
* threads. It's main purpose is to decouple the suppliers from
* the client execution time, specially in the collocated case.
*/
-class TAO_Event_Serv_Export TAO_CEC_MT_Dispatching : public TAO_CEC_Dispatching
+class TAO_Event_Export TAO_CEC_MT_Dispatching : public TAO_CEC_Dispatching
{
public:
/// Constructor
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.cpp
index fd172f89e1d..592b10354b4 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.cpp
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.cpp
@@ -28,13 +28,10 @@ TAO_CEC_ProxyPullConsumer::
this->default_POA_ =
this->event_channel_->consumer_poa ();
-
- this->event_channel_->get_servant_retry_map ().bind (this, 0);
}
TAO_CEC_ProxyPullConsumer::~TAO_CEC_ProxyPullConsumer (void)
{
- this->event_channel_->get_servant_retry_map ().unbind (this);
this->event_channel_->destroy_consumer_lock (this->lock_);
}
@@ -113,24 +110,24 @@ TAO_CEC_ProxyPullConsumer::try_pull_from_supplier (
}
CORBA::Any_var any;
- TAO_CEC_SupplierControl *control =
- this->event_channel_->supplier_control ();
-
ACE_TRY
{
any = supplier->try_pull (has_event ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
-
- // Inform the control that we got something from the supplier
- control->successful_transmission(this);
}
ACE_CATCH (CORBA::OBJECT_NOT_EXIST, ex)
{
+ TAO_CEC_SupplierControl *control =
+ this->event_channel_->supplier_control ();
+
control->supplier_not_exist (this ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
}
ACE_CATCH (CORBA::SystemException, sysex)
{
+ TAO_CEC_SupplierControl *control =
+ this->event_channel_->supplier_control ();
+
control->system_exception (this,
sysex
ACE_ENV_ARG_PARAMETER);
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.h
index 35fae60d38e..415ae07b47e 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.h
@@ -15,14 +15,14 @@
#include /**/ "ace/pre.h"
-#include "orbsvcs/CosEventChannelAdminS.h"
+#include "orbsvcs/orbsvcs/CosEventChannelAdminS.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "orbsvcs/ESF/ESF_Worker.h"
-#include "event_serv_export.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Worker.h"
+#include "event_export.h"
class TAO_CEC_EventChannel;
class TAO_CEC_Dispatching;
@@ -41,7 +41,7 @@ class TAO_CEC_ProxyPullSupplier;
* The object commits suicide when disconnect_pull_consumer() is
* called.
*/
-class TAO_Event_Serv_Export TAO_CEC_ProxyPullConsumer : public POA_CosEventChannelAdmin::ProxyPullConsumer
+class TAO_Event_Export TAO_CEC_ProxyPullConsumer : public POA_CosEventChannelAdmin::ProxyPullConsumer
{
public:
typedef CosEventChannelAdmin::ProxyPullConsumer_ptr _ptr_type;
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp
index b5b75ae5f43..32cbc3086f1 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp
@@ -27,13 +27,10 @@ TAO_CEC_ProxyPullSupplier::TAO_CEC_ProxyPullSupplier (TAO_CEC_EventChannel* ec)
this->default_POA_ =
this->event_channel_->supplier_poa ();
-
- this->event_channel_->get_servant_retry_map ().bind (this, 0);
}
TAO_CEC_ProxyPullSupplier::~TAO_CEC_ProxyPullSupplier (void)
{
- this->event_channel_->get_servant_retry_map ().unbind (this);
this->event_channel_->destroy_supplier_lock (this->lock_);
}
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.h
index 1f7a0a603d4..85922eb8922 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.h
@@ -16,7 +16,7 @@
#include /**/ "ace/pre.h"
-#include "orbsvcs/CosEventChannelAdminS.h"
+#include "orbsvcs/orbsvcs/CosEventChannelAdminS.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
@@ -26,7 +26,7 @@
#include "ace/Condition_Thread_Mutex.h"
#include "ace/Unbounded_Queue.h"
-#include "event_serv_export.h"
+#include "event_export.h"
class TAO_CEC_EventChannel;
class TAO_CEC_ProxyPullConsumer;
@@ -48,7 +48,7 @@ class TAO_CEC_ProxyPullConsumer;
* Locking is strategized, the event channel acts as a factory for
* the locking strategies.
*/
-class TAO_Event_Serv_Export TAO_CEC_ProxyPullSupplier : public POA_CosEventChannelAdmin::ProxyPullSupplier
+class TAO_Event_Export TAO_CEC_ProxyPullSupplier : public POA_CosEventChannelAdmin::ProxyPullSupplier
{
public:
typedef CosEventChannelAdmin::ProxyPullSupplier_ptr _ptr_type;
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.cpp
index cadc6623315..434769bbb9d 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.cpp
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.cpp
@@ -28,13 +28,10 @@ TAO_CEC_ProxyPushConsumer::
this->default_POA_ =
this->event_channel_->consumer_poa ();
-
- this->event_channel_->get_servant_retry_map ().bind (this, 0);
}
TAO_CEC_ProxyPushConsumer::~TAO_CEC_ProxyPushConsumer (void)
{
- this->event_channel_->get_servant_retry_map ().unbind (this);
this->event_channel_->destroy_consumer_lock (this->lock_);
}
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.h
index d16697cb4bd..aee97b6f167 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.h
@@ -15,14 +15,14 @@
#include /**/ "ace/pre.h"
-#include "orbsvcs/CosEventChannelAdminS.h"
-#include "event_serv_export.h"
+#include "orbsvcs/orbsvcs/CosEventChannelAdminS.h"
+#include "event_export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "orbsvcs/ESF/ESF_Worker.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Worker.h"
class TAO_CEC_EventChannel;
class TAO_CEC_Dispatching;
@@ -41,7 +41,7 @@ class TAO_CEC_ProxyPushSupplier;
* The object commits suicide when disconnect_push_consumer() is
* called.
*/
-class TAO_Event_Serv_Export TAO_CEC_ProxyPushConsumer
+class TAO_Event_Export TAO_CEC_ProxyPushConsumer
: public POA_CosEventChannelAdmin::ProxyPushConsumer
{
public:
@@ -151,7 +151,7 @@ private:
* the reference count on the proxy, eliminating the need to hold
* mutexes during long operations.
*/
-class TAO_Event_Serv_Export TAO_CEC_ProxyPushConsumer_Guard
+class TAO_Event_Export TAO_CEC_ProxyPushConsumer_Guard
{
public:
/// Constructor
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp
index eb188dd30f9..2deb6110383 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.cpp
@@ -10,8 +10,8 @@
#include "CEC_Dispatching.h"
#include "CEC_EventChannel.h"
#include "CEC_ConsumerControl.h"
-#include "orbsvcs/ESF/ESF_RefCount_Guard.h"
-#include "orbsvcs/ESF/ESF_Proxy_RefCount_Guard.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.h"
#include "tao/debug.h"
#if defined (TAO_HAS_TYPED_EVENT_CHANNEL)
#include "CEC_TypedEvent.h"
@@ -46,8 +46,6 @@ TAO_CEC_ProxyPushSupplier::TAO_CEC_ProxyPushSupplier (TAO_CEC_EventChannel* ec)
this->default_POA_ =
this->event_channel_->supplier_poa ();
-
- this->event_channel_->get_servant_retry_map ().bind (this, 0);
}
// TAO_CEC_ProxyPushSupplier Constructure (Typed EC)
@@ -63,14 +61,11 @@ TAO_CEC_ProxyPushSupplier::TAO_CEC_ProxyPushSupplier (TAO_CEC_TypedEventChannel*
this->default_POA_ =
this->typed_event_channel_->typed_supplier_poa ();
-
- this->event_channel_->get_servant_retry_map ().bind (this, 0);
}
#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */
TAO_CEC_ProxyPushSupplier::~TAO_CEC_ProxyPushSupplier (void)
{
- this->event_channel_->get_servant_retry_map ().unbind (this);
#if defined (TAO_HAS_TYPED_EVENT_CHANNEL)
if (this->is_typed_ec () )
{
@@ -603,23 +598,24 @@ TAO_CEC_ProxyPushSupplier::push_to_consumer (const CORBA::Any& event
CosEventComm::PushConsumer::_duplicate (this->consumer_.in ());
}
- TAO_CEC_ConsumerControl *control =
- this->event_channel_->consumer_control ();
ACE_TRY
{
consumer->push (event ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
-
- // Inform the control that we were able to push something
- control->successful_transmission(this);
}
ACE_CATCH (CORBA::OBJECT_NOT_EXIST, not_used)
{
+ TAO_CEC_ConsumerControl *control =
+ this->event_channel_->consumer_control ();
+
control->consumer_not_exist (this ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
}
ACE_CATCH (CORBA::SystemException, sysex)
{
+ TAO_CEC_ConsumerControl *control =
+ this->event_channel_->consumer_control ();
+
control->system_exception (this,
sysex
ACE_ENV_ARG_PARAMETER);
@@ -647,24 +643,24 @@ TAO_CEC_ProxyPushSupplier::reactive_push_to_consumer (
CosEventComm::PushConsumer::_duplicate (this->consumer_.in ());
}
- TAO_CEC_ConsumerControl *control =
- this->event_channel_->consumer_control ();
-
ACE_TRY
{
consumer->push (event ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
-
- // Inform the control that we were able to push something
- control->successful_transmission(this);
}
ACE_CATCH (CORBA::OBJECT_NOT_EXIST, not_used)
{
+ TAO_CEC_ConsumerControl *control =
+ this->event_channel_->consumer_control ();
+
control->consumer_not_exist (this ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
}
ACE_CATCH (CORBA::SystemException, sysex)
{
+ TAO_CEC_ConsumerControl *control =
+ this->event_channel_->consumer_control ();
+
control->system_exception (this,
sysex
ACE_ENV_ARG_PARAMETER);
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.h
index 1e05d9e7e41..d87dd7977dd 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.h
@@ -16,13 +16,13 @@
#include /**/ "ace/pre.h"
-#include "orbsvcs/CosEventChannelAdminS.h"
+#include "orbsvcs/orbsvcs/CosEventChannelAdminS.h"
#if defined (TAO_HAS_TYPED_EVENT_CHANNEL)
-#include "orbsvcs/CosTypedEventChannelAdminS.h"
+#include "orbsvcs/orbsvcs/CosTypedEventChannelAdminS.h"
#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */
-#include "event_serv_export.h"
+#include "event_export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
@@ -52,7 +52,7 @@ class TAO_CEC_TypedEventChannel;
* Locking is strategized, the event channel acts as a factory for
* the locking strategies.
*/
-class TAO_Event_Serv_Export TAO_CEC_ProxyPushSupplier : public POA_CosEventChannelAdmin::ProxyPushSupplier
+class TAO_Event_Export TAO_CEC_ProxyPushSupplier : public POA_CosEventChannelAdmin::ProxyPushSupplier
{
public:
typedef CosEventChannelAdmin::ProxyPushSupplier_ptr _ptr_type;
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.h
index b4c0c970545..f1811d51f40 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.h
@@ -23,7 +23,7 @@
#include "tao/Objref_VarOut_T.h"
-#include "orbsvcs/CosEvent/event_serv_export.h"
+#include "orbsvcs/orbsvcs/CosEvent/event_export.h"
/**
* @class TAO_CEC_Pulling_Strategy
@@ -36,7 +36,7 @@
* for each queue or can simply push the event to the consumer in
* FIFO order.
*/
-class TAO_Event_Serv_Export TAO_CEC_Pulling_Strategy
+class TAO_Event_Export TAO_CEC_Pulling_Strategy
{
public:
/// destructor...
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp
index 795ba286da9..0fed2f2298e 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp
@@ -12,8 +12,6 @@
#include "CEC_ProxyPushSupplier.h"
#include "CEC_ProxyPullSupplier.h"
-#include "orbsvcs/Time_Utilities.h"
-
#include "tao/Messaging/Messaging.h"
#include "tao/ORB_Core.h"
@@ -30,12 +28,10 @@ ACE_RCSID (CosEvent,
TAO_CEC_Reactive_ConsumerControl::
TAO_CEC_Reactive_ConsumerControl (const ACE_Time_Value &rate,
const ACE_Time_Value &timeout,
- unsigned int retries,
TAO_CEC_EventChannel *ec,
CORBA::ORB_ptr orb)
: rate_ (rate),
timeout_ (timeout),
- retries_ (retries),
adapter_ (this),
event_channel_ (ec),
orb_ (CORBA::ORB::_duplicate (orb))
@@ -54,12 +50,10 @@ TAO_CEC_Reactive_ConsumerControl::
TAO_CEC_Reactive_ConsumerControl::
TAO_CEC_Reactive_ConsumerControl (const ACE_Time_Value &rate,
const ACE_Time_Value &timeout,
- unsigned int retries,
TAO_CEC_TypedEventChannel *ec,
CORBA::ORB_ptr orb)
: rate_ (rate),
timeout_ (timeout),
- retries_ (retries),
adapter_ (this),
typed_event_channel_ (ec),
orb_ (CORBA::ORB::_duplicate (orb))
@@ -110,37 +104,6 @@ TAO_CEC_Reactive_ConsumerControl::query_consumers (
#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */
}
-bool
-TAO_CEC_Reactive_ConsumerControl::need_to_disconnect (
- PortableServer::ServantBase* proxy)
-{
- bool disconnect = true;
- TAO_CEC_EventChannel::ServantRetryMap::ENTRY* entry;
- if (this->event_channel_->
- get_servant_retry_map ().find (proxy, entry) == 0)
- {
- ++entry->int_id_;
- if (entry->int_id_ <= this->retries_)
- {
- disconnect = false;
- }
- }
-
- return disconnect;
-}
-
-void
-TAO_CEC_Reactive_ConsumerControl::successful_transmission (
- PortableServer::ServantBase* proxy)
-{
- TAO_CEC_EventChannel::ServantRetryMap::ENTRY* entry;
- if (this->event_channel_->
- get_servant_retry_map ().find (proxy, entry) == 0)
- {
- entry->int_id_ = 0;
- }
-}
-
void
TAO_CEC_Reactive_ConsumerControl::handle_timeout (
const ACE_Time_Value &,
@@ -162,17 +125,9 @@ TAO_CEC_Reactive_ConsumerControl::handle_timeout (
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- ACE_TRY_EX (query)
- {
- // Query the state of the consumers...
- this->query_consumers (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK_EX (query);
- }
- ACE_CATCHANY
- {
- // Ignore all exceptions
- }
- ACE_ENDTRY;
+ // Query the state of the consumers...
+ this->query_consumers (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
this->policy_current_->set_policy_overrides (policies.in (),
CORBA::SET_OVERRIDE
@@ -208,12 +163,8 @@ TAO_CEC_Reactive_ConsumerControl::activate (void)
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- // Pre-compute the policy list to the set the right timeout
- // value...
- // We need to convert the relative timeout into 100's of nano seconds.
- TimeBase::TimeT timeout;
- ORBSVCS_Time::Time_Value_to_TimeT (timeout,
- this->timeout_);
+ // Timeout for polling state (default = 10 msec)
+ TimeBase::TimeT timeout = timeout_.usec() * 10;
CORBA::Any any;
any <<= timeout;
@@ -307,11 +258,18 @@ TAO_CEC_Reactive_ConsumerControl::system_exception (
{
ACE_TRY
{
- if (this->need_to_disconnect (proxy))
- {
- proxy->disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
+ // The current implementation is very strict, and kicks out a
+ // client on the first system exception. We may
+ // want to be more lenient in the future, for example,
+ // this is TAO's minor code for a failed connection.
+ //
+ // if (CORBA::TRANSIENT::_narrow (&exception) != 0
+ // && exception->minor () == 0x54410085)
+ // return;
+
+ // Anything else is serious, including timeouts...
+ proxy->disconnect_push_supplier (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
}
ACE_CATCHANY
{
@@ -363,11 +321,17 @@ TAO_CEC_Ping_Push_Consumer::work (TAO_CEC_ProxyPushSupplier *supplier
}
ACE_CATCH (CORBA::TRANSIENT, transient)
{
- if (this->control_->need_to_disconnect (supplier))
- {
- this->control_->consumer_not_exist (supplier ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
+ // The current implementation is very strict, and kicks out a
+ // client on the first system exception. We may
+ // want to be more lenient in the future, for example,
+ // this is TAO's minor code for a failed connection.
+ //
+ // if (CORBA::TRANSIENT::_narrow (&exception) != 0
+ // && exception->minor () == 0x54410085)
+ // return;
+
+ this->control_->consumer_not_exist (supplier ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
}
ACE_CATCHANY
{
@@ -402,11 +366,17 @@ TAO_CEC_Ping_Pull_Consumer::work (TAO_CEC_ProxyPullSupplier *supplier
}
ACE_CATCH (CORBA::TRANSIENT, transient)
{
- if (this->control_->need_to_disconnect (supplier))
- {
- this->control_->consumer_not_exist (supplier ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
+ // The current implementation is very strict, and kicks out a
+ // client on the first system exception. We may
+ // want to be more lenient in the future, for example,
+ // this is TAO's minor code for a failed connection.
+ //
+ // if (CORBA::TRANSIENT::_narrow (&exception) != 0
+ // && exception->minor () == 0x54410085)
+ // return;
+
+ this->control_->consumer_not_exist (supplier ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
}
ACE_CATCHANY
{
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h
index 43994062fd0..164e7588496 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h
@@ -21,7 +21,7 @@
#include "CEC_ConsumerControl.h"
-#include "orbsvcs/ESF/ESF_Worker.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Worker.h"
#include "tao/ORB.h"
@@ -48,7 +48,7 @@ class TAO_CEC_TypedEventChannel;
* periodically wakeup and verify the state of the consumers
* registered with the Event Channel.
*/
-class TAO_Event_Serv_Export TAO_CEC_ConsumerControl_Adapter : public ACE_Event_Handler
+class TAO_Event_Export TAO_CEC_ConsumerControl_Adapter : public ACE_Event_Handler
{
public:
/// Constructor
@@ -74,7 +74,7 @@ private:
* = LOCKING
* = TODO
*/
-class TAO_Event_Serv_Export TAO_CEC_Reactive_ConsumerControl
+class TAO_Event_Export TAO_CEC_Reactive_ConsumerControl
: public TAO_CEC_ConsumerControl
{
public:
@@ -82,7 +82,6 @@ public:
/// parameter.
TAO_CEC_Reactive_ConsumerControl (const ACE_Time_Value &rate,
const ACE_Time_Value &timeout,
- unsigned int retries,
TAO_CEC_EventChannel *event_channel,
CORBA::ORB_ptr orb);
@@ -91,7 +90,6 @@ public:
TAO_CEC_Reactive_ConsumerControl (
const ACE_Time_Value &rate,
const ACE_Time_Value &timeout,
- unsigned int retries,
TAO_CEC_TypedEventChannel *typed_event_channel,
CORBA::ORB_ptr orb
);
@@ -115,15 +113,6 @@ public:
CORBA::SystemException &
ACE_ENV_ARG_DECL_NOT_USED);
- /// Do we need to disconnect this supplier? The parameter type for
- /// proxy is PortableServer::ServantBase* due to the fact that this
- /// method will be used for TAO_CEC_ProxyPushSupplier's and
- /// TAO_CEC_ProxyPullSupplier's.
- virtual bool need_to_disconnect (PortableServer::ServantBase* proxy);
-
- /// Allow others to inform us when a send or receive was successful.
- virtual void successful_transmission (PortableServer::ServantBase* proxy);
-
private:
/// Check if the consumers still exists. It is a helper method for
/// handle_timeout() to isolate the exceptions.
@@ -136,9 +125,6 @@ private:
/// The polling timeout
ACE_Time_Value timeout_;
- /// The number of retries per proxy until it is disconnected
- unsigned int retries_;
-
/// The Adapter for the reactor events
TAO_CEC_ConsumerControl_Adapter adapter_;
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.cpp
index 470f8a98292..dec3c06aa2f 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.cpp
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.cpp
@@ -6,8 +6,6 @@
#include "CEC_SupplierAdmin.h"
#include "CEC_ConsumerAdmin.h"
-#include "orbsvcs/Time_Utilities.h"
-
#include "tao/Messaging/Messaging.h"
#include "tao/ORB_Core.h"
@@ -21,12 +19,10 @@ ACE_RCSID(CosEvent, CEC_Reactive_Pulling_Strategy, "$Id$")
TAO_CEC_Reactive_Pulling_Strategy::
TAO_CEC_Reactive_Pulling_Strategy (const ACE_Time_Value &rate,
- const ACE_Time_Value &relative_timeout,
TAO_CEC_EventChannel *event_channel,
CORBA::ORB_ptr orb)
: adapter_ (this),
rate_ (rate),
- relative_timeout_ (relative_timeout),
event_channel_ (event_channel),
orb_ (CORBA::ORB::_duplicate (orb))
{
@@ -55,20 +51,12 @@ TAO_CEC_Reactive_Pulling_Strategy::handle_timeout (
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- ACE_TRY_EX (query)
- {
- TAO_CEC_Pull_Event worker (this->event_channel_->consumer_admin (),
- this->event_channel_->supplier_control ());
+ TAO_CEC_Pull_Event worker (this->event_channel_->consumer_admin (),
+ this->event_channel_->supplier_control ());
- this->event_channel_->supplier_admin ()->for_each (&worker
- ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK_EX (query);
- }
- ACE_CATCHANY
- {
- // Ignore all exceptions
- }
- ACE_ENDTRY;
+ this->event_channel_->supplier_admin ()->for_each (&worker
+ ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
this->policy_current_->set_policy_overrides (policies.in (),
CORBA::SET_OVERRIDE
@@ -113,10 +101,8 @@ TAO_CEC_Reactive_Pulling_Strategy::activate (void)
// Pre-compute the policy list to the set the right timeout
// value...
- // We need to convert the relative timeout into 100's of nano seconds.
- TimeBase::TimeT timeout;
- ORBSVCS_Time::Time_Value_to_TimeT (timeout,
- this->relative_timeout_);
+ // @@ TODO It is currently hard-coded to 10 milliseconds
+ TimeBase::TimeT timeout = 10 * 10000;
CORBA::Any any;
any <<= timeout;
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.h
index 0ee810190e2..cf38a4aa8b9 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.h
@@ -21,10 +21,9 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "orbsvcs/ESF/ESF_Worker.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Worker.h"
#include "tao/ORB.h"
-#include "tao/PolicyC.h"
#include "ace/Event_Handler.h"
@@ -43,7 +42,7 @@ class TAO_CEC_Reactive_Pulling_Strategy;
* periodically wakeup and try top pull events from each
* PullSupplier connected to the EventChannel.
*/
-class TAO_Event_Serv_Export TAO_CEC_Pulling_Strategy_Adapter : public ACE_Event_Handler
+class TAO_Event_Export TAO_CEC_Pulling_Strategy_Adapter : public ACE_Event_Handler
{
public:
/// Constructor
@@ -68,13 +67,12 @@ private:
* The events are dispatched in FIFO ordering, using the invoking
* thread to push the event to the consumer.
*/
-class TAO_Event_Serv_Export TAO_CEC_Reactive_Pulling_Strategy : public TAO_CEC_Pulling_Strategy
+class TAO_Event_Export TAO_CEC_Reactive_Pulling_Strategy : public TAO_CEC_Pulling_Strategy
{
public:
/// The scheduler is used to find the range of priorities and similar
/// info.
TAO_CEC_Reactive_Pulling_Strategy (const ACE_Time_Value &rate,
- const ACE_Time_Value &relative_timeout,
TAO_CEC_EventChannel *event_channel,
CORBA::ORB_ptr orb);
@@ -93,9 +91,6 @@ private:
/// The polling rate
ACE_Time_Value rate_;
- /// The relative timeout
- ACE_Time_Value relative_timeout_;
-
/// The event channel
TAO_CEC_EventChannel *event_channel_;
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp
index 351b24a2fdc..f0745b949e8 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp
@@ -13,8 +13,6 @@
#include "CEC_ProxyPullConsumer.h"
-#include "orbsvcs/Time_Utilities.h"
-
#include "tao/Messaging/Messaging.h"
#include "tao/ORB_Core.h"
@@ -31,12 +29,10 @@ ACE_RCSID (CosEvent,
TAO_CEC_Reactive_SupplierControl::
TAO_CEC_Reactive_SupplierControl (const ACE_Time_Value &rate,
const ACE_Time_Value &timeout,
- unsigned int retries,
TAO_CEC_EventChannel *ec,
CORBA::ORB_ptr orb)
: rate_ (rate),
timeout_ (timeout),
- retries_ (retries),
adapter_ (this),
event_channel_ (ec),
orb_ (CORBA::ORB::_duplicate (orb))
@@ -55,12 +51,10 @@ TAO_CEC_Reactive_SupplierControl::
TAO_CEC_Reactive_SupplierControl::
TAO_CEC_Reactive_SupplierControl (const ACE_Time_Value &rate,
const ACE_Time_Value &timeout,
- unsigned int retries,
TAO_CEC_TypedEventChannel *ec,
CORBA::ORB_ptr orb)
: rate_ (rate),
timeout_ (timeout),
- retries_ (retries),
adapter_ (this),
typed_event_channel_ (ec),
orb_ (CORBA::ORB::_duplicate (orb))
@@ -112,37 +106,6 @@ TAO_CEC_Reactive_SupplierControl::query_suppliers (
#endif /* TAO_HAS_TYPED_EVENT_CHANNEL */
}
-bool
-TAO_CEC_Reactive_SupplierControl::need_to_disconnect (
- PortableServer::ServantBase* proxy)
-{
- bool disconnect = true;
- TAO_CEC_EventChannel::ServantRetryMap::ENTRY* entry;
- if (this->event_channel_->
- get_servant_retry_map ().find (proxy, entry) == 0)
- {
- ++entry->int_id_;
- if (entry->int_id_ <= this->retries_)
- {
- disconnect = false;
- }
- }
-
- return disconnect;
-}
-
-void
-TAO_CEC_Reactive_SupplierControl::successful_transmission (
- PortableServer::ServantBase* proxy)
-{
- TAO_CEC_EventChannel::ServantRetryMap::ENTRY* entry;
- if (this->event_channel_->
- get_servant_retry_map ().find (proxy, entry) == 0)
- {
- entry->int_id_ = 0;
- }
-}
-
void
TAO_CEC_Reactive_SupplierControl::handle_timeout (
const ACE_Time_Value &,
@@ -164,17 +127,9 @@ TAO_CEC_Reactive_SupplierControl::handle_timeout (
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- ACE_TRY_EX (query)
- {
- // Query the state of the suppliers...
- this->query_suppliers (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK_EX (query);
- }
- ACE_CATCHANY
- {
- // Ignore all exceptions
- }
- ACE_ENDTRY;
+ // Query the state of the suppliers...
+ this->query_suppliers (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
this->policy_current_->set_policy_overrides (policies.in (),
CORBA::SET_OVERRIDE
@@ -210,12 +165,8 @@ TAO_CEC_Reactive_SupplierControl::activate (void)
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
- // Pre-compute the policy list to the set the right timeout
- // value...
- // We need to convert the relative timeout into 100's of nano seconds.
- TimeBase::TimeT timeout;
- ORBSVCS_Time::Time_Value_to_TimeT (timeout,
- this->timeout_);
+ // Timeout for polling state (default = 10 msec)
+ TimeBase::TimeT timeout = timeout_.usec() * 10;
CORBA::Any any;
any <<= timeout;
@@ -324,11 +275,18 @@ TAO_CEC_Reactive_SupplierControl::system_exception (
{
ACE_TRY
{
- if (this->need_to_disconnect (proxy))
- {
- proxy->disconnect_pull_consumer (ACE_ENV_SINGLE_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
+ // The current implementation is very strict, and kicks out a
+ // client on the first system exception. We may
+ // want to be more lenient in the future, for example,
+ // this is TAO's minor code for a failed connection.
+ //
+ // if (CORBA::TRANSIENT::_narrow (&exception) != 0
+ // && exception->minor () == 0x54410085)
+ // return;
+
+ // Anything else is serious, including timeouts...
+ proxy->disconnect_pull_consumer (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_TRY_CHECK;
}
ACE_CATCHANY
{
@@ -380,11 +338,18 @@ TAO_CEC_Ping_Push_Supplier::work (TAO_CEC_ProxyPushConsumer *consumer
}
ACE_CATCH (CORBA::TRANSIENT, transient)
{
- if (this->control_->need_to_disconnect (consumer))
- {
- this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
+ // The current implementation is very strict, and kicks out a
+ // client on the first system exception. We may
+ // want to be more lenient in the future, for example,
+ // this is TAO's minor code for a failed connection.
+ //
+ // if (CORBA::TRANSIENT::_narrow (&exception) != 0
+ // && exception->minor () == 0x54410085)
+ // return;
+
+ // Anything else is serious, including timeouts...
+ this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
}
ACE_CATCHANY
{
@@ -420,11 +385,18 @@ TAO_CEC_Ping_Typed_Push_Supplier::work (TAO_CEC_TypedProxyPushConsumer *consumer
}
ACE_CATCH (CORBA::TRANSIENT, transient)
{
- if (this->control_->need_to_disconnect (consumer))
- {
- this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
+ // The current implementation is very strict, and kicks out a
+ // client on the first system exception. We may
+ // want to be more lenient in the future, for example,
+ // this is TAO's minor code for a failed connection.
+ //
+ // if (CORBA::TRANSIENT::_narrow (&exception) != 0
+ // && exception->minor () == 0x54410085)
+ // return;
+
+ // Anything else is serious, including timeouts...
+ this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
}
ACE_CATCHANY
{
@@ -460,11 +432,18 @@ TAO_CEC_Ping_Pull_Supplier::work (TAO_CEC_ProxyPullConsumer *consumer
}
ACE_CATCH (CORBA::TRANSIENT, transient)
{
- if (this->control_->need_to_disconnect (consumer))
- {
- this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER);
- ACE_TRY_CHECK;
- }
+ // The current implementation is very strict, and kicks out a
+ // client on the first system exception. We may
+ // want to be more lenient in the future, for example,
+ // this is TAO's minor code for a failed connection.
+ //
+ // if (CORBA::TRANSIENT::_narrow (&exception) != 0
+ // && exception->minor () == 0x54410085)
+ // return;
+
+ // Anything else is serious, including timeouts...
+ this->control_->supplier_not_exist (consumer ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
}
ACE_CATCHANY
{
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h
index bede8d09893..1aefc64bb71 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h
@@ -25,7 +25,7 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "orbsvcs/ESF/ESF_Worker.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Worker.h"
#include "tao/ORB.h"
@@ -47,7 +47,7 @@ class TAO_CEC_TypedEventChannel;
* periodically wakeup and verify the state of the suppliers
* registered with the Event Channel.
*/
-class TAO_Event_Serv_Export TAO_CEC_SupplierControl_Adapter
+class TAO_Event_Export TAO_CEC_SupplierControl_Adapter
: public ACE_Event_Handler
{
public:
@@ -74,7 +74,7 @@ private:
* = LOCKING
* = TODO
*/
-class TAO_Event_Serv_Export TAO_CEC_Reactive_SupplierControl
+class TAO_Event_Export TAO_CEC_Reactive_SupplierControl
: public TAO_CEC_SupplierControl
{
public:
@@ -82,7 +82,6 @@ public:
/// parameter.
TAO_CEC_Reactive_SupplierControl (const ACE_Time_Value &rate,
const ACE_Time_Value &timeout,
- unsigned int retries,
TAO_CEC_EventChannel *event_channel,
CORBA::ORB_ptr orb);
@@ -91,7 +90,6 @@ public:
TAO_CEC_Reactive_SupplierControl (
const ACE_Time_Value &rate,
const ACE_Time_Value &timeout,
- unsigned int retries,
TAO_CEC_TypedEventChannel *typed_event_channel,
CORBA::ORB_ptr orb
);
@@ -119,15 +117,6 @@ public:
CORBA::SystemException &
ACE_ENV_ARG_DECL_NOT_USED);
- /// Do we need to disconnect this supplier? The parameter type for
- /// proxy is PortableServer::ServantBase* due to the fact that this
- /// method will be used for TAO_CEC_ProxyPushSupplier's and
- /// TAO_CEC_ProxyPullSupplier's.
- virtual bool need_to_disconnect (PortableServer::ServantBase* proxy);
-
- /// Allow others to inform us when a send or receive was successful.
- virtual void successful_transmission (PortableServer::ServantBase* proxy);
-
private:
/// Check if the suppliers still exists. It is a helper method for
/// handle_timeout() to isolate the exceptions.
@@ -140,9 +129,6 @@ private:
/// The polling timeout
ACE_Time_Value timeout_;
- /// The number of retries per proxy until it is disconnected
- unsigned int retries_;
-
/// The Adapter for the reactor events
TAO_CEC_SupplierControl_Adapter adapter_;
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp
index a2837a9b7eb..1335ad5b02e 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp
@@ -4,7 +4,7 @@
#include "CEC_ProxyPushConsumer.h"
#include "CEC_ProxyPullConsumer.h"
#include "CEC_EventChannel.h"
-#include "orbsvcs/ESF/ESF_Shutdown_Proxy.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.h"
#if ! defined (__ACE_INLINE__)
#include "CEC_SupplierAdmin.i"
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h
index 38f312bdc53..2fdab582804 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h
@@ -19,17 +19,17 @@
#include /**/ "ace/pre.h"
-#include "orbsvcs/CosEventChannelAdminS.h"
+#include "orbsvcs/orbsvcs/CosEventChannelAdminS.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "orbsvcs/ESF/ESF_Proxy_Admin.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.h"
#include "CEC_ProxyPushConsumer.h"
#include "CEC_ProxyPullConsumer.h"
-#include "event_serv_export.h"
+#include "event_export.h"
class TAO_CEC_EventChannel;
@@ -49,7 +49,7 @@ class TAO_CEC_EventChannel;
* externally.
* = TODO
*/
-class TAO_Event_Serv_Export TAO_CEC_SupplierAdmin
+class TAO_Event_Export TAO_CEC_SupplierAdmin
: public POA_CosEventChannelAdmin::SupplierAdmin
{
public:
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.cpp b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.cpp
index 788cc6b7852..28ffbd85d1e 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.cpp
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.cpp
@@ -55,17 +55,6 @@ TAO_CEC_SupplierControl::system_exception (TAO_CEC_ProxyPullConsumer *,
{
}
-bool
-TAO_CEC_SupplierControl::need_to_disconnect (PortableServer::ServantBase*)
-{
- return true;
-}
-
-void
-TAO_CEC_SupplierControl::successful_transmission (PortableServer::ServantBase*)
-{
-}
-
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
#elif defined(ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h
index 7875e543f34..b65cfc52350 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h
@@ -26,10 +26,9 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "tao/PortableServer/PortableServerC.h"
#include "tao/Objref_VarOut_T.h"
-#include "orbsvcs/CosEvent/event_serv_export.h"
+#include "orbsvcs/orbsvcs/CosEvent/event_export.h"
class TAO_CEC_EventChannel;
class TAO_CEC_ProxyPushConsumer;
@@ -55,7 +54,7 @@ namespace CORBA
* = LOCKING
* = TODO
*/
-class TAO_Event_Serv_Export TAO_CEC_SupplierControl
+class TAO_Event_Export TAO_CEC_SupplierControl
{
public:
/// Constructor. It does not assume ownership of the <event_channel>
@@ -95,15 +94,6 @@ public:
virtual void system_exception (TAO_CEC_ProxyPullConsumer *proxy,
CORBA::SystemException &
ACE_ENV_ARG_DECL_NOT_USED);
-
- /// Do we need to disconnect this supplier? The parameter type for
- /// proxy is PortableServer::ServantBase* due to the fact that this
- /// method will be used for TAO_CEC_ProxyPushSupplier's and
- /// TAO_CEC_ProxyPullSupplier's.
- virtual bool need_to_disconnect (PortableServer::ServantBase* proxy);
-
- /// Allow others to inform us when a send or receive was successful.
- virtual void successful_transmission (PortableServer::ServantBase* proxy);
};
#if defined (__ACE_INLINE__)
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h
index 1e08da77de5..9dce04452c9 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedConsumerAdmin.h
@@ -16,13 +16,13 @@
#include /**/ "ace/pre.h"
-#include "orbsvcs/CosTypedEventChannelAdminS.h"
+#include "orbsvcs/orbsvcs/CosTypedEventChannelAdminS.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "orbsvcs/ESF/ESF_Proxy_Admin.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.h"
#include "CEC_ProxyPushSupplier.h"
#include "CEC_TypedEvent.h"
@@ -30,7 +30,7 @@
class TAO_CEC_TypedEventChannel;
//Class TAO_CEC_TypedConsumerAdmin
-class TAO_Event_Serv_Export TAO_CEC_TypedConsumerAdmin
+class TAO_Event_Export TAO_CEC_TypedConsumerAdmin
: public POA_CosTypedEventChannelAdmin::TypedConsumerAdmin
{
public:
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.h
index d0ee1cfa917..3eac4f3f572 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEvent.h
@@ -12,7 +12,7 @@
#define TAO_CEC_TYPEDEVENT_H_
#include /**/ "ace/pre.h"
-#include "event_serv_export.h"
+#include "event_export.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
#pragma once
@@ -34,7 +34,7 @@
class TAO_CEC_ProxyPushSupplier;
-class TAO_Event_Serv_Export TAO_CEC_TypedEvent
+class TAO_Event_Export TAO_CEC_TypedEvent
{
public:
/// constructors...
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h
index 1119ef34170..6db51475183 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedEventChannel.h
@@ -23,9 +23,9 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "CEC_Defaults.h"
-#include "event_serv_export.h"
+#include "event_export.h"
-#include "orbsvcs/CosTypedEventChannelAdminS.h"
+#include "orbsvcs/orbsvcs/CosTypedEventChannelAdminS.h"
#include "tao/IFR_Client/IFR_BasicC.h"
#include "tao/NVList.h"
@@ -50,7 +50,7 @@
* an easy mechanism to extend the attributes without requiring
* changes in the EC constructor.
*/
-class TAO_Event_Serv_Export TAO_CEC_TypedEventChannel_Attributes
+class TAO_Event_Export TAO_CEC_TypedEventChannel_Attributes
{
public:
/**
@@ -105,7 +105,7 @@ private:
class TAO_CEC_Operation_Params;
//Class TAO_CEC_TypedEventChannel
-class TAO_Event_Serv_Export TAO_CEC_TypedEventChannel : public virtual POA_CosTypedEventChannelAdmin::TypedEventChannel
+class TAO_Event_Export TAO_CEC_TypedEventChannel : public virtual POA_CosTypedEventChannelAdmin::TypedEventChannel
{
public:
@@ -322,7 +322,7 @@ private:
};
-class TAO_Event_Serv_Export TAO_CEC_Param
+class TAO_Event_Export TAO_CEC_Param
{
public:
/// Constructor
@@ -341,7 +341,7 @@ private:
};
-class TAO_Event_Serv_Export TAO_CEC_Operation_Params
+class TAO_Event_Export TAO_CEC_Operation_Params
{
/// constructor
TAO_CEC_Operation_Params (CORBA::ULong num_params);
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.h
index de3210df73b..3ae216f6a4b 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedProxyPushConsumer.h
@@ -16,21 +16,20 @@
#define TAO_CEC_TYPEDPROXYPUSHCONSUMER_H_
#include /**/ "ace/pre.h"
-#include "orbsvcs/CosTypedEventChannelAdminS.h"
+#include "orbsvcs/orbsvcs/CosTypedEventChannelAdminS.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "orbsvcs/ESF/ESF_Worker.h"
-#include "event_serv_export.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Worker.h"
class TAO_CEC_TypedEvent;
class TAO_CEC_TypedEventChannel;
class TAO_CEC_DynamicImplementationServer;
//Class TAO_CEC_TypedProxyPushConsumer
-class TAO_Event_Serv_Export TAO_CEC_TypedProxyPushConsumer
+class TAO_Event_Export TAO_CEC_TypedProxyPushConsumer
: public virtual POA_CosTypedEventChannelAdmin::TypedProxyPushConsumer
{
public:
@@ -148,7 +147,7 @@ private:
* the reference count on the proxy, eliminating the need to hold
* mutexes during long operations.
*/
-class TAO_Event_Serv_Export TAO_CEC_TypedProxyPushConsumer_Guard
+class TAO_Event_Export TAO_CEC_TypedProxyPushConsumer_Guard
{
public:
/// Constructor
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h
index ac42bd0ca8b..7f0d3002bc8 100644
--- a/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/CEC_TypedSupplierAdmin.h
@@ -19,20 +19,20 @@
#include /**/ "ace/pre.h"
-#include "orbsvcs/CosTypedEventChannelAdminS.h"
+#include "orbsvcs/orbsvcs/CosTypedEventChannelAdminS.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "orbsvcs/ESF/ESF_Proxy_Admin.h"
+#include "orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.h"
#include "CEC_TypedProxyPushConsumer.h"
class TAO_CEC_TypedEventChannel;
//Class TAO_CEC_TypedSupplierAdmin
-class TAO_Event_Serv_Export TAO_CEC_TypedSupplierAdmin
+class TAO_Event_Export TAO_CEC_TypedSupplierAdmin
: public POA_CosTypedEventChannelAdmin::TypedSupplierAdmin
{
public:
diff --git a/TAO/orbsvcs/orbsvcs/CosEvent/Makefile.am b/TAO/orbsvcs/orbsvcs/CosEvent/Makefile.am
new file mode 100644
index 00000000000..4e1ad8fc3fb
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/CosEvent/Makefile.am
@@ -0,0 +1,42 @@
+##---------------------------------------------------------------------------
+## $Id$
+##
+## Makefile for TAO's CosEvent Service library
+##
+##---------------------------------------------------------------------------
+
+##
+## Process this file with automake to create Makefile.in
+##
+
+## The number in AUTOMAKE_OPTIONS is the minimum required version automake
+## needed to process this file.
+AUTOMAKE_OPTIONS = 1.4
+
+INCLUDES = -I$(top_builddir) -I$(top_srcdir)
+
+lib_LTLIBRARIES = libTAO_CosEvent.la
+
+libTAO_CosEvent_la_LDADD = \
+ $(top_builddir)/ace/libACE.la $(top_builddir)/TAO/tao/libTAO.la
+
+libTAO_CosEvent_la_SOURCES = \
+ ConsumerAdmin_i.cpp \
+ EventChannel_i.cpp \
+ ProxyPushConsumer_i.cpp \
+ ProxyPushSupplier_i.cpp \
+ SupplierAdmin_i.cpp
+
+noinst_HEADERS = \
+ ConsumerAdmin_i.h \
+ EventChannel_i.h \
+ ProxyPushConsumer_i.h \
+ ProxyPushSupplier_i.h \
+ SupplierAdmin_i.h
+
+## Clean up some additional files/directories possibly created during
+## the configure script tests.
+clean-local:
+ -rm -f *.bak *.rpo *.sym lib*.*_pure_* Makefile.old core
+ -rm -rf ptrepository Templates.DB gcctemp.c gcctemp so_locations
+