summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-11-20 04:58:47 +0000
committerjai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-11-20 04:58:47 +0000
commit6efe045be0f71ce2348a5c5679470adbf1c5eda5 (patch)
tree48e894b5a355cfb5ab5d608aba5a1c211cda5595
parent77ebc685db864b45db3435f64f11f8d1d5371070 (diff)
downloadATCD-6efe045be0f71ce2348a5c5679470adbf1c5eda5.tar.gz
ChangeLogTag:Mon Nov 19 20:19:48 2001 Jaiganesh Balasubramanian <jai@balar.ece.uci.edu>
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a73
-rw-r--r--TAO/orbsvcs/examples/RtEC/MCast/MCast.cpp1
-rw-r--r--TAO/orbsvcs/examples/RtEC/MCast/Makefile25
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp406
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h212
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i1
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp172
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h122
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i8
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/Makefile.am1
-rw-r--r--TAO/orbsvcs/orbsvcs/Makefile.RTEvent519
-rw-r--r--TAO/orbsvcs/orbsvcs/RTEvent.bor1
-rw-r--r--TAO/orbsvcs/tests/EC_Mcast/EC_Mcast.h1
-rw-r--r--TAO/orbsvcs/tests/EC_Mcast/Makefile385
-rw-r--r--TAO/orbsvcs/tests/EC_Mcast/sample.cfg108
15 files changed, 1560 insertions, 475 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
index ce23b32e956..4e3e0271409 100644
--- a/TAO/ChangeLogs/ChangeLog-02a
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,52 @@
+2001-11-19 Jaiganesh Balasubramanian <jai@balar.ece.uci.edu>
+
+
+Mon Nov 19 20:19:48 2001 Jaiganesh Balasubramanian <jai@balar.ece.uci.edu>
+
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h:
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i:
+ * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp:
+ Modified the TAO_ECG_Mcast_EH class to handle large numbers of
+ multicast subscriptions. Because most OSes impose a limit on
+ the number of subscription that a single socket supports, we
+ needed to keep a collection of sockets.
+ Furthermore, we need to track on what socket each multicast
+ group is subscribed, so a map from multicast groups to sockets
+ is also maintained.
+ Using this new map we can optimize the algorithm used to remove
+ multicast group subscriptions, previous versions of this class
+ simply closed the socket, but that has been reported as too
+ expensive by Mark Hyett <mhyett@std.saic.com>. With this new
+ change the class only unsubscribes from the multicast groups no
+ longer needed, without closing the socket.
+ The changes revealed some bugs in ACE_SOCK_Dgram_Mcast, the bug
+ was fixed and the changes are documented in the ACE ChangeLog
+ file.
+
+ * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h:
+ * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i:
+ * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp:
+ Moved the class TAO_ECG_Mcast_EH to its own file.
+ (See ECG_Mcast_EH.h)
+
+ * orbsvcs/tests/EC_Mcast/EC_Mcast.h:
+ * orbsvcs/examples/RtEC/MCast/MCast.cpp:
+ Add new header file for TAO_ECG_Mcast_EH
+
+ * orbsvcs/tests/EC_Mcast/Makefile:
+ * orbsvcs/examples/RtEC/MCast/Makefile:
+ Updated dependencies
+
+ * orbsvcs/tests/EC_Mcast/sample.cfg:
+ Changed this file so users can test the support for large
+ numbers of multicast groups.
+
+ * orbsvcs/orbsvcs/Makefile.RTEvent:
+ * orbsvcs/orbsvcs/RTEvent.bor:
+ * orbsvcs/orbsvcs/Event/Makefile.am:
+ Added a new file Event/TAO_ECG_Mcast_EH.cpp. Update
+ dependencies for the GNUMake makefile.
+
Mon Nov 19 02:06:53 2001 Krishnakumar B <kitty@cs.wustl.edu>
* orbsvcs/tests/Concurrency/Makefile:
@@ -17,7 +66,7 @@ Mon Nov 19 02:06:53 2001 Krishnakumar B <kitty@cs.wustl.edu>
* orbsvcs/tests/Concurrency/lex.CC_command.cpp.diff:
- Removed the bogus hunk which included a invalid //$Id$.
+ Removed the bogus hunk which included a invalid RCS Id comment
Sun Nov 18 17:33:41 2001 Ossama Othman <ossama@uci.edu>
@@ -61,6 +110,7 @@ Fri Nov 16 16:41:45 2001 Craig Rodrigues <crodrigu@bbn.com>
* orbsvcs/orbsvcs/AV/RTCP.cpp (send_report): Moved code
around to eliminate VC++ warning about casting arguments.
+
* orbsvcs/orbsvcs/AV/RTP.cpp (TAO_AV_RTP_Object): Imported
code from AVStreams_i.cpp for calling alloc_srcid() to eliminate
IA64 warning.
@@ -70,8 +120,10 @@ Fri Nov 16 13:36:09 2001 Craig Rodrigues <crodrigu@bbn.com>
* orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp: Removed deletes from
destructor. Was causing Multicast and Pluggable tests to crash.
+
* orbsvcs/orbsvcs/AV/UDP.cpp (open_i): Added a check of the
result variable to remove a KAI C++ warning.
+
* orbsvcs/orbsvcs/AV/RTCP.cpp (rtcp_interval): Replaced argument
to ACE_OS::srand() with ACE_OS::time() to eliminate IA64 warning.
@@ -80,8 +132,10 @@ Thu Nov 15 17:54:41 2001 Craig Rodrigues <crodrigu@bbn.com>
* orbsvcs/orbsvcs/AV/RTCP_Channel.h:
* orbsvcs/orbsvcs/AV/RTCP_Packet.h: Added #includes of ace/pre.h,
and ace/post.h. Thanks to Rob Ruff.
+
* orbsvcs/orbsvcs/AV/md5.h: Added names of variables to function
prototypes to appease HPUX compiler.
+
* orbsvcs/orbsvcs/AV/md5.c: Changed prototypes from "classic"
to ISO/ANSI style function prototyping to appease KAI C++.
@@ -96,12 +150,16 @@ Tue Nov 13 20:58:02 2001 Craig Rodrigues <crodrigu@bbn.com>
* orbsvcs/orbsvcs/AV/md5.h: Changed comments from C++ style
to C style in C file.
+
* orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp:
Default initialized variables.
+
* orbsvcs/orbsvcs/AV/RTCP_Packet.cpp:
Default initialized variable.
+
* orbsvcs/orbsvcs/AV/Transport.cpp: Hide unused variable
with ACE_UNUSED_ARG.
+
* orbsvcs/orbsvcs/AV/UDP.cpp: Removed unused variable.
Tue Nov 13 19:23:24 2001 Krishnakumar B <kitty@cs.wustl.edu>
@@ -152,12 +210,13 @@ Tue Nov 13 14:14:24 2001 Craig Rodrigues <crodrigu@bbn.com>
* orbsvcs/orbsvcs/AV/Transport.h:
* orbsvcs/orbsvcs/AV/UDP.cpp:
* orbsvcs/orbsvcs/AV/UDP.h:
- The previous implementation used separate flow specifications for the
- data and control portions of the same stream. This meant that RTP
- could not be used with the light profile of the AV service (since it
- only allows one flow between stream endpoints). The code was modified
- to allow data and control information to be passed as part of the
- same flow.
+
+ The previous implementation used separate flow specifications
+ for the data and control portions of the same stream. This
+ meant that RTP could not be used with the light profile of the
+ AV service (since it only allows one flow between stream
+ endpoints). The code was modified to allow data and control
+ information to be passed as part of the same flow.
* orbsvcs/orbsvcs/AV/AVStreams_i.cpp:
Added/renamed several properties defined in the CORBA AV spec.
diff --git a/TAO/orbsvcs/examples/RtEC/MCast/MCast.cpp b/TAO/orbsvcs/examples/RtEC/MCast/MCast.cpp
index bd62c075bb4..187b799e1ae 100644
--- a/TAO/orbsvcs/examples/RtEC/MCast/MCast.cpp
+++ b/TAO/orbsvcs/examples/RtEC/MCast/MCast.cpp
@@ -7,6 +7,7 @@
#include "orbsvcs/Event/EC_Event_Channel.h"
#include "orbsvcs/Event/EC_Default_Factory.h"
#include "orbsvcs/Event/EC_Gateway_UDP.h"
+#include "orbsvcs/Event/ECG_Mcast_EH.h"
#include "tao/ORB_Core.h"
#include "ace/Get_Opt.h"
diff --git a/TAO/orbsvcs/examples/RtEC/MCast/Makefile b/TAO/orbsvcs/examples/RtEC/MCast/Makefile
index e153b05f1c0..1aa9b3343e1 100644
--- a/TAO/orbsvcs/examples/RtEC/MCast/Makefile
+++ b/TAO/orbsvcs/examples/RtEC/MCast/Makefile
@@ -253,7 +253,7 @@ endif
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/event_export.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
@@ -272,7 +272,6 @@ endif
$(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseS.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Event/event_export.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataC.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS_T.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS_T.i \
@@ -298,6 +297,7 @@ endif
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecUDPAdminS.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/Event_Service_Constants.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Event_Channel.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Factory.h \
@@ -362,6 +362,11 @@ endif
$(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
$(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
$(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i \
$(TAO_ROOT)/tao/ORB_Core.h \
$(TAO_ROOT)/tao/Policy_Manager.h \
$(TAO_ROOT)/tao/Policy_Set.h \
@@ -387,13 +392,12 @@ endif
$(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
$(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
$(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
$(TAO_ROOT)/tao/Object_Ref_Table.h \
$(TAO_ROOT)/tao/Interceptor_List.h \
$(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/PICurrent.inl \
$(TAO_ROOT)/tao/Protocols_Hooks.h \
$(ACE_ROOT)/ace/Thread_Manager.h \
$(ACE_ROOT)/ace/Containers.h \
@@ -603,7 +607,7 @@ endif
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/event_export.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
@@ -622,7 +626,6 @@ endif
$(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseS.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Event/event_export.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataC.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS_T.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS_T.i \
@@ -650,6 +653,7 @@ endif
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminS.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/Event_Service_Constants.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.i
.obj/Supplier.o .obj/Supplier.so .shobj/Supplier.o .shobj/Supplier.so: Supplier.cpp Supplier.h \
@@ -846,7 +850,7 @@ endif
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/event_export.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
@@ -865,7 +869,6 @@ endif
$(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseS.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Event/event_export.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataC.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS_T.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS_T.i \
@@ -893,6 +896,7 @@ endif
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminS.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/Event_Service_Constants.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.i
.obj/AddrServer.o .obj/AddrServer.so .shobj/AddrServer.o .shobj/AddrServer.so: AddrServer.cpp AddrServer.h \
@@ -1090,7 +1094,7 @@ endif
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/event_export.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
@@ -1109,7 +1113,6 @@ endif
$(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseS.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/Event/event_export.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataC.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS_T.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS_T.i \
diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp
new file mode 100644
index 00000000000..e93659ba353
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp
@@ -0,0 +1,406 @@
+// $Id$
+
+#include "orbsvcs/Event/ECG_Mcast_EH.h"
+#include "orbsvcs/Event/EC_Gateway_UDP.h"
+#include "orbsvcs/Event_Service_Constants.h"
+
+#if !defined(__ACE_INLINE__)
+#include "orbsvcs/Event/ECG_MCast_EH.i"
+#endif /* __ACE_INLINE__ */
+
+ACE_RCSID(Event, ECG_UDP_EH, "$Id$")
+
+TAO_ECG_Mcast_EH::TAO_ECG_Mcast_EH (TAO_ECG_UDP_Receiver *recv,
+ const ACE_TCHAR *net_if)
+ : net_if_ (net_if?ACE_OS::strdup (net_if):0)
+ , receiver_ (recv)
+ , observer_ (this)
+{
+}
+
+TAO_ECG_Mcast_EH::~TAO_ECG_Mcast_EH (void)
+{
+ ACE_OS::free (this->net_if_);
+}
+
+// @@ TODO Why have a return code *and* exceptions? Only one would do!
+
+int
+TAO_ECG_Mcast_EH::open (RtecEventChannelAdmin::EventChannel_ptr ec,
+ CORBA::Environment& ACE_TRY_ENV)
+{
+ // @@ TODO Think about the exception safety (or lack thereof) of
+ // this code, what if the following operations fail?
+
+ this->ec_ = RtecEventChannelAdmin::EventChannel::_duplicate (ec);
+
+ // @@ TODO This activation should be configured by the application,
+ // it is too much policy to use _this().
+ // @@ TODO Using a full instance instead of a pointer makes memory
+ // management complex. The observer_ object should derive from
+ // PortableServer::RefCountServantBase and use the POA to control
+ // its lifetime.
+
+ RtecEventChannelAdmin::Observer_var obs =
+ this->observer_._this (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ ACE_TRY
+ {
+ this->handle_ =
+ this->ec_->append_observer (obs.in (), ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+ }
+ ACE_CATCH(CORBA::SystemException, ex)
+ {
+ // @@ TODO This code is tedious and error prone, plus its
+ // exceptions should be ignored (no way to recover from them),
+ // we should encapsulate it in a Deactivator.
+
+ PortableServer::POA_var poa =
+ this->observer_._default_POA (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+ PortableServer::ObjectId_var id =
+ poa->servant_to_id (&this->observer_, ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+ poa->deactivate_object (id.in (), ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
+
+ return 0;
+}
+
+int
+TAO_ECG_Mcast_EH::close (CORBA::Environment& ACE_TRY_ENV)
+{
+ if (this->handle_ == 0)
+ return 0;
+
+ RtecEventChannelAdmin::Observer_Handle h = this->handle_;
+ this->handle_ = 0;
+ this->ec_->remove_observer (h, ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ // @@ TODO If the first operation raises an exception then the
+ // second one never executes!!!
+ {
+ PortableServer::POA_var poa =
+ this->observer_._default_POA (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+ PortableServer::ObjectId_var id =
+ poa->servant_to_id (&this->observer_, ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+ poa->deactivate_object (id.in (), ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+ }
+
+ // Ignore the result, the handler could have been removed by a call
+ // to update_consumer() or something similar.
+ (void) this->reactor ()->remove_handler (this,
+ ACE_Event_Handler::READ_MASK);
+
+ size_t sockets_size = this->sockets_.size ();
+ for (size_t i = 0; i != sockets_size; ++i)
+ {
+ // Ignore any errors that we may have when closing the socket,
+ // there is nothing we can do about them at this point....
+ (void) this->sockets_[i]->close();
+ delete this->sockets_[i];
+ }
+ this->sockets_.size (0);
+
+ // Once all the sockets are closed they no longer are subscribed for
+ // anything
+ this->subscriptions_.unbind_all ();
+
+ return 0;
+}
+
+int
+TAO_ECG_Mcast_EH::handle_input (ACE_HANDLE fd)
+{
+ // @@ TODO How expensive is this loop? Should we use a more
+ // efficient data structure than an Array? For example a RB tree
+ // or a hash map?
+ size_t sockets_size = this->sockets_.size ();
+ for (size_t i = 0; i != sockets_size; ++i)
+ {
+ ACE_SOCK_Dgram_Mcast *socket = this->sockets_[i];
+ if (socket->get_handle () == fd)
+ {
+ return this->receiver_->handle_input (*socket);
+ }
+ }
+ return -1;
+}
+
+void
+TAO_ECG_Mcast_EH::compute_required_subscriptions (
+ const RtecEventChannelAdmin::ConsumerQOS& sub,
+ Address_Set& multicast_addresses,
+ CORBA::Environment& ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::ULong count = sub.dependencies.length ();
+ for (CORBA::ULong i = 0; i != count; ++i)
+ {
+ const RtecEventComm::EventHeader& header =
+ sub.dependencies[i].event.header;
+ if (0 <= header.type && header.type < ACE_ES_EVENT_UNDEFINED)
+ {
+ continue;
+ }
+ RtecUDPAdmin::UDP_Addr addr;
+
+ // For the time being we are exception neutral, i.e., if an
+ // exception is raised at this point we simply propagate it.
+ // Notice that we haven't performed any changes to the state of
+ // the current class, so this is the easiest approach. The
+ // alternatives are:
+ // + Ignore the exception and continue with the operation: risky
+ // because we don't know if the exception indicated a
+ // temporary or permanent condition, and if it is the former
+ // we may loose an important multicast group, with no
+ // opportunity to recover it.
+ // + Close the MCast Event Handler completely, too much policy
+ // for this level.
+ this->receiver_->get_addr (header, addr, ACE_TRY_ENV);
+ ACE_CHECK;
+
+ ACE_INET_Addr inet_addr (addr.port, addr.ipaddr);
+ // Ignore errors, if the element is in the set we simply ignore
+ // the problem...
+ (void) multicast_addresses.insert (inet_addr);
+ }
+}
+
+int
+TAO_ECG_Mcast_EH::delete_unwanted_subscriptions (
+ Address_Set& multicast_addresses)
+{
+ Subscriptions_Iterator j = this->subscriptions_.begin ();
+ while (j != this->subscriptions_.end ())
+ {
+ ACE_INET_Addr multicast_group = (*j).ext_id_;
+ if (multicast_addresses.find (multicast_group))
+ {
+ // Remove from the list of subscriptions that should be
+ // added, because it is already there...
+ (void) multicast_addresses.remove (multicast_group);
+ ++j;
+ continue;
+ }
+
+ char buf[256];
+ multicast_group.addr_to_string (buf, sizeof buf, 1);
+ ACE_SOCK_Dgram_Mcast *socket = (*j).int_id_;
+ // Ignore errors, there is no appropriate policy to handle them
+ // at this layer.
+ // @@ TODO Consider if we should raise exceptions.
+ socket->unsubscribe (multicast_group, this->net_if_);
+ // Increment and then remove, this is a safe way to remove the
+ // element without invalidating the iterator.
+ ++j;
+ this->subscriptions_.unbind (multicast_group);
+ }
+ return 0;
+}
+
+int
+TAO_ECG_Mcast_EH::subscribe_to_existing_socket (
+ ACE_INET_Addr& multicast_group)
+{
+ size_t sockets_size = this->sockets_.size ();
+ int result = -1;
+ for (size_t i = 0; i != sockets_size; ++i)
+ {
+ ACE_SOCK_Dgram_Mcast *socket = this->sockets_[i];
+ result =
+ socket->subscribe (multicast_group, 1, this->net_if_);
+ if (result == 0)
+ {
+ // Add the subscription to the subscription list
+ (void) this->subscriptions_.bind (multicast_group, socket);
+ break;
+ }
+ /* assert(result == -1) */
+ if (errno == ENOBUFS || errno == ETOOMANYREFS)
+ {
+ // The socket is full, try with the next one...
+ continue;
+ }
+ // @@ TODO: There was an error, but the problem is not with
+ // too many subscriptions... what we need to do is close the
+ // socket? Or skip the subscription?
+ }
+ return result;
+}
+
+void
+TAO_ECG_Mcast_EH::subscribe_to_new_socket(
+ ACE_INET_Addr& multicast_group)
+{
+ ACE_SOCK_Dgram_Mcast *socket;
+ ACE_NEW (socket, ACE_SOCK_Dgram_Mcast);
+ size_t sockets_size = this->sockets_.size ();
+
+ if (this->sockets_.max_size () == sockets_size)
+ {
+ this->sockets_.max_size (sockets_size + 1);
+ this->sockets_.size (sockets_size + 1);
+ }
+ this->sockets_[sockets_size] = socket;
+ socket->subscribe (multicast_group, 1, this->net_if_);
+
+ // @@ TODO: we have no way to handle this failure....
+ (void) this->subscriptions_.bind (multicast_group, socket);
+
+ // @@ TODO: we have no way to handle this failure....
+ (void) this->reactor ()->register_handler (socket->get_handle (),
+ this,
+ ACE_Event_Handler::READ_MASK);
+}
+
+void
+TAO_ECG_Mcast_EH::add_new_subscriptions (
+ Address_Set& multicast_addresses)
+{
+ typedef ACE_Unbounded_Set_Iterator<ACE_INET_Addr> Address_Iterator;
+ for (Address_Iterator k = multicast_addresses.begin ();
+ k != multicast_addresses.end ();
+ ++k)
+ {
+ // This is the multicast group we want to add to...
+ ACE_INET_Addr multicast_group = *k;
+
+ char buf[256];
+ multicast_group.addr_to_string (buf, sizeof buf, 1);
+
+ // Try to find a socket that has space for another multicast
+ // group.
+ int successful_subscription =
+ this->subscribe_to_existing_socket (multicast_group);
+
+ if (successful_subscription == -1)
+ {
+ // We try all the sockets and all of them appear to be full,
+ // we need to open a new one and add it to the Array...
+ this->subscribe_to_new_socket(multicast_group);
+ }
+ }
+}
+
+void
+TAO_ECG_Mcast_EH::update_consumer (
+ const RtecEventChannelAdmin::ConsumerQOS& sub,
+ CORBA::Environment& ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // @@ TODO This function turned out to be too long, we need to break
+ // it up in pieces, maybe 3 or 4 private member functions....
+
+ // 1) Figure out the list of multicast groups that we need to
+ // subscribe to
+
+ Address_Set multicast_addresses;
+
+ this->compute_required_subscriptions (sub, multicast_addresses, ACE_TRY_ENV);
+
+ // 2) To conserve OS and network resources we first unsubscribe from
+ // the multicast groups no longer wanted. This is done by
+ // iterating over the current set of multicast groups and
+ // removing those not present in the "multicast_addresses" set.
+
+ this->delete_unwanted_subscriptions (multicast_addresses);
+
+ // 3) After the loop above the "multicast_addresses" set contains
+ // only the new subscriptions... go ahead and add them to the
+ // sockets, opening sockets if needed.
+
+ this->add_new_subscriptions (multicast_addresses);
+}
+
+void
+TAO_ECG_Mcast_EH::update_supplier (const RtecEventChannelAdmin::SupplierQOS&,
+ CORBA::Environment&)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Do nothing
+}
+
+// ****************************************************************
+
+TAO_ECG_Mcast_EH::Observer::Observer (TAO_ECG_Mcast_EH* eh)
+ : eh_ (eh)
+{
+}
+
+void
+TAO_ECG_Mcast_EH::Observer::update_consumer (
+ const RtecEventChannelAdmin::ConsumerQOS& sub,
+ CORBA::Environment& ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->eh_->update_consumer (sub, ACE_TRY_ENV);
+}
+
+void
+TAO_ECG_Mcast_EH::Observer::update_supplier (
+ const RtecEventChannelAdmin::SupplierQOS& pub,
+ CORBA::Environment& ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->eh_->update_supplier (pub, ACE_TRY_ENV);
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+template class ACE_Atomic_Op<TAO_SYNCH_MUTEX,CORBA::ULong>;
+
+template class ACE_Hash_Map_Manager<TAO_ECG_UDP_Request_Index,TAO_ECG_UDP_Request_Entry*,TAO_SYNCH_MUTEX>;
+template class ACE_Hash_Map_Manager<ACE_INET_Addr,ACE_SOCK_Dgram_Mcast*,ACE_Null_Mutex>;
+template class ACE_Unbounded_Set<ACE_INET_Addr>;
+template class ACE_Hash_Map_Iterator_Base_Ex<ACE_INET_Addr, ACE_SOCK_Dgram_Mcast *, ACE_Hash<ACE_INET_Addr>, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>;
+template class ACE_Array_Base<ACE_SOCK_Dgram_Mcast *>;
+template class ACE_Hash_Map_Entry<ACE_INET_Addr, ACE_SOCK_Dgram_Mcast *>;
+template class ACE_Unbounded_Set_Iterator<ACE_INET_Addr>;
+template class ACE_Hash_Map_Manager_Ex<ACE_INET_Addr, ACE_SOCK_Dgram_Mcast *, ACE_Hash<ACE_INET_Addr>, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Manager_Ex<TAO_ECG_UDP_Request_Index, TAO_ECG_UDP_Request_Entry*, ACE_Hash<TAO_ECG_UDP_Request_Index>, ACE_Equal_To<TAO_ECG_UDP_Request_Index>, TAO_SYNCH_MUTEX>;
+template class ACE_Hash_Map_Entry<TAO_ECG_UDP_Request_Index,TAO_ECG_UDP_Request_Entry*>;
+template class ACE_Hash<TAO_ECG_UDP_Request_Index>;
+template class ACE_Equal_To<TAO_ECG_UDP_Request_Index>;
+template class ACE_Hash_Map_Iterator_Base_Ex<TAO_ECG_UDP_Request_Index, TAO_ECG_UDP_Request_Entry*, ACE_Hash<TAO_ECG_UDP_Request_Index>, ACE_Equal_To<TAO_ECG_UDP_Request_Index>, TAO_SYNCH_MUTEX>;
+template class ACE_Hash_Map_Iterator<TAO_ECG_UDP_Request_Index,TAO_ECG_UDP_Request_Entry*,TAO_SYNCH_MUTEX>;
+template class ACE_Hash_Map_Iterator<ACE_INET_Addr,ACE_SOCK_Dgram_Mcast*,ACE_Null_Mutex>;
+template class ACE_Hash_Map_Iterator_Ex<TAO_ECG_UDP_Request_Index, TAO_ECG_UDP_Request_Entry*, ACE_Hash<TAO_ECG_UDP_Request_Index>, ACE_Equal_To<TAO_ECG_UDP_Request_Index>, TAO_SYNCH_MUTEX>;
+template class ACE_Hash_Map_Reverse_Iterator<TAO_ECG_UDP_Request_Index,TAO_ECG_UDP_Request_Entry*,TAO_SYNCH_MUTEX>;
+template class ACE_Hash_Map_Reverse_Iterator_Ex<TAO_ECG_UDP_Request_Index, TAO_ECG_UDP_Request_Entry*, ACE_Hash<TAO_ECG_UDP_Request_Index>, ACE_Equal_To<TAO_ECG_UDP_Request_Index>, TAO_SYNCH_MUTEX>;
+
+#elif defined(ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+#pragma instantiate ACE_Atomic_Op<TAO_SYNCH_MUTEX,CORBA::ULong>
+
+#pragma instantiate ACE_Hash_Map_Manager<TAO_ECG_UDP_Request_Index,TAO_ECG_UDP_Request_Entry*,TAO_SYNCH_MUTEX>
+#pragma instantiate ACE_Unbounded_Set<ACE_INET_Addr>
+#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<ACE_INET_Addr, ACE_SOCK_Dgram_Mcast *, ACE_Hash<ACE_INET_Addr>, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>
+#pragma instantiate ACE_Array_Base<ACE_SOCK_Dgram_Mcast *>
+#pragma instantiate ACE_Hash_Map_Entry<ACE_INET_Addr, ACE_SOCK_Dgram_Mcast *>
+#pragma instantiate ACE_Unbounded_Set_Iterator<ACE_INET_Addr>
+#pragma instantiate ACE_Hash_Map_Manager<ACE_INET_Addr,ACE_SOCK_Dgram_Mcast*,ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Manager_Ex<ACE_INET_Addr, ACE_SOCK_Dgram_Mcast *, ACE_Hash<ACE_INET_Addr>, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Manager_Ex<TAO_ECG_UDP_Request_Index, TAO_ECG_UDP_Request_Entry*, ACE_Hash<TAO_ECG_UDP_Request_Index>, ACE_Equal_To<TAO_ECG_UDP_Request_Index>, TAO_SYNCH_MUTEX>
+#pragma instantiate ACE_Hash_Map_Entry<TAO_ECG_UDP_Request_Index,TAO_ECG_UDP_Request_Entry*>
+#pragma instantiate ACE_Hash<TAO_ECG_UDP_Request_Index>
+#pragma instantiate ACE_Equal_To<TAO_ECG_UDP_Request_Index>
+#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<TAO_ECG_UDP_Request_Index, TAO_ECG_UDP_Request_Entry*, ACE_Hash<TAO_ECG_UDP_Request_Index>, ACE_Equal_To<TAO_ECG_UDP_Request_Index>, TAO_SYNCH_MUTEX>
+#pragma instantiate ACE_Hash_Map_Iterator<ACE_INET_Addr,ACE_SOCK_Dgram_Mcast*,ACE_Null_Mutex>;
+#pragma instantiate ACE_Hash_Map_Iterator<TAO_ECG_UDP_Request_Index,TAO_ECG_UDP_Request_Entry*,TAO_SYNCH_MUTEX>
+#pragma instantiate ACE_Hash_Map_Iterator_Ex<TAO_ECG_UDP_Request_Index, TAO_ECG_UDP_Request_Entry*, ACE_Hash<TAO_ECG_UDP_Request_Index>, ACE_Equal_To<TAO_ECG_UDP_Request_Index>, TAO_SYNCH_MUTEX>
+#pragma instantiate ACE_Hash_Map_Reverse_Iterator<TAO_ECG_UDP_Request_Index,TAO_ECG_UDP_Request_Entry*,TAO_SYNCH_MUTEX>
+#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<TAO_ECG_UDP_Request_Index, TAO_ECG_UDP_Request_Entry*, ACE_Hash<TAO_ECG_UDP_Request_Index>, ACE_Equal_To<TAO_ECG_UDP_Request_Index>, TAO_SYNCH_MUTEX>
+
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h
new file mode 100644
index 00000000000..3bb1a708476
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h
@@ -0,0 +1,212 @@
+/* -*- C++ -*- */
+/**
+ * @file ECG_Mcast_EH.h
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan <coryan@uci.edu>
+ * @author Jaiganesh Balasubramanian <jai@doc.ece.uci.edu>
+ *
+ * http://doc.ece.uci.edu/~coryan/EC/index.html
+ *
+ */
+#ifndef TAO_ECG_MCAST_EH_H
+#define TAO_ECG_MCAST_EH_H
+#include "ace/pre.h"
+
+#include "orbsvcs/Event/event_export.h"
+#include "orbsvcs/RtecEventChannelAdminS.h"
+#include "ace/Event_Handler.h"
+#include "ace/Hash_Map_Manager.h"
+#include "ace/Array_Base.h"
+#include "ace/SOCK_Dgram_Mcast.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class TAO_ECG_UDP_Receiver;
+
+/**
+ * @class TAO_ECG_Mcast_EH
+ *
+ * @brief Event Handler for UDP messages.
+ *
+ * This object receives callbacks from the Reactor when data is
+ * available on the mcast socket, it forwards to the UDP_Receive
+ * gateway which reads the events and transform it into an event.
+ */
+class TAO_RTEvent_Export TAO_ECG_Mcast_EH : public ACE_Event_Handler
+{
+public:
+ /**
+ * Constructor, the messages received by this EH are forwarded to
+ * the <recv>.
+ * It is possible to select the NIC where the multicast messages are
+ * expected using <net_if>
+ */
+ TAO_ECG_Mcast_EH (TAO_ECG_UDP_Receiver *recv,
+ const ACE_TCHAR *net_if = 0);
+
+ /// Destructor
+ virtual ~TAO_ECG_Mcast_EH (void);
+
+ /**
+ * Register for changes in the EC subscription list.
+ * When the subscription list becomes non-empty we join the proper
+ * multicast groups (using the receiver to translate between event
+ * types and mcast groups) and the class registers itself with the
+ * reactor.
+ */
+ int open (RtecEventChannelAdmin::EventChannel_ptr ec,
+ CORBA::Environment &env = TAO_default_environment ());
+
+ /**
+ * Remove ourselves from the event channel, unsubscribe from the
+ * multicast groups, close the sockets and unsubscribe from the
+ * reactor.
+ */
+ int close (CORBA::Environment &env = TAO_default_environment ());
+
+ /// Reactor callbacks
+ virtual int handle_input (ACE_HANDLE fd);
+
+ /// The Observer methods
+ void update_consumer (const RtecEventChannelAdmin::ConsumerQOS& sub,
+ CORBA::Environment &env = TAO_default_environment ())
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ void update_supplier (const RtecEventChannelAdmin::SupplierQOS& pub,
+ CORBA::Environment &env = TAO_default_environment ())
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /**
+ * @class Observer
+ *
+ * @brief Observe changes in the EC subscriptions.
+ *
+ * As the subscriptions on the EC change we also change the
+ * mcast groups that we join.
+ * We could use the TIE classes, but they don't work in all
+ * compilers.
+ */
+
+ class Observer : public POA_RtecEventChannelAdmin::Observer
+ {
+ public:
+ /// We report changes in the EC subscriptions to the event
+ /// handler.
+ Observer (TAO_ECG_Mcast_EH* eh);
+
+ // The Observer methods
+ virtual void update_consumer (
+ const RtecEventChannelAdmin::ConsumerQOS& sub,
+ CORBA::Environment &env =
+ TAO_default_environment ())
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ virtual void update_supplier (
+ const RtecEventChannelAdmin::SupplierQOS& pub,
+ CORBA::Environment &env =
+ TAO_default_environment ())
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ private:
+ /// Our callback object.
+ TAO_ECG_Mcast_EH *eh_;
+ };
+
+private:
+ typedef ACE_Unbounded_Set<ACE_INET_Addr> Address_Set;
+
+ /// Compute the list of multicast addresses that we need to be
+ /// subscribed to, in order to receive the events described in the
+ /// ConsumerQOS parameter.
+ /**
+ * @param sub The list of event types that our event channel
+ * consumers are interested into.
+ * @param multicast_addresses Returns the list of multicast
+ * addresses that we need to subscribe to.
+ * @param env Used to raise CORBA exceptions when there is no
+ * support for native C++ exceptions.
+ *
+ * @throw CORBA::SystemException This method needs to perform
+ * several CORBA invocations and propagates any exceptions
+ * back to the caller.
+ */
+
+ void compute_required_subscriptions (
+ const RtecEventChannelAdmin::ConsumerQOS& sub,
+ Address_Set& multicast_addresses,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Delete the list of multicast addresses that we need not
+ /// subscribe to, in order to receive the events described in the
+ /// ConsumerQOS parameter.
+ /**
+ * @param multicast_addresses Returns the list of multicast
+ * addresses that we need to subscribe to.
+ */
+
+ int delete_unwanted_subscriptions (
+ Address_Set& multicast_addresses);
+
+ /// Add the list of new multicast addresses that we need to
+ /// subscribe to, in order to receive the events described in the
+ /// ConsumerQOS parameter.
+ /**
+ * @param multicast_addresses Returns the list of multicast
+ * addresses that we need to subscribe to.
+ */
+
+ void add_new_subscriptions (
+ Address_Set& multicast_addresses);
+
+ /// Subscribe an existing socket to a multicast group.
+ /**
+ * @param multicast_group Returns the multicast
+ * address that we need to subscribe to.
+ */
+ int subscribe_to_existing_socket (ACE_INET_Addr& multicast_group);
+
+ /// Subscribe a new socket to a multicast group.
+ /**
+ * @param multicast_group Returns the multicast
+ * address that we need to subscribe to.
+ */
+ void subscribe_to_new_socket (ACE_INET_Addr& multicast_group);
+
+private:
+ /// The NIC name used to subscribe for multicast traffic.
+ ACE_TCHAR *net_if_;
+
+ /// Define the collection used to keep the iterator
+ typedef ACE_Hash_Map_Manager<ACE_INET_Addr,ACE_SOCK_Dgram_Mcast*,ACE_Null_Mutex> Subscriptions_Map;
+ typedef ACE_Hash_Map_Iterator<ACE_INET_Addr,ACE_SOCK_Dgram_Mcast*,ACE_Null_Mutex> Subscriptions_Iterator;
+
+ /// @@ Please describe this map and its role in the class!
+ Subscriptions_Map subscriptions_;
+
+ /// The datagram used to receive the data.
+ typedef ACE_Array_Base<ACE_SOCK_Dgram_Mcast*> Socket_List;
+ Socket_List sockets_;
+
+ /// We callback to this object when a message arrives.
+ TAO_ECG_UDP_Receiver* receiver_;
+
+ /// This object will call us back when the subscription list
+ /// changes.
+ Observer observer_;
+
+ /// Keep the handle of the observer so we can unregister later.
+ RtecEventChannelAdmin::Observer_Handle handle_;
+
+ /// The Event Channel.
+ RtecEventChannelAdmin::EventChannel_var ec_;
+};
+
+#if defined(__ACE_INLINE__)
+#include "ECG_Mcast_EH.i"
+#endif /* __ACE_INLINE__ */
+
+#include "ace/post.h"
+#endif /* TAO_ECG_Mcast_EH_H */
diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i
new file mode 100644
index 00000000000..cfa1da318d3
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i
@@ -0,0 +1 @@
+// $Id$
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp
index 9c740466376..71636f5eb64 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp
@@ -1048,178 +1048,6 @@ TAO_ECG_UDP_EH::get_handle (void) const
return this->dgram_.get_handle ();
}
-
-// ****************************************************************
-
-TAO_ECG_Mcast_EH::TAO_ECG_Mcast_EH (TAO_ECG_UDP_Receiver *recv,
- const ACE_TCHAR *net_if)
- : net_if_ (net_if?ACE_OS::strdup (net_if):0),
- receiver_ (recv),
- observer_ (this)
-{
-}
-
-TAO_ECG_Mcast_EH::~TAO_ECG_Mcast_EH (void)
-{
- ACE_OS::free (this->net_if_);
-}
-
-int
-TAO_ECG_Mcast_EH::open (RtecEventChannelAdmin::EventChannel_ptr ec,
- CORBA::Environment& ACE_TRY_ENV)
-{
- this->ec_ = RtecEventChannelAdmin::EventChannel::_duplicate (ec);
- RtecEventChannelAdmin::Observer_var obs =
- this->observer_._this (ACE_TRY_ENV);
- ACE_CHECK_RETURN (-1);
-
- this->handle_ = this->ec_->append_observer (obs.in (), ACE_TRY_ENV);
- ACE_CHECK_RETURN (-1);
-
- return 0;
-}
-
-int
-TAO_ECG_Mcast_EH::close (CORBA::Environment& ACE_TRY_ENV)
-{
- if (this->handle_ == 0)
- return 0;
-
- RtecEventChannelAdmin::Observer_Handle h = this->handle_;
- this->handle_ = 0;
- this->ec_->remove_observer (h, ACE_TRY_ENV);
- ACE_CHECK_RETURN (-1);
-
- {
- PortableServer::POA_var poa =
- this->observer_._default_POA (ACE_TRY_ENV);
- ACE_CHECK_RETURN (-1);
- PortableServer::ObjectId_var id =
- poa->servant_to_id (&this->observer_, ACE_TRY_ENV);
- ACE_CHECK_RETURN (-1);
- poa->deactivate_object (id.in (), ACE_TRY_ENV);
- ACE_CHECK_RETURN (-1);
- }
-
- // Ignore the result, the handler could have been removed by a call
- // to update_consumer() or something similar.
- (void) this->reactor ()->remove_handler (this,
- ACE_Event_Handler::READ_MASK);
-
- if (this->dgram_.close () == -1)
- return -1;
-
- return 0;
-}
-
-int
-TAO_ECG_Mcast_EH::handle_input (ACE_HANDLE)
-{
- return this->receiver_->handle_input (this->dgram_);
-}
-
-ACE_HANDLE
-TAO_ECG_Mcast_EH::get_handle (void) const
-{
- return this->dgram_.get_handle ();
-}
-
-int
-TAO_ECG_Mcast_EH::subscribe (const ACE_INET_Addr &mcast_addr)
-{
- return this->dgram_.subscribe (mcast_addr, 1, this->net_if_);
-}
-
-int
-TAO_ECG_Mcast_EH::unsubscribe (const ACE_INET_Addr &mcast_addr)
-{
- return this->dgram_.unsubscribe (mcast_addr, this->net_if_);
-}
-
-void
-TAO_ECG_Mcast_EH::update_consumer (
- const RtecEventChannelAdmin::ConsumerQOS& sub,
- CORBA::Environment& ACE_TRY_ENV)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // ACE_DEBUG ((LM_DEBUG,
- // "ECG_Mcast_EH (%t) updating consumer\n"));
-
- // @@ TODO: If we are more careful we may simply subscribe for the
- // new event types and unsubscribe from the old ones...
- this->reactor ()->remove_handler (this,
- ACE_Event_Handler::READ_MASK);
- this->dgram_.close ();
-
- int must_register = 0;
- for (CORBA::ULong i = 0; i < sub.dependencies.length (); ++i)
- {
- const RtecEventComm::EventHeader& header =
- sub.dependencies[i].event.header;
-
- if (0 <= header.type && header.type < ACE_ES_EVENT_UNDEFINED)
- {
- // ACE_DEBUG ((LM_DEBUG,
- // "ECG_Mcast_EH (%t) type = %d skipped\n",
- // header.type));
- continue;
- }
- must_register = 1;
- RtecUDPAdmin::UDP_Addr addr;
-
- this->receiver_->get_addr (header, addr, ACE_TRY_ENV);
- ACE_CHECK;
-
- ACE_INET_Addr inet_addr (addr.port, addr.ipaddr);
- if (this->subscribe (inet_addr) == -1)
- ACE_ERROR ((LM_ERROR,
- "cannot subscribe to %s:%d\n",
- inet_addr.get_host_addr (),
- inet_addr.get_port_number ()));
- // ACE_DEBUG ((LM_DEBUG,
- // "ECG_Mcast_EH (%t) subscribed to %s:%d\n",
- // inet_addr.get_host_addr (),
- // inet_addr.get_port_number ()));
- }
-
- if (must_register)
- this->reactor ()->register_handler (this,
- ACE_Event_Handler::READ_MASK);
-}
-
-void
-TAO_ECG_Mcast_EH::update_supplier (const RtecEventChannelAdmin::SupplierQOS&,
- CORBA::Environment&)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- // Do nothing
-}
-
-// ****************************************************************
-
-TAO_ECG_Mcast_EH::Observer::Observer (TAO_ECG_Mcast_EH* eh)
- : eh_ (eh)
-{
-}
-
-void
-TAO_ECG_Mcast_EH::Observer::update_consumer (
- const RtecEventChannelAdmin::ConsumerQOS& sub,
- CORBA::Environment& ACE_TRY_ENV)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->eh_->update_consumer (sub, ACE_TRY_ENV);
-}
-
-void
-TAO_ECG_Mcast_EH::Observer::update_supplier (
- const RtecEventChannelAdmin::SupplierQOS& pub,
- CORBA::Environment& ACE_TRY_ENV)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- this->eh_->update_supplier (pub, ACE_TRY_ENV);
-}
-
// ****************************************************************
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h
index 3631b5e24ad..31fbd7762fa 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h
@@ -556,128 +556,6 @@ private:
TAO_ECG_UDP_Receiver* receiver_;
};
-// ****************************************************************
-
-/**
- * @class TAO_ECG_Mcast_EH
- *
- * @brief Event Handler for UDP messages.
- *
- * This object receives callbacks from the Reactor when data is
- * available on the mcast socket, it forwards to the UDP_Receive
- * gateway which reads the events and transform it into an event.
- */
-class TAO_RTEvent_Export TAO_ECG_Mcast_EH : public ACE_Event_Handler
-{
-public:
- /**
- * Constructor, the messages received by this EH are forwarded to
- * the <recv>.
- * It is possible to select the NIC where the multicast messages are
- * expected using <net_if>
- */
- TAO_ECG_Mcast_EH (TAO_ECG_UDP_Receiver *recv,
- const ACE_TCHAR *net_if = 0);
-
- /// Destructor
- virtual ~TAO_ECG_Mcast_EH (void);
-
- /**
- * Register for changes in the EC subscription list.
- * When the subscription list becomes non-empty we join the proper
- * multicast groups (using the receiver to translate between event
- * types and mcast groups) and the class registers itself with the
- * reactor.
- */
- int open (RtecEventChannelAdmin::EventChannel_ptr ec,
- CORBA::Environment &env = TAO_default_environment ());
-
- /**
- * Remove ourselves from the event channel, unsubscribe from the
- * multicast groups, close the sockets and unsubscribe from the
- * reactor.
- */
- int close (CORBA::Environment &env = TAO_default_environment ());
-
- /**
- * Obtain the dgram, this is one of those "controlled violations of
- * type safety", allowing the user to setup options and gain access
- * to low-level features.
- */
- ACE_SOCK_Dgram &dgram (void);
-
- /// Reactor callbacks
- virtual int handle_input (ACE_HANDLE fd);
- virtual ACE_HANDLE get_handle (void) const;
-
- /// The Observer methods
- void update_consumer (const RtecEventChannelAdmin::ConsumerQOS& sub,
- CORBA::Environment &env = TAO_default_environment ())
- ACE_THROW_SPEC ((CORBA::SystemException));
- void update_supplier (const RtecEventChannelAdmin::SupplierQOS& pub,
- CORBA::Environment &env = TAO_default_environment ())
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- /**
- * @class Observer
- *
- * @brief Observe changes in the EC subscriptions.
- *
- * As the subscriptions on the EC change we also change the
- * mcast groups that we join.
- * We could use the TIE classes, but they don't work in all
- * compilers.
- */
- class Observer : public POA_RtecEventChannelAdmin::Observer
- {
- public:
- /// We report changes in the EC subscriptions to the event
- /// handler.
- Observer (TAO_ECG_Mcast_EH* eh);
-
- // The Observer methods
- virtual void update_consumer (
- const RtecEventChannelAdmin::ConsumerQOS& sub,
- CORBA::Environment &env =
- TAO_default_environment ())
- ACE_THROW_SPEC ((CORBA::SystemException));
- virtual void update_supplier (
- const RtecEventChannelAdmin::SupplierQOS& pub,
- CORBA::Environment &env =
- TAO_default_environment ())
- ACE_THROW_SPEC ((CORBA::SystemException));
-
- private:
- /// Our callback object.
- TAO_ECG_Mcast_EH *eh_;
- };
-
-private:
- /// Control the multicast group subscriptions
- int subscribe (const ACE_INET_Addr &mcast_addr);
- int unsubscribe (const ACE_INET_Addr &mcast_addr);
-
-private:
- /// The NIC name used to subscribe for multicast traffic.
- ACE_TCHAR *net_if_;
-
- /// The datagram used to receive the data.
- ACE_SOCK_Dgram_Mcast dgram_;
-
- /// We callback to this object when a message arrives.
- TAO_ECG_UDP_Receiver* receiver_;
-
- /// This object will call us back when the subscription list
- /// changes.
- Observer observer_;
-
- /// Keep the handle of the observer so we can unregister later.
- RtecEventChannelAdmin::Observer_Handle handle_;
-
- /// The Event Channel.
- RtecEventChannelAdmin::EventChannel_var ec_;
-};
-
#if defined(__ACE_INLINE__)
#include "EC_Gateway_UDP.i"
#endif /* __ACE_INLINE__ */
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i
index cea0934a93c..c9c8279f64d 100644
--- a/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i
@@ -94,11 +94,3 @@ TAO_ECG_UDP_EH::dgram (void)
{
return this->dgram_;
}
-
-// ****************************************************************
-
-ACE_INLINE ACE_SOCK_Dgram&
-TAO_ECG_Mcast_EH::dgram (void)
-{
- return this->dgram_;
-}
diff --git a/TAO/orbsvcs/orbsvcs/Event/Makefile.am b/TAO/orbsvcs/orbsvcs/Event/Makefile.am
index c3d26dff635..457d9ae3524 100644
--- a/TAO/orbsvcs/orbsvcs/Event/Makefile.am
+++ b/TAO/orbsvcs/orbsvcs/Event/Makefile.am
@@ -37,6 +37,7 @@ libTAO_Event_la_SOURCES = \
EC_Filter_Builder.cpp \
EC_Gateway.cpp \
EC_Gateway_UDP.cpp \
+ ECG_Mcast_EH.cpp \
EC_Null_Factory.cpp \
EC_ObserverStrategy.cpp \
EC_Per_Supplier_Filter.cpp \
diff --git a/TAO/orbsvcs/orbsvcs/Makefile.RTEvent b/TAO/orbsvcs/orbsvcs/Makefile.RTEvent
index 27b8e05fe91..9818952c357 100644
--- a/TAO/orbsvcs/orbsvcs/Makefile.RTEvent
+++ b/TAO/orbsvcs/orbsvcs/Makefile.RTEvent
@@ -85,6 +85,7 @@ CPP_SRCS += \
Event_Utilities \
Event/EC_Gateway \
Event/EC_Gateway_UDP \
+ Event/ECG_Mcast_EH \
Event/EC_UDP_Admin \
IDL_SRC = \
@@ -135,8 +136,7 @@ realclean: clean
.obj/EC_Event_Channel.o .obj/EC_Event_Channel.so .shobj/EC_Event_Channel.o .shobj/EC_Event_Channel.so: Event/EC_Event_Channel.cpp \
Event/EC_Event_Channel.h \
- $(ACE_ROOT)/ace/pre.h \
- Event/EC_Factory.h \
+ $(ACE_ROOT)/ace/pre.h Event/EC_Factory.h \
Event/event_export.h \
$(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
@@ -336,7 +336,6 @@ realclean: clean
$(TAO_ROOT)/tao/TimeBaseS_T.cpp \
$(TAO_ROOT)/tao/TimeBaseS.i \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
@@ -641,7 +640,7 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- svc_utils_export.h \
+ Event/event_export.h \
TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
@@ -660,7 +659,6 @@ realclean: clean
TimeBaseS.i \
RtecDefaultEventDataS.h \
RtecDefaultEventDataC.h \
- Event/event_export.h \
RtecDefaultEventDataC.i \
RtecDefaultEventDataS_T.h \
RtecDefaultEventDataS_T.i \
@@ -912,7 +910,7 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- svc_utils_export.h \
+ Event/event_export.h \
TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
@@ -931,7 +929,6 @@ realclean: clean
TimeBaseS.i \
RtecDefaultEventDataS.h \
RtecDefaultEventDataC.h \
- Event/event_export.h \
RtecDefaultEventDataC.i \
RtecDefaultEventDataS_T.h \
RtecDefaultEventDataS_T.i \
@@ -1182,7 +1179,7 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- svc_utils_export.h \
+ Event/event_export.h \
TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
@@ -1201,7 +1198,6 @@ realclean: clean
TimeBaseS.i \
RtecDefaultEventDataS.h \
RtecDefaultEventDataC.h \
- Event/event_export.h \
RtecDefaultEventDataC.i \
RtecDefaultEventDataS_T.h \
RtecDefaultEventDataS_T.i \
@@ -1437,7 +1433,7 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- svc_utils_export.h \
+ Event/event_export.h \
TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
@@ -1456,7 +1452,6 @@ realclean: clean
TimeBaseS.i \
RtecDefaultEventDataS.h \
RtecDefaultEventDataC.h \
- Event/event_export.h \
RtecDefaultEventDataC.i \
RtecDefaultEventDataS_T.h \
RtecDefaultEventDataS_T.i \
@@ -1691,7 +1686,6 @@ realclean: clean
$(TAO_ROOT)/tao/PortableInterceptorC.i \
Event/event_export.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -1941,7 +1935,6 @@ realclean: clean
Event/event_export.h \
RtecEventCommC.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -2142,7 +2135,6 @@ realclean: clean
$(TAO_ROOT)/tao/PortableInterceptorC.i \
Event/event_export.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -2416,7 +2408,6 @@ realclean: clean
$(TAO_ROOT)/tao/PortableInterceptorC.i \
Event/event_export.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -2614,7 +2605,6 @@ realclean: clean
Event/event_export.h \
RtecEventCommC.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -2814,7 +2804,6 @@ realclean: clean
$(TAO_ROOT)/tao/PortableInterceptorC.i \
Event/event_export.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -3253,13 +3242,12 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- svc_utils_export.h \
+ Event/event_export.h \
RtecBaseC.i \
Event/event_export.h Event/EC_QOS_Info.i
.obj/EC_Null_Factory.o .obj/EC_Null_Factory.so .shobj/EC_Null_Factory.o .shobj/EC_Null_Factory.so: Event/EC_Null_Factory.cpp Event/EC_Null_Factory.h \
- $(ACE_ROOT)/ace/pre.h \
- Event/EC_Factory.h \
+ $(ACE_ROOT)/ace/pre.h Event/EC_Factory.h \
Event/event_export.h \
$(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
@@ -3452,7 +3440,6 @@ realclean: clean
Event/EC_Factory.i Event/EC_Null_Factory.i Event/EC_Dispatching.h \
RtecEventCommC.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -3611,6 +3598,8 @@ realclean: clean
$(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
$(TAO_ROOT)/tao/Interceptor_List.h \
$(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/PICurrent.inl \
$(TAO_ROOT)/tao/Protocols_Hooks.h \
$(ACE_ROOT)/ace/Hash_Map_Manager.h \
$(ACE_ROOT)/ace/Thread_Manager.h \
@@ -3622,8 +3611,7 @@ realclean: clean
.obj/EC_Disjunction_Filter.o .obj/EC_Disjunction_Filter.so .shobj/EC_Disjunction_Filter.o .shobj/EC_Disjunction_Filter.so: Event/EC_Disjunction_Filter.cpp \
Event/EC_Disjunction_Filter.h \
- $(ACE_ROOT)/ace/pre.h \
- Event/EC_Filter.h \
+ $(ACE_ROOT)/ace/pre.h Event/EC_Filter.h \
RtecEventCommC.h \
$(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/post.h \
@@ -3811,7 +3799,6 @@ realclean: clean
$(TAO_ROOT)/tao/PortableInterceptorC.i \
Event/event_export.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -3820,8 +3807,7 @@ realclean: clean
.obj/EC_Conjunction_Filter.o .obj/EC_Conjunction_Filter.so .shobj/EC_Conjunction_Filter.o .shobj/EC_Conjunction_Filter.so: Event/EC_Conjunction_Filter.cpp \
Event/EC_Conjunction_Filter.h \
- $(ACE_ROOT)/ace/pre.h \
- Event/EC_Filter.h \
+ $(ACE_ROOT)/ace/pre.h Event/EC_Filter.h \
RtecEventCommC.h \
$(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/post.h \
@@ -4009,7 +3995,6 @@ realclean: clean
$(TAO_ROOT)/tao/PortableInterceptorC.i \
Event/event_export.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -4018,8 +4003,7 @@ realclean: clean
.obj/EC_Negation_Filter.o .obj/EC_Negation_Filter.so .shobj/EC_Negation_Filter.o .shobj/EC_Negation_Filter.so: Event/EC_Negation_Filter.cpp \
Event/EC_Negation_Filter.h \
- $(ACE_ROOT)/ace/pre.h \
- Event/EC_Filter.h \
+ $(ACE_ROOT)/ace/pre.h Event/EC_Filter.h \
RtecEventCommC.h \
$(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/post.h \
@@ -4207,7 +4191,6 @@ realclean: clean
$(TAO_ROOT)/tao/PortableInterceptorC.i \
Event/event_export.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -4215,8 +4198,7 @@ realclean: clean
Event/event_export.h Event/EC_Filter.i Event/EC_Negation_Filter.i
.obj/EC_Type_Filter.o .obj/EC_Type_Filter.so .shobj/EC_Type_Filter.o .shobj/EC_Type_Filter.so: Event/EC_Type_Filter.cpp Event/EC_Type_Filter.h \
- $(ACE_ROOT)/ace/pre.h \
- Event/EC_Filter.h \
+ $(ACE_ROOT)/ace/pre.h Event/EC_Filter.h \
RtecEventCommC.h \
$(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/post.h \
@@ -4404,7 +4386,6 @@ realclean: clean
$(TAO_ROOT)/tao/PortableInterceptorC.i \
Event/event_export.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -4600,12 +4581,12 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- svc_utils_export.h \
+ Event/event_export.h \
TimeBaseC.i \
+ svc_utils_export.h \
Time_Utilities.i \
Event/EC_Basic_Filter_Builder.h Event/EC_Filter_Builder.h \
RtecEventChannelAdminC.h \
- Event/event_export.h \
RtecEventCommC.h \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -4627,8 +4608,7 @@ realclean: clean
.obj/EC_Basic_Factory.o .obj/EC_Basic_Factory.so .shobj/EC_Basic_Factory.o .shobj/EC_Basic_Factory.so: Event/EC_Basic_Factory.cpp \
Event/EC_Basic_Factory.h \
- $(ACE_ROOT)/ace/pre.h \
- Event/EC_Factory.h \
+ $(ACE_ROOT)/ace/pre.h Event/EC_Factory.h \
Event/event_export.h \
$(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
@@ -4821,7 +4801,6 @@ realclean: clean
Event/EC_Factory.i Event/EC_Basic_Factory.i Event/EC_Dispatching.h \
RtecEventCommC.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -4990,6 +4969,8 @@ realclean: clean
$(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
$(TAO_ROOT)/tao/Interceptor_List.h \
$(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/PICurrent.inl \
$(TAO_ROOT)/tao/Protocols_Hooks.h \
$(ACE_ROOT)/ace/Hash_Map_Manager.h \
$(ACE_ROOT)/ace/Thread_Manager.h \
@@ -5001,8 +4982,7 @@ realclean: clean
.obj/EC_Default_Factory.o .obj/EC_Default_Factory.so .shobj/EC_Default_Factory.o .shobj/EC_Default_Factory.so: Event/EC_Default_Factory.cpp \
Event/EC_Default_Factory.h \
- $(ACE_ROOT)/ace/pre.h \
- Event/EC_Factory.h \
+ $(ACE_ROOT)/ace/pre.h Event/EC_Factory.h \
Event/event_export.h \
$(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
@@ -5212,7 +5192,6 @@ realclean: clean
Event/EC_Dispatching.h \
RtecEventCommC.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -5419,6 +5398,8 @@ realclean: clean
$(TAO_ROOT)/tao/Object_Ref_Table.h \
$(TAO_ROOT)/tao/Interceptor_List.h \
$(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/PICurrent.inl \
$(TAO_ROOT)/tao/Protocols_Hooks.h \
$(TAO_ROOT)/tao/ORB_Core.i \
$(ACE_ROOT)/ace/Arg_Shifter.h \
@@ -5649,7 +5630,6 @@ realclean: clean
Event/event_export.h \
RtecEventCommC.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -5725,6 +5705,7 @@ realclean: clean
Event/EC_SupplierAdmin.i \
Event_Service_Constants.h \
Time_Utilities.h \
+ svc_utils_export.h \
Time_Utilities.i \
$(ACE_ROOT)/ace/Auto_Ptr.h \
$(ACE_ROOT)/ace/Auto_Ptr.i \
@@ -5921,7 +5902,6 @@ realclean: clean
$(TAO_ROOT)/tao/PortableInterceptorC.i \
Event/event_export.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -5995,12 +5975,12 @@ realclean: clean
ESF/ESF_Proxy_Collection.cpp \
Event_Service_Constants.h \
Time_Utilities.h \
+ svc_utils_export.h \
Time_Utilities.i
.obj/EC_Timeout_Filter.o .obj/EC_Timeout_Filter.so .shobj/EC_Timeout_Filter.o .shobj/EC_Timeout_Filter.so: Event/EC_Timeout_Filter.cpp \
Event/EC_Timeout_Filter.h \
- $(ACE_ROOT)/ace/pre.h \
- Event/EC_Filter.h \
+ $(ACE_ROOT)/ace/pre.h Event/EC_Filter.h \
RtecEventCommC.h \
$(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/post.h \
@@ -6188,7 +6168,6 @@ realclean: clean
$(TAO_ROOT)/tao/PortableInterceptorC.i \
Event/event_export.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -6251,6 +6230,7 @@ realclean: clean
Event/EC_Filter.h \
Event/EC_ProxySupplier.i \
Time_Utilities.h \
+ svc_utils_export.h \
Time_Utilities.i \
Event_Service_Constants.h
@@ -6445,7 +6425,6 @@ realclean: clean
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -6457,6 +6436,7 @@ realclean: clean
Event/EC_Timeout_Generator.i \
Event_Service_Constants.h \
Time_Utilities.h \
+ svc_utils_export.h \
Time_Utilities.i
.obj/EC_Reactive_Timeout_Generator.o .obj/EC_Reactive_Timeout_Generator.so .shobj/EC_Reactive_Timeout_Generator.o .shobj/EC_Reactive_Timeout_Generator.so: \
@@ -6652,7 +6632,6 @@ realclean: clean
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -6677,8 +6656,7 @@ realclean: clean
.obj/EC_MT_Dispatching.o .obj/EC_MT_Dispatching.so .shobj/EC_MT_Dispatching.o .shobj/EC_MT_Dispatching.so: Event/EC_MT_Dispatching.cpp \
Event/EC_MT_Dispatching.h \
- $(ACE_ROOT)/ace/pre.h \
- Event/EC_Dispatching.h \
+ $(ACE_ROOT)/ace/pre.h Event/EC_Dispatching.h \
RtecEventCommC.h \
$(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/post.h \
@@ -6866,7 +6844,6 @@ realclean: clean
$(TAO_ROOT)/tao/PortableInterceptorC.i \
Event/event_export.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -7192,7 +7169,7 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- svc_utils_export.h \
+ Event/event_export.h \
TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
@@ -7211,7 +7188,6 @@ realclean: clean
TimeBaseS.i \
RtecDefaultEventDataS.h \
RtecDefaultEventDataC.h \
- Event/event_export.h \
RtecDefaultEventDataC.i \
RtecDefaultEventDataS_T.h \
RtecDefaultEventDataS_T.i \
@@ -7501,10 +7477,9 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- svc_utils_export.h \
+ Event/event_export.h \
RtecBaseC.i \
RtecEventCommC.h \
- Event/event_export.h \
TimeBaseC.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
@@ -7702,10 +7677,9 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- svc_utils_export.h \
+ Event/event_export.h \
RtecBaseC.i \
RtecEventCommC.h \
- Event/event_export.h \
TimeBaseC.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
@@ -8303,7 +8277,6 @@ realclean: clean
$(TAO_ROOT)/tao/TimeBaseS_T.cpp \
$(TAO_ROOT)/tao/TimeBaseS.i \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
@@ -8424,6 +8397,8 @@ realclean: clean
$(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
$(TAO_ROOT)/tao/Interceptor_List.h \
$(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/PICurrent.inl \
$(TAO_ROOT)/tao/Protocols_Hooks.h \
$(ACE_ROOT)/ace/Hash_Map_Manager.h \
$(ACE_ROOT)/ace/Thread_Manager.h \
@@ -8647,7 +8622,6 @@ realclean: clean
$(TAO_ROOT)/tao/TimeBaseS_T.cpp \
$(TAO_ROOT)/tao/TimeBaseS.i \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
@@ -8768,6 +8742,8 @@ realclean: clean
$(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
$(TAO_ROOT)/tao/Interceptor_List.h \
$(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/PICurrent.inl \
$(TAO_ROOT)/tao/Protocols_Hooks.h \
$(ACE_ROOT)/ace/Hash_Map_Manager.h \
$(ACE_ROOT)/ace/Thread_Manager.h \
@@ -8784,8 +8760,7 @@ realclean: clean
.obj/EC_Bitmask_Filter.o .obj/EC_Bitmask_Filter.so .shobj/EC_Bitmask_Filter.o .shobj/EC_Bitmask_Filter.so: Event/EC_Bitmask_Filter.cpp \
Event/EC_Bitmask_Filter.h \
- $(ACE_ROOT)/ace/pre.h \
- Event/EC_Filter.h \
+ $(ACE_ROOT)/ace/pre.h Event/EC_Filter.h \
RtecEventCommC.h \
$(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/post.h \
@@ -8973,7 +8948,6 @@ realclean: clean
$(TAO_ROOT)/tao/PortableInterceptorC.i \
Event/event_export.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -8982,8 +8956,7 @@ realclean: clean
.obj/EC_Masked_Type_Filter.o .obj/EC_Masked_Type_Filter.so .shobj/EC_Masked_Type_Filter.o .shobj/EC_Masked_Type_Filter.so: Event/EC_Masked_Type_Filter.cpp \
Event/EC_Masked_Type_Filter.h \
- $(ACE_ROOT)/ace/pre.h \
- Event/EC_Filter.h \
+ $(ACE_ROOT)/ace/pre.h Event/EC_Filter.h \
RtecEventCommC.h \
$(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/post.h \
@@ -9171,7 +9144,6 @@ realclean: clean
$(TAO_ROOT)/tao/PortableInterceptorC.i \
Event/event_export.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -9367,12 +9339,12 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- svc_utils_export.h \
+ Event/event_export.h \
TimeBaseC.i \
+ svc_utils_export.h \
Time_Utilities.i \
Event/EC_Prefix_Filter_Builder.h Event/EC_Filter_Builder.h \
RtecEventChannelAdminC.h \
- Event/event_export.h \
RtecEventCommC.h \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -9393,8 +9365,7 @@ realclean: clean
Event/EC_Timeout_Filter.i
.obj/EC_And_Filter.o .obj/EC_And_Filter.so .shobj/EC_And_Filter.o .shobj/EC_And_Filter.so: Event/EC_And_Filter.cpp Event/EC_And_Filter.h \
- $(ACE_ROOT)/ace/pre.h \
- Event/EC_Filter.h \
+ $(ACE_ROOT)/ace/pre.h Event/EC_Filter.h \
RtecEventCommC.h \
$(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/post.h \
@@ -9582,7 +9553,6 @@ realclean: clean
$(TAO_ROOT)/tao/PortableInterceptorC.i \
Event/event_export.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -9780,7 +9750,6 @@ realclean: clean
Event/event_export.h \
RtecEventCommC.h \
TimeBaseC.h \
- svc_utils_export.h \
TimeBaseC.i \
RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i \
@@ -9790,6 +9759,7 @@ realclean: clean
RtecEventChannelAdminC.i \
Event_Service_Constants.h \
Time_Utilities.h \
+ svc_utils_export.h \
Time_Utilities.i \
Event_Utilities.i
@@ -9990,7 +9960,6 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- svc_utils_export.h \
TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
@@ -10062,6 +10031,7 @@ realclean: clean
Event_Utilities.h \
Event_Service_Constants.h \
Time_Utilities.h \
+ svc_utils_export.h \
Time_Utilities.i \
Event_Utilities.i
@@ -10261,7 +10231,7 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- svc_utils_export.h \
+ Event/event_export.h \
TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
@@ -10280,7 +10250,6 @@ realclean: clean
TimeBaseS.i \
RtecDefaultEventDataS.h \
RtecDefaultEventDataC.h \
- Event/event_export.h \
RtecDefaultEventDataC.i \
RtecDefaultEventDataS_T.h \
RtecDefaultEventDataS_T.i \
@@ -10360,9 +10329,311 @@ realclean: clean
Event_Utilities.h \
Event_Service_Constants.h \
Time_Utilities.h \
+ svc_utils_export.h \
Time_Utilities.i \
Event_Utilities.i
+.obj/ECG_Mcast_EH.o .obj/ECG_Mcast_EH.so .shobj/ECG_Mcast_EH.o .shobj/ECG_Mcast_EH.so: Event/ECG_Mcast_EH.cpp \
+ Event/ECG_Mcast_EH.h \
+ $(ACE_ROOT)/ace/pre.h \
+ Event/event_export.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ RtecEventChannelAdminS.h \
+ RtecEventCommS.h \
+ TimeBaseS.h \
+ $(TAO_ROOT)/tao/TimeBaseS.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/try_macros.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/Object_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SString.i \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \
+ $(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.inl \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/TimeBaseS_T.h \
+ $(TAO_ROOT)/tao/TimeBaseS_T.i \
+ $(TAO_ROOT)/tao/TimeBaseS_T.cpp \
+ $(TAO_ROOT)/tao/TimeBaseS.i \
+ TimeBaseC.h \
+ $(TAO_ROOT)/tao/corba.h \
+ $(TAO_ROOT)/tao/NVList.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/NVList.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/Principal.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/Principal.i \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Services.h \
+ $(TAO_ROOT)/tao/Services.i \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/BoundsC.h \
+ $(TAO_ROOT)/tao/BoundsC.i \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
+ $(TAO_ROOT)/tao/DomainC.h \
+ $(TAO_ROOT)/tao/DomainC.i \
+ $(TAO_ROOT)/tao/WrongTransactionC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/ObjectIDList.h \
+ $(TAO_ROOT)/tao/ObjectIDList.i \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
+ $(TAO_ROOT)/tao/MessagingC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ TimeBaseC.i \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.i \
+ $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \
+ TimeBaseS_T.h \
+ TimeBaseS_T.i \
+ TimeBaseS_T.cpp \
+ TimeBaseS.i \
+ RtecDefaultEventDataS.h \
+ RtecDefaultEventDataC.h \
+ RtecDefaultEventDataC.i \
+ RtecDefaultEventDataS_T.h \
+ RtecDefaultEventDataS_T.i \
+ RtecDefaultEventDataS_T.cpp \
+ RtecDefaultEventDataS.i \
+ RtecEventCommC.h \
+ RtecEventCommC.i \
+ RtecEventCommS_T.h \
+ RtecEventCommS_T.i \
+ RtecEventCommS_T.cpp \
+ RtecEventCommS.i \
+ RtecBaseS.h \
+ RtecBaseC.h \
+ RtecBaseC.i \
+ RtecBaseS_T.h \
+ RtecBaseS_T.i \
+ RtecBaseS_T.cpp \
+ RtecBaseS.i \
+ RtecEventChannelAdminC.h \
+ RtecEventChannelAdminC.i \
+ RtecEventChannelAdminS_T.h \
+ RtecEventChannelAdminS_T.i \
+ RtecEventChannelAdminS_T.cpp \
+ RtecEventChannelAdminS.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.h \
+ $(ACE_ROOT)/ace/SOCK_Dgram.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.i \
+ Event/ECG_Mcast_EH.i \
+ Event/EC_Gateway_UDP.h \
+ RtecUDPAdminS.h \
+ RtecUDPAdminC.h \
+ RtecUDPAdminC.i \
+ RtecUDPAdminS_T.h \
+ RtecUDPAdminS_T.i \
+ RtecUDPAdminS_T.cpp \
+ RtecUDPAdminS.i \
+ $(ACE_ROOT)/ace/SOCK_CODgram.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/SOCK_CODgram.i \
+ Event/EC_Gateway_UDP.i \
+ Event_Service_Constants.h \
+ Time_Utilities.h \
+ svc_utils_export.h \
+ Time_Utilities.i
+
.obj/EC_UDP_Admin.o .obj/EC_UDP_Admin.so .shobj/EC_UDP_Admin.o .shobj/EC_UDP_Admin.so: Event/EC_UDP_Admin.cpp \
Event/EC_UDP_Admin.h \
$(ACE_ROOT)/ace/pre.h \
@@ -10559,7 +10830,7 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- svc_utils_export.h \
+ Event/event_export.h \
TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
@@ -10578,7 +10849,6 @@ realclean: clean
TimeBaseS.i \
RtecDefaultEventDataS.h \
RtecDefaultEventDataC.h \
- Event/event_export.h \
RtecDefaultEventDataC.i \
RtecDefaultEventDataS_T.h \
RtecDefaultEventDataS_T.i \
@@ -10598,8 +10868,7 @@ realclean: clean
RtecUDPAdminS.i
.obj/RtecDefaultEventDataS.o .obj/RtecDefaultEventDataS.so .shobj/RtecDefaultEventDataS.o .shobj/RtecDefaultEventDataS.so: RtecDefaultEventDataS.cpp \
- RtecDefaultEventDataS.h \
- $(ACE_ROOT)/ace/pre.h \
+ RtecDefaultEventDataS.h $(ACE_ROOT)/ace/pre.h \
RtecDefaultEventDataC.h \
$(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/post.h \
@@ -10869,6 +11138,11 @@ realclean: clean
$(TAO_ROOT)/tao/Tagged_Profile.i \
$(TAO_ROOT)/tao/Service_Context.h \
$(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PICurrent.inl \
$(TAO_ROOT)/tao/TAO_Server_Request.i \
$(TAO_ROOT)/tao/ORB_Core.h \
$(TAO_ROOT)/tao/Policy_Manager.h \
@@ -10888,9 +11162,6 @@ realclean: clean
$(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
$(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
$(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
$(TAO_ROOT)/tao/Object_Ref_Table.h \
$(TAO_ROOT)/tao/Interceptor_List.h \
@@ -10932,8 +11203,7 @@ realclean: clean
$(ACE_ROOT)/ace/Dynamic_Service.cpp
.obj/RtecEventCommS.o .obj/RtecEventCommS.so .shobj/RtecEventCommS.o .shobj/RtecEventCommS.so: RtecEventCommS.cpp RtecEventCommS.h \
- $(ACE_ROOT)/ace/pre.h \
- TimeBaseS.h \
+ $(ACE_ROOT)/ace/pre.h TimeBaseS.h \
$(TAO_ROOT)/tao/TimeBaseS.h \
$(TAO_ROOT)/tao/TimeBaseC.h \
$(TAO_ROOT)/tao/corbafwd.h \
@@ -11066,8 +11336,7 @@ realclean: clean
$(TAO_ROOT)/tao/TimeBaseS_T.h \
$(TAO_ROOT)/tao/TimeBaseS_T.i \
$(TAO_ROOT)/tao/TimeBaseS_T.cpp \
- $(TAO_ROOT)/tao/TimeBaseS.i \
- TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseS.i TimeBaseC.h \
$(TAO_ROOT)/tao/corba.h \
$(TAO_ROOT)/tao/NVList.h \
$(ACE_ROOT)/ace/Unbounded_Queue.h \
@@ -11124,7 +11393,7 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- svc_utils_export.h TimeBaseC.i \
+ Event/event_export.h TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
$(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
@@ -11137,7 +11406,7 @@ realclean: clean
$(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \
$(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \
TimeBaseS_T.h TimeBaseS_T.i TimeBaseS_T.cpp TimeBaseS.i \
- RtecDefaultEventDataS.h RtecDefaultEventDataC.h Event/event_export.h \
+ RtecDefaultEventDataS.h RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i RtecDefaultEventDataS_T.h \
RtecDefaultEventDataS_T.i RtecDefaultEventDataS_T.cpp \
RtecDefaultEventDataS.i RtecEventCommC.h RtecEventCommC.i \
@@ -11213,6 +11482,11 @@ realclean: clean
$(TAO_ROOT)/tao/Tagged_Profile.i \
$(TAO_ROOT)/tao/Service_Context.h \
$(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PICurrent.inl \
$(TAO_ROOT)/tao/TAO_Server_Request.i \
$(TAO_ROOT)/tao/ORB_Core.h \
$(TAO_ROOT)/tao/Policy_Manager.h \
@@ -11232,9 +11506,6 @@ realclean: clean
$(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
$(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
$(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
$(TAO_ROOT)/tao/Object_Ref_Table.h \
$(TAO_ROOT)/tao/Interceptor_List.h \
@@ -11277,9 +11548,8 @@ realclean: clean
.obj/RtecEventChannelAdminS.o .obj/RtecEventChannelAdminS.so .shobj/RtecEventChannelAdminS.o .shobj/RtecEventChannelAdminS.so: RtecEventChannelAdminS.cpp \
RtecEventChannelAdminS.h \
- $(ACE_ROOT)/ace/pre.h \
- RtecEventCommS.h TimeBaseS.h \
- $(TAO_ROOT)/tao/TimeBaseS.h \
+ $(ACE_ROOT)/ace/pre.h RtecEventCommS.h \
+ TimeBaseS.h $(TAO_ROOT)/tao/TimeBaseS.h \
$(TAO_ROOT)/tao/TimeBaseC.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
@@ -11411,8 +11681,7 @@ realclean: clean
$(TAO_ROOT)/tao/TimeBaseS_T.h \
$(TAO_ROOT)/tao/TimeBaseS_T.i \
$(TAO_ROOT)/tao/TimeBaseS_T.cpp \
- $(TAO_ROOT)/tao/TimeBaseS.i \
- TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseS.i TimeBaseC.h \
$(TAO_ROOT)/tao/corba.h \
$(TAO_ROOT)/tao/NVList.h \
$(ACE_ROOT)/ace/Unbounded_Queue.h \
@@ -11469,7 +11738,7 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- svc_utils_export.h TimeBaseC.i \
+ Event/event_export.h TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
$(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
@@ -11482,7 +11751,7 @@ realclean: clean
$(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \
$(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \
TimeBaseS_T.h TimeBaseS_T.i TimeBaseS_T.cpp TimeBaseS.i \
- RtecDefaultEventDataS.h RtecDefaultEventDataC.h Event/event_export.h \
+ RtecDefaultEventDataS.h RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i RtecDefaultEventDataS_T.h \
RtecDefaultEventDataS_T.i RtecDefaultEventDataS_T.cpp \
RtecDefaultEventDataS.i RtecEventCommC.h RtecEventCommC.i \
@@ -11562,6 +11831,11 @@ realclean: clean
$(TAO_ROOT)/tao/Tagged_Profile.i \
$(TAO_ROOT)/tao/Service_Context.h \
$(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PICurrent.inl \
$(TAO_ROOT)/tao/TAO_Server_Request.i \
$(TAO_ROOT)/tao/ORB_Core.h \
$(TAO_ROOT)/tao/Policy_Manager.h \
@@ -11581,9 +11855,6 @@ realclean: clean
$(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
$(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
$(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
$(TAO_ROOT)/tao/Object_Ref_Table.h \
$(TAO_ROOT)/tao/Interceptor_List.h \
@@ -11625,9 +11896,8 @@ realclean: clean
$(ACE_ROOT)/ace/Dynamic_Service.cpp
.obj/RtecUDPAdminS.o .obj/RtecUDPAdminS.so .shobj/RtecUDPAdminS.o .shobj/RtecUDPAdminS.so: RtecUDPAdminS.cpp RtecUDPAdminS.h \
- $(ACE_ROOT)/ace/pre.h \
- RtecEventCommS.h TimeBaseS.h \
- $(TAO_ROOT)/tao/TimeBaseS.h \
+ $(ACE_ROOT)/ace/pre.h RtecEventCommS.h \
+ TimeBaseS.h $(TAO_ROOT)/tao/TimeBaseS.h \
$(TAO_ROOT)/tao/TimeBaseC.h \
$(TAO_ROOT)/tao/corbafwd.h \
$(ACE_ROOT)/ace/CDR_Base.h \
@@ -11759,8 +12029,7 @@ realclean: clean
$(TAO_ROOT)/tao/TimeBaseS_T.h \
$(TAO_ROOT)/tao/TimeBaseS_T.i \
$(TAO_ROOT)/tao/TimeBaseS_T.cpp \
- $(TAO_ROOT)/tao/TimeBaseS.i \
- TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseS.i TimeBaseC.h \
$(TAO_ROOT)/tao/corba.h \
$(TAO_ROOT)/tao/NVList.h \
$(ACE_ROOT)/ace/Unbounded_Queue.h \
@@ -11817,7 +12086,7 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- svc_utils_export.h TimeBaseC.i \
+ Event/event_export.h TimeBaseC.i \
$(TAO_ROOT)/tao/PortableServer/PortableServer.h \
$(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
$(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
@@ -11830,7 +12099,7 @@ realclean: clean
$(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \
$(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \
TimeBaseS_T.h TimeBaseS_T.i TimeBaseS_T.cpp TimeBaseS.i \
- RtecDefaultEventDataS.h RtecDefaultEventDataC.h Event/event_export.h \
+ RtecDefaultEventDataS.h RtecDefaultEventDataC.h \
RtecDefaultEventDataC.i RtecDefaultEventDataS_T.h \
RtecDefaultEventDataS_T.i RtecDefaultEventDataS_T.cpp \
RtecDefaultEventDataS.i RtecEventCommC.h RtecEventCommC.i \
@@ -11907,6 +12176,11 @@ realclean: clean
$(TAO_ROOT)/tao/Tagged_Profile.i \
$(TAO_ROOT)/tao/Service_Context.h \
$(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(TAO_ROOT)/tao/PICurrent.inl \
$(TAO_ROOT)/tao/TAO_Server_Request.i \
$(TAO_ROOT)/tao/ORB_Core.h \
$(TAO_ROOT)/tao/Policy_Manager.h \
@@ -11926,9 +12200,6 @@ realclean: clean
$(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
$(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
$(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
$(TAO_ROOT)/tao/Object_Ref_Table.h \
$(TAO_ROOT)/tao/Interceptor_List.h \
@@ -11970,8 +12241,7 @@ realclean: clean
$(ACE_ROOT)/ace/Dynamic_Service.cpp
.obj/RtecDefaultEventDataC.o .obj/RtecDefaultEventDataC.so .shobj/RtecDefaultEventDataC.o .shobj/RtecDefaultEventDataC.so: RtecDefaultEventDataC.cpp \
- RtecDefaultEventDataC.h \
- $(ACE_ROOT)/ace/pre.h \
+ RtecDefaultEventDataC.h $(ACE_ROOT)/ace/pre.h \
$(TAO_ROOT)/tao/corba.h \
$(ACE_ROOT)/ace/post.h \
$(ACE_ROOT)/ace/ACE_export.h \
@@ -12227,6 +12497,8 @@ realclean: clean
$(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
$(TAO_ROOT)/tao/Interceptor_List.h \
$(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/PICurrent.inl \
$(TAO_ROOT)/tao/Protocols_Hooks.h \
$(ACE_ROOT)/ace/Hash_Map_Manager.h \
$(ACE_ROOT)/ace/Thread_Manager.h \
@@ -12451,8 +12723,8 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- Event/event_export.h TimeBaseC.h svc_utils_export.h TimeBaseC.i \
- RtecDefaultEventDataC.h RtecDefaultEventDataC.i RtecEventCommC.i \
+ Event/event_export.h TimeBaseC.h TimeBaseC.i RtecDefaultEventDataC.h \
+ RtecDefaultEventDataC.i RtecEventCommC.i \
$(TAO_ROOT)/tao/Stub.h \
$(TAO_ROOT)/tao/Pluggable.h \
$(TAO_ROOT)/tao/Pluggable.i \
@@ -12523,6 +12795,8 @@ realclean: clean
$(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
$(TAO_ROOT)/tao/Interceptor_List.h \
$(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/PICurrent.inl \
$(TAO_ROOT)/tao/Protocols_Hooks.h \
$(ACE_ROOT)/ace/Hash_Map_Manager.h \
$(ACE_ROOT)/ace/Thread_Manager.h \
@@ -12748,9 +13022,9 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- Event/event_export.h RtecEventCommC.h TimeBaseC.h svc_utils_export.h \
- TimeBaseC.i RtecDefaultEventDataC.h RtecDefaultEventDataC.i \
- RtecEventCommC.i RtecBaseC.h RtecBaseC.i RtecEventChannelAdminC.i \
+ Event/event_export.h RtecEventCommC.h TimeBaseC.h TimeBaseC.i \
+ RtecDefaultEventDataC.h RtecDefaultEventDataC.i RtecEventCommC.i \
+ RtecBaseC.h RtecBaseC.i RtecEventChannelAdminC.i \
$(TAO_ROOT)/tao/Stub.h \
$(TAO_ROOT)/tao/Pluggable.h \
$(TAO_ROOT)/tao/Pluggable.i \
@@ -12821,6 +13095,8 @@ realclean: clean
$(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
$(TAO_ROOT)/tao/Interceptor_List.h \
$(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/PICurrent.inl \
$(TAO_ROOT)/tao/Protocols_Hooks.h \
$(ACE_ROOT)/ace/Hash_Map_Manager.h \
$(ACE_ROOT)/ace/Thread_Manager.h \
@@ -13045,10 +13321,9 @@ realclean: clean
$(TAO_ROOT)/tao/PollableC.i \
$(TAO_ROOT)/tao/MessagingC.i \
$(TAO_ROOT)/tao/PortableInterceptorC.i \
- Event/event_export.h RtecEventCommC.h TimeBaseC.h svc_utils_export.h \
- TimeBaseC.i RtecDefaultEventDataC.h RtecDefaultEventDataC.i \
- RtecEventCommC.i RtecUDPAdminC.i \
- $(TAO_ROOT)/tao/Stub.h \
+ Event/event_export.h RtecEventCommC.h TimeBaseC.h TimeBaseC.i \
+ RtecDefaultEventDataC.h RtecDefaultEventDataC.i RtecEventCommC.i \
+ RtecUDPAdminC.i $(TAO_ROOT)/tao/Stub.h \
$(TAO_ROOT)/tao/Pluggable.h \
$(TAO_ROOT)/tao/Pluggable.i \
$(TAO_ROOT)/tao/MProfile.h \
@@ -13118,6 +13393,8 @@ realclean: clean
$(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
$(TAO_ROOT)/tao/Interceptor_List.h \
$(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/PICurrent.inl \
$(TAO_ROOT)/tao/Protocols_Hooks.h \
$(ACE_ROOT)/ace/Hash_Map_Manager.h \
$(ACE_ROOT)/ace/Thread_Manager.h \
diff --git a/TAO/orbsvcs/orbsvcs/RTEvent.bor b/TAO/orbsvcs/orbsvcs/RTEvent.bor
index 4585a3b7619..8986e644690 100644
--- a/TAO/orbsvcs/orbsvcs/RTEvent.bor
+++ b/TAO/orbsvcs/orbsvcs/RTEvent.bor
@@ -34,6 +34,7 @@ OBJFILES = \
$(OBJDIR)\EC_Filter_Builder.obj \
$(OBJDIR)\EC_Gateway.obj \
$(OBJDIR)\EC_Gateway_UDP.obj \
+ $(OBJDIR)\ECG_Mcast_EH.obj \
$(OBJDIR)\EC_Masked_Type_Filter.obj \
$(OBJDIR)\EC_MT_Dispatching.obj \
$(OBJDIR)\EC_Negation_Filter.obj \
diff --git a/TAO/orbsvcs/tests/EC_Mcast/EC_Mcast.h b/TAO/orbsvcs/tests/EC_Mcast/EC_Mcast.h
index 9490a558de5..f8fc81abf3f 100644
--- a/TAO/orbsvcs/tests/EC_Mcast/EC_Mcast.h
+++ b/TAO/orbsvcs/tests/EC_Mcast/EC_Mcast.h
@@ -56,6 +56,7 @@
#include "orbsvcs/Channel_Clients_T.h"
#include "orbsvcs/Event/EC_Gateway_UDP.h"
#include "orbsvcs/Event/EC_UDP_Admin.h"
+#include "orbsvcs/Event/ECG_Mcast_EH.h"
class ECM_Driver;
diff --git a/TAO/orbsvcs/tests/EC_Mcast/Makefile b/TAO/orbsvcs/tests/EC_Mcast/Makefile
index c7d8622813a..97b2e892fab 100644
--- a/TAO/orbsvcs/tests/EC_Mcast/Makefile
+++ b/TAO/orbsvcs/tests/EC_Mcast/Makefile
@@ -238,7 +238,6 @@ include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
$(TAO_ROOT)/orbsvcs/orbsvcs/Event/event_export.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommC.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseC.h \
- $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseC.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataC.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataC.i \
@@ -298,22 +297,389 @@ include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminS_T.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminS_T.cpp \
$(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminS.i \
- $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.h \
- $(ACE_ROOT)/ace/SOCK_Dgram.h \
+ $(ACE_ROOT)/ace/SOCK_CODgram.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
$(ACE_ROOT)/ace/SOCK.h \
$(ACE_ROOT)/ace/Addr.h \
$(ACE_ROOT)/ace/Addr.i \
$(ACE_ROOT)/ace/IPC_SAP.h \
$(ACE_ROOT)/ace/IPC_SAP.i \
$(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/SOCK_CODgram.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram.h \
$(ACE_ROOT)/ace/SOCK_Dgram.i \
$(ACE_ROOT)/ace/INET_Addr.h \
$(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_UDP_Admin.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.h \
$(ACE_ROOT)/ace/SOCK_Dgram_Mcast.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i \
+ EC_Mcast.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event_Utilities.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event_Service_Constants.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event_Utilities.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Event_Channel.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Factory.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Factory.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Defaults.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Event_Channel.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Default_Factory.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Default_Factory.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Policy_Manager.h \
+ $(TAO_ROOT)/tao/Policy_Set.h \
+ $(TAO_ROOT)/tao/Policy_Set.i \
+ $(TAO_ROOT)/tao/debug.h \
+ $(TAO_ROOT)/tao/Policy_Manager.i \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(TAO_ROOT)/tao/Pluggable.h \
+ $(TAO_ROOT)/tao/Pluggable.i \
+ $(TAO_ROOT)/tao/Protocol_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/PICurrent.inl \
+ $(TAO_ROOT)/tao/Protocols_Hooks.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.h \
+ $(ACE_ROOT)/ace/Auto_Ptr.i \
+ $(ACE_ROOT)/ace/Auto_Ptr.cpp \
+ $(ACE_ROOT)/ace/Sched_Params.h \
+ $(ACE_ROOT)/ace/Sched_Params.i \
+ $(ACE_ROOT)/ace/Read_Buffer.h \
+ $(ACE_ROOT)/ace/Read_Buffer.i
+
+.obj/EC_Mcast.o .obj/EC_Mcast.so .shobj/EC_Mcast.o .shobj/EC_Mcast.so: EC_Mcast.cpp EC_Mcast.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/SString.i \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminC.h \
+ $(TAO_ROOT)/tao/corba.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Unbounded_Set.h \
+ $(ACE_ROOT)/ace/Node.h \
+ $(ACE_ROOT)/ace/Node.cpp \
+ $(ACE_ROOT)/ace/Unbounded_Set.inl \
+ $(ACE_ROOT)/ace/Unbounded_Set.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/try_macros.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/Object_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/NVList.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.h \
+ $(ACE_ROOT)/ace/Unbounded_Queue.inl \
+ $(ACE_ROOT)/ace/Unbounded_Queue.cpp \
+ $(TAO_ROOT)/tao/NVList.i \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/Principal.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/Principal.i \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Services.h \
+ $(TAO_ROOT)/tao/Services.i \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/BoundsC.h \
+ $(TAO_ROOT)/tao/BoundsC.i \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
+ $(TAO_ROOT)/tao/DomainC.h \
+ $(TAO_ROOT)/tao/DomainC.i \
+ $(TAO_ROOT)/tao/WrongTransactionC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/ObjectIDList.h \
+ $(TAO_ROOT)/tao/ObjectIDList.i \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \
+ $(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.inl \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
+ $(TAO_ROOT)/tao/MessagingC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/event_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecBaseC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecBaseC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseS.h \
+ $(TAO_ROOT)/tao/TimeBaseS.h \
+ $(TAO_ROOT)/tao/TimeBaseS_T.h \
+ $(TAO_ROOT)/tao/TimeBaseS_T.i \
+ $(TAO_ROOT)/tao/TimeBaseS_T.cpp \
+ $(TAO_ROOT)/tao/TimeBaseS.i \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.i \
+ $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Channel_Clients_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Channel_Clients_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Channel_Clients_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecUDPAdminS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecUDPAdminC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecUDPAdminC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecUDPAdminS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecUDPAdminS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecUDPAdminS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecUDPAdminS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecBaseS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecBaseS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecBaseS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecBaseS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecBaseS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminS.i \
$(ACE_ROOT)/ace/SOCK_CODgram.h \
$(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/SOCK.i \
$(ACE_ROOT)/ace/SOCK_IO.i \
$(ACE_ROOT)/ace/SOCK_CODgram.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram.h \
+ $(ACE_ROOT)/ace/SOCK_Dgram.i \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/INET_Addr.i \
$(ACE_ROOT)/ace/Hash_Map_Manager.h \
$(ACE_ROOT)/ace/Functor.h \
$(ACE_ROOT)/ace/Functor.i \
@@ -344,10 +710,18 @@ include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
$(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_UDP_Admin.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h \
+ $(ACE_ROOT)/ace/Array_Base.h \
+ $(ACE_ROOT)/ace/Array_Base.inl \
+ $(ACE_ROOT)/ace/Array_Base.cpp \
+ $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.h \
+ $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i \
EC_Mcast.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/Event_Utilities.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/Event_Service_Constants.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \
$(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/Event_Utilities.i \
$(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Event_Channel.h \
@@ -382,13 +756,12 @@ include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
$(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
$(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
$(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
- $(ACE_ROOT)/ace/Array_Base.h \
- $(ACE_ROOT)/ace/Array_Base.inl \
- $(ACE_ROOT)/ace/Array_Base.cpp \
$(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
$(TAO_ROOT)/tao/Object_Ref_Table.h \
$(TAO_ROOT)/tao/Interceptor_List.h \
$(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/PICurrent.h \
+ $(TAO_ROOT)/tao/PICurrent.inl \
$(TAO_ROOT)/tao/Protocols_Hooks.h \
$(ACE_ROOT)/ace/Thread_Manager.h \
$(ACE_ROOT)/ace/Containers.h \
diff --git a/TAO/orbsvcs/tests/EC_Mcast/sample.cfg b/TAO/orbsvcs/tests/EC_Mcast/sample.cfg
index 060977e294f..ed3e057aa99 100644
--- a/TAO/orbsvcs/tests/EC_Mcast/sample.cfg
+++ b/TAO/orbsvcs/tests/EC_Mcast/sample.cfg
@@ -8,42 +8,94 @@ Set00 12000 5 3
224.100.5.1
224.100.5.2
224.100.5.3
-Set01 12001 4 4
+Set01 12001 30 30
224.100.1.1
224.100.1.2
224.100.1.3
224.100.1.4
- 224.100.2.1
- 224.100.2.2
- 224.100.2.4
- 224.100.0.1
-Set02 12002 3 5
- 224.100.2.1
- 224.100.2.2
- 224.100.2.3
- 224.100.2.1
- 224.100.2.2
- 224.100.2.3
- 224.100.1.1
- 224.100.1.3
-Set03 12003 4 4
- 224.100.3.1
- 224.100.3.2
- 224.100.3.3
- 224.100.3.4
+ 224.100.1.5
+ 224.100.1.6
+ 224.100.1.7
+ 224.100.1.8
+ 224.100.1.9
+ 224.100.1.10
+ 224.100.1.11
+ 224.100.1.12
+ 224.100.1.13
+ 224.100.1.14
+ 224.100.1.15
+ 224.100.1.16
+ 224.100.1.17
+ 224.100.1.18
+ 224.100.1.19
+ 224.100.1.20
+ 224.100.1.21
+ 224.100.1.22
+ 224.100.1.23
+ 224.100.1.24
+ 224.100.1.25
+ 224.100.1.26
+ 224.100.1.27
+ 224.100.1.28
+ 224.100.1.29
+ 224.100.1.30
224.100.2.1
224.100.2.2
224.100.2.3
224.100.2.4
-Set04 12004 4 4
- 224.100.4.1
- 224.100.4.2
- 224.100.4.3
- 224.100.4.4
- 224.100.5.1
- 224.100.5.2
- 224.100.4.3
- 224.100.4.4
+ 224.100.2.5
+ 224.100.2.6
+ 224.100.2.7
+ 224.100.2.8
+ 224.100.2.9
+ 224.100.2.10
+ 224.100.2.11
+ 224.100.2.12
+ 224.100.2.13
+ 224.100.2.14
+ 224.100.2.15
+ 224.100.2.16
+ 224.100.2.17
+ 224.100.2.18
+ 224.100.2.19
+ 224.100.2.20
+ 224.100.2.21
+ 224.100.2.22
+ 224.100.2.23
+ 224.100.2.24
+ 224.100.2.25
+ 224.100.2.26
+ 224.100.2.27
+ 224.100.2.28
+ 224.100.2.29
+ 224.100.2.30
+Set02 12002 4 4
+ 224.100.5.1
+ 224.100.5.2
+ 224.100.5.3
+ 224.100.5.4
+ 224.100.4.1
+ 224.100.4.2
+ 224.100.5.3
+ 224.100.5.4
+Set03 12003 4 4
+ 224.100.5.1
+ 224.100.5.2
+ 224.100.5.3
+ 224.100.5.4
+ 224.100.4.1
+ 224.100.4.2
+ 224.100.5.3
+ 224.100.5.4
+Set04 12004 4 4
+ 224.100.5.1
+ 224.100.5.2
+ 224.100.5.3
+ 224.100.5.4
+ 224.100.4.1
+ 224.100.4.2
+ 224.100.5.3
+ 224.100.5.4
Set05 12005 4 4
224.100.5.1
224.100.5.2