diff options
author | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-11-20 04:58:47 +0000 |
---|---|---|
committer | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-11-20 04:58:47 +0000 |
commit | 6efe045be0f71ce2348a5c5679470adbf1c5eda5 (patch) | |
tree | 48e894b5a355cfb5ab5d608aba5a1c211cda5595 | |
parent | 77ebc685db864b45db3435f64f11f8d1d5371070 (diff) | |
download | ATCD-6efe045be0f71ce2348a5c5679470adbf1c5eda5.tar.gz |
ChangeLogTag:Mon Nov 19 20:19:48 2001 Jaiganesh Balasubramanian <jai@balar.ece.uci.edu>
-rw-r--r-- | TAO/ChangeLogs/ChangeLog-02a | 73 | ||||
-rw-r--r-- | TAO/orbsvcs/examples/RtEC/MCast/MCast.cpp | 1 | ||||
-rw-r--r-- | TAO/orbsvcs/examples/RtEC/MCast/Makefile | 25 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp | 406 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h | 212 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i | 1 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp | 172 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h | 122 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i | 8 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/Makefile.am | 1 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Makefile.RTEvent | 519 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/RTEvent.bor | 1 | ||||
-rw-r--r-- | TAO/orbsvcs/tests/EC_Mcast/EC_Mcast.h | 1 | ||||
-rw-r--r-- | TAO/orbsvcs/tests/EC_Mcast/Makefile | 385 | ||||
-rw-r--r-- | TAO/orbsvcs/tests/EC_Mcast/sample.cfg | 108 |
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 |