diff options
62 files changed, 4518 insertions, 435 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a index 42e88ac063f..2d633ecf185 100644 --- a/TAO/ChangeLogs/ChangeLog-02a +++ b/TAO/ChangeLogs/ChangeLog-02a @@ -1,3 +1,85 @@ +Wed Mar 13 14:51:32 2002 Carlos O'Ryan <coryan@uci.edu> + + * orbsvcs/performance-tests/Makefile: + * orbsvcs/performance-tests/RTEvent/Makefile: + Update Makefiles to include the new directories (and remove old + ones). + + * orbsvcs/performance-tests/RTEvent/lib/Makefile: + * orbsvcs/performance-tests/RTEvent/lib/Client_Options.h: + * orbsvcs/performance-tests/RTEvent/lib/Client_Options.cpp: + New class to parse and hold the client options, they were too + numerous to parse on each application. + + * orbsvcs/performance-tests/RTEvent/lib/RTClient_Setup.cpp: + * orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp: + * orbsvcs/performance-tests/RTEvent/lib/RTServer_Setup.cpp: + Temporarly disable the use of RT-POAs. + + * orbsvcs/performance-tests/RTEvent/lib/Client_Group.h: + * orbsvcs/performance-tests/RTEvent/lib/Client_Group.cpp: + * orbsvcs/performance-tests/RTEvent/lib/Client_Pair.h: + * orbsvcs/performance-tests/RTEvent/lib/Client_Pair.cpp: + * orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.h: + * orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.cpp: + * orbsvcs/performance-tests/RTEvent/lib/Supplier.h: + * orbsvcs/performance-tests/RTEvent/lib/Supplier.cpp: + Add support for multiple event sources in the high-priority + supplier. This is useful when trying to showcase the + improvements of per-supplier filtering. + + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/Makefile: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/driver.cpp: + * orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/Makefile: + * orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/client.cpp: + * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Makefile: + * orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp: + * orbsvcs/performance-tests/RTEvent/Roundtrip/Makefile: + * orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp: + Use the Client_Options class. + + * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Makefile: + * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Test.idl: + * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Callback.h: + * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Callback.cpp: + * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Session.cpp: + * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Session.h: + * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Session_Factory.cpp: + * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Session_Factory.h: + * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp: + * orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp: + New test to measure the performance of CORBA (and RT-CORBA) + through callback interfaces. + + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/compare_histo.cpp: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/compare_histo.pl: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.dispatching_reactive.conf: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.dispatching_rtcorba.conf: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.dispatching_threaded.conf: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.filter_null.conf: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.filter_per_supplier.conf: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.locking_copy_on_read.conf: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.locking_copy_on_write.conf: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.locking_delayed.conf: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.locking_immediate.conf: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_acc.sh: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_cmp.sh: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_compared_histo.sh: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_gnuplot.pl: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_histo.sh: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_percentiles.sh: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_stat.sh: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/parameters: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_dispatching.sh: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_filter.sh: + * orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_locking.sh: + * orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_read.conf: + * orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_write.conf: + * orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_delayed.conf: + * orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_immediate.conf: + * orbsvcs/performance-tests/RTEvent/Roundtrip/run_locking.sh: + Add many helper scripts and configuration files. + Wed Mar 13 14:48:12 2002 Carlos O'Ryan <coryan@uci.edu> * orbsvcs/performance-tests/EC_Scalability/*: @@ -14,7 +96,7 @@ Wed Mar 13 10:02:11 2002 Jeff Parsons <parsons@cs.wustl.edu> In the case where a dash is followed by a space instead of command line option letters, replaced the action adding - stdin to the IDL file list with an error message. The + stdin to the IDL file list with an error message. The previous action was causing an endless self-spawn loop. This was the last item listed in [BUGID:390] that has not yet been fixed, so I'll close the bug entry. Thanks to diff --git a/TAO/orbsvcs/performance-tests/Makefile b/TAO/orbsvcs/performance-tests/Makefile index 43557f752ee..fb27f0a6d36 100644 --- a/TAO/orbsvcs/performance-tests/Makefile +++ b/TAO/orbsvcs/performance-tests/Makefile @@ -8,9 +8,7 @@ # Local macros #---------------------------------------------------------------------------- -DIRS = \ - EC_Scalability \ - EC_Federated_Scalability +DIRS = ifndef TAO_ROOT TAO_ROOT = $(ACE_ROOT)/TAO @@ -26,8 +24,7 @@ include $(TAO_ROOT)/rules.tao.GNU ifeq ($(corba_messaging),1) DIRS += \ - EC_Latency \ - EC_Federated_Latency + RTEvent endif # corba_messaging diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/Makefile b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/Makefile new file mode 100644 index 00000000000..f0dd1666940 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/Makefile @@ -0,0 +1,473 @@ +# +# $Id$ +# + +LDLIBS = -lTAO_RTEC_Perf \ + -lTAO_RTCORBAEvent \ + -lTAO_RTEvent \ + -lTAO_CosNaming \ + -lTAO_Svc_Utils \ + -lTAO_IORTable \ + -lTAO_RTPortableServer \ + -lTAO_PortableServer \ + -lTAO_RTCORBA \ + -lTAO_Strategies \ + -lTAO_Messaging \ + -lTAO + +ifndef TAO_ROOT + TAO_ROOT = $(ACE_ROOT)/TAO +endif + +CPPFLAGS += \ + -I../lib \ + -I$(TAO_ROOT)/orbsvcs \ + -I$(TAO_ROOT) + +BIN = driver + +driver_OBJS = $(addsuffix .o, driver) +SRC = $(driver_OBJS:.o=.cpp) + +#---------------------------------------------------------------------------- +# Include macros and targets +#---------------------------------------------------------------------------- + +include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU +include $(ACE_ROOT)/include/makeinclude/macros.GNU +include $(TAO_ROOT)/rules.tao.GNU +include $(ACE_ROOT)/include/makeinclude/rules.common.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU +include $(ACE_ROOT)/include/makeinclude/rules.local.GNU + +#---------------------------------------------------------------------------- +# Local targets +#---------------------------------------------------------------------------- + +driver: $(addprefix $(VDIR),$(driver_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) + +#---------------------------------------------------------------------------- +# Dependencies +#---------------------------------------------------------------------------- + +# DO NOT DELETE THIS LINE -- g++dep uses it. +# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. + + +.obj/driver.o .obj/driver.o .obj/driver.o .obj/driver.o: driver.cpp ../lib/RT_Class.h ../lib/rtec_perf_export.h \ + $(ACE_ROOT)/ace/pre.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/Sched_Params.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/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(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/Default_Constants.h \ + $(ACE_ROOT)/ace/Global_Macros.h \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Sched_Params.i \ + ../lib/RT_Class.inl ../lib/ORB_Holder.h \ + $(TAO_ROOT)/tao/ORB.h \ + $(TAO_ROOT)/tao/corbafwd.h \ + $(ACE_ROOT)/ace/CDR_Base.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/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/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 \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/orbconf.h \ + $(TAO_ROOT)/tao/varbase.h \ + $(TAO_ROOT)/tao/TAO_Export.h \ + $(TAO_ROOT)/tao/corbafwd.i \ + $(TAO_ROOT)/tao/Exception.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(TAO_ROOT)/tao/Exception.i \ + $(TAO_ROOT)/tao/Services.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/Environment.h \ + $(TAO_ROOT)/tao/Environment.i \ + $(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/CurrentC.h \ + $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/Policy_ForwardC.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/Policy_ForwardC.i \ + $(TAO_ROOT)/tao/Object.i \ + $(TAO_ROOT)/tao/CurrentC.i \ + $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Encodable.h \ + $(TAO_ROOT)/tao/PolicyC.i \ + $(TAO_ROOT)/tao/ORB.i \ + ../lib/ORB_Holder.inl ../lib/Servant_var.h \ + $(ACE_ROOT)/ace/Swap.h \ + $(ACE_ROOT)/ace/Swap.inl \ + $(ACE_ROOT)/ace/Swap.cpp \ + ../lib/Servant_var.inl ../lib/Servant_var.cpp ../lib/RIR_Narrow.h \ + ../lib/RIR_Narrow.cpp ../lib/RTEC_Initializer.h \ + $(TAO_ROOT)/tao/RTCORBA/RTCORBA.h \ + $(TAO_ROOT)/tao/RTCORBA/rtcorba_export.h \ + $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Typecode.i \ + $(TAO_ROOT)/tao/Any.i \ + $(TAO_ROOT)/tao/IOPC.i \ + $(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/RTCORBA/RTCORBAC.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 \ + ../lib/RTServer_Setup.h ../lib/RTClient_Setup.h ../lib/RTCORBA_Setup.h \ + $(TAO_ROOT)/tao/RTCORBA/Priority_Mapping_Manager.h \ + $(TAO_ROOT)/tao/RTCORBA/Priority_Mapping.h \ + $(TAO_ROOT)/tao/RTCORBA/Priority_Mapping.i \ + $(TAO_ROOT)/tao/LocalObject.h \ + $(TAO_ROOT)/tao/LocalObject.i \ + $(TAO_ROOT)/tao/RTCORBA/Priority_Mapping_Manager.i \ + ../lib/RTCORBA_Setup.inl ../lib/PriorityBand_Setup.h \ + ../lib/PriorityBand_Setup.inl ../lib/SyncScope_Setup.h \ + $(TAO_ROOT)/tao/Messaging/Messaging.h \ + $(TAO_ROOT)/tao/Messaging/MessagingC.h \ + $(TAO_ROOT)/tao/Messaging/messaging_export.h \ + $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueBase.i \ + $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/ValueFactory.i \ + $(TAO_ROOT)/tao/PollableC.h \ + $(TAO_ROOT)/tao/PollableC.i \ + $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \ + $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \ + $(TAO_ROOT)/tao/Messaging/MessagingC.i \ + ../lib/SyncScope_Setup.inl ../lib/RTClient_Setup.inl \ + ../lib/RTPOA_Setup.h \ + $(TAO_ROOT)/tao/RTPortableServer/RTPortableServer.h \ + $(TAO_ROOT)/tao/RTPortableServer/rtportableserver_export.h \ + $(TAO_ROOT)/tao/RTPortableServer/RTPortableServerC.h \ + $(TAO_ROOT)/tao/RTPortableServer/RTPortableServerC.i \ + ../lib/RTPOA_Setup.inl ../lib/RTServer_Setup.inl \ + ../lib/Low_Priority_Setup.h ../lib/Auto_Disconnect.h \ + ../lib/Auto_Functor.h ../lib/Auto_Functor.inl ../lib/Auto_Functor.cpp \ + ../lib/Auto_Disconnect.inl ../lib/Auto_Disconnect.cpp \ + ../lib/Send_Task.h ../lib/Supplier.h \ + $(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)/orbsvcs/orbsvcs/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/Principal.h \ + $(TAO_ROOT)/tao/OctetSeqC.h \ + $(TAO_ROOT)/tao/OctetSeqC.i \ + $(TAO_ROOT)/tao/Principal.i \ + $(TAO_ROOT)/tao/BoundsC.h \ + $(TAO_ROOT)/tao/BoundsC.i \ + $(TAO_ROOT)/tao/DomainC.h \ + $(TAO_ROOT)/tao/DomainC.i \ + $(TAO_ROOT)/tao/WrongTransactionC.h \ + $(TAO_ROOT)/tao/WrongTransactionC.i \ + $(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/ObjectReferenceTemplateC.h \ + $(TAO_ROOT)/tao/ObjectReferenceTemplateC.i \ + $(TAO_ROOT)/tao/PortableInterceptorC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseC.i \ + $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \ + $(TAO_ROOT)/tao/Abstract_Servant_Base.h \ + $(ACE_ROOT)/ace/Atomic_Op.h \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Atomic_Op.cpp \ + $(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/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 \ + $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS_T.cpp \ + $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommC.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommC.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/RtecEventChannelAdminC.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/RtecBaseC.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/RtecBaseC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminC.i \ + $(ACE_ROOT)/ace/Task.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/Thread_Manager.h \ + $(ACE_ROOT)/ace/Containers.h \ + $(ACE_ROOT)/ace/Containers.i \ + $(ACE_ROOT)/ace/Containers_T.h \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(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 \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp \ + ../lib/Send_Task_Stopper.h ../lib/Task_Activator.h \ + $(ACE_ROOT)/ace/Copy_Disabled.h \ + ../lib/Task_Activator.inl ../lib/Task_Activator.cpp \ + ../lib/Send_Task_Stopper.inl ../lib/Low_Priority_Setup.cpp \ + $(ACE_ROOT)/ace/Basic_Stats.h \ + $(ACE_ROOT)/ace/Basic_Stats.inl \ + $(ACE_ROOT)/ace/Sample_History.h \ + $(ACE_ROOT)/ace/Sample_History.inl \ + ../lib/EC_Destroyer.h ../lib/EC_Destroyer.inl ../lib/ORB_Task.h \ + ../lib/ORB_Task.inl ../lib/ORB_Task_Activator.h \ + ../lib/ORB_Task_Activator.inl ../lib/Client_Group.h \ + ../lib/Client_Pair.h ../lib/Consumer.h ../lib/Client_Pair.inl \ + ../lib/Loopback_Pair.h ../lib/Loopback_Supplier.h \ + ../lib/Loopback_Consumer.h ../lib/Loopback_Pair.inl \ + ../lib/Client_Group.inl ../lib/Client_Options.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/Event_Service_Constants.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.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 \ + $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Factory.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Defaults.h \ + $(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 \ + $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Event_Channel.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Default_Factory.h \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(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_Default_Factory.i \ + $(TAO_ROOT)/tao/Strategies/advanced_resource.h \ + $(TAO_ROOT)/tao/Strategies/strategies_export.h \ + $(TAO_ROOT)/tao/default_resource.h \ + $(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/default_resource.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/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 \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.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.i \ + $(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 \ + $(TAO_ROOT)/tao/ORB_Core.i \ + $(TAO_ROOT)/tao/Strategies/advanced_resource.i \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Get_Opt.i \ + $(ACE_ROOT)/ace/High_Res_Timer.h \ + $(ACE_ROOT)/ace/High_Res_Timer.i + +# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/compare_histo.cpp b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/compare_histo.cpp new file mode 100644 index 00000000000..d8ebf631bdc --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/compare_histo.cpp @@ -0,0 +1,71 @@ +/** + * @file compare_histo.cpp + * + * $Id$ + * + */ + +#include <utility> +#include <iostream> +#include <fstream> +#include <algorithm> +#include <iterator> +#include <map> + +typedef std::map<long,double> Vector; +typedef std::pair<long,double> Element; + +std::ostream & +operator<< (std::ostream &os, + const Vector::value_type &p) +{ + return os << p.first << " " << p.second; +} + + +void +load_file (Vector &vector, + const char *filename) +{ + std::ifstream is (filename); + if (!is) + throw "Cannot open file"; + + while (is && !is.eof ()) + { + long i; double v; + is >> i >> v; + Vector::value_type e (i, v); + vector.insert (e); + } +} + +int +main (int argc, char *argv[]) +{ + Vector X; + load_file (X, argv[1]); + Vector Y; + load_file (Y, argv[2]); + + Vector Z; + for (Vector::iterator i = X.begin (); i != X.end (); ++i) { + for (Vector::iterator j = Y.begin (); j != Y.end (); ++j) { + long ki = (*i).first - (*j).first; + double p = (*i).second * (*j).second; + + Vector::iterator k = Z.find (ki); + if (k == Z.end ()) + Z.insert (Element (ki, p)); + else + Z[ki] += p; + } + } + + for (Vector::iterator i = Z.begin (); i != Z.end (); ++i) + { + std::cout << (*i) << "\n"; + } + + return 0; +} diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/compare_histo.pl b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/compare_histo.pl new file mode 100755 index 00000000000..09196685fcc --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/compare_histo.pl @@ -0,0 +1,94 @@ +#!/usr/bin/perl -w +# +# $Id$ +# + +use English; + +sub load_file { + local $filename = shift; + local %R = (); + + open (XF, $filename) + || die "Cannot open $filename\n"; + while (<XF>) { + chomp; + local @f = split(/\s+/, $_); + $R{$f[0]} = $f[1]; + } + close(XF); + + return %R; +} + +sub interpolate { + local %T = @_; + local %R = (); + + local $last_i; + foreach my $i (sort keys %T) { + if (!defined $last_i) { + $last_i = $i; + $R{$i} = $T{$i}; + next; + } + local $si = $last_i + 1; + while ($si < $i) { + $R{$si} = $T{$last_i} + ($si - $last_i) * ($T{$i} - $T{$last_i}) / ($i - $last_i); + $si++; + } + $last_i = $i; + $R{$i} = $T{$i}; + } + return %R; +} + +sub range { + local @values = @_; + local ($min_i, $max_i); + foreach my $i (@values) { + if (!defined $min_i + || $i < $min_i) { + $min_i = $i; + } + if (!defined $max_i + || $i > $max_i) { + $max_i = $i; + } + } + return ($min_i, $max_i); +} + +local %BX = load_file($ARGV[0]); +print STDERR "X loaded\n"; +local %BY = load_file($ARGV[1]); +print STDERR "Y loaded\n"; + +local %X = %BX; interpolate (%BX); +local %Y = %BY; interpolate (%BY); + +local ($min_i, $max_i) = range(keys %X); +local ($min_j, $max_j) = range(keys %Y); + +print STDERR "RANGE[X] = $min_i, $max_i\n"; +print STDERR "RANGE[Y] = $min_j, $max_j\n"; + +local $total = 0; +foreach my $i (($min_i - $max_j)..($max_i - $min_j)) { + local $z = 0; + foreach my $j (-$max_j..-$min_j) { + local $f = 0; + local $g = 0; + if (defined $X{$i - $j}) { + $f = $X{$i - $j}; + } + if (defined $Y{-$j}) { + $g = $Y{-$j}; + } + $z += $f * $g; + } + print $i, " ", $z, "\n"; + $total += $z; +} + +print STDERR "TOTAL = $total\n"; diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/driver.cpp b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/driver.cpp new file mode 100644 index 00000000000..3865b43b830 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/driver.cpp @@ -0,0 +1,251 @@ +// $Id$ + +#include "RT_Class.h" +#include "ORB_Holder.h" +#include "Servant_var.h" +#include "RIR_Narrow.h" +#include "RTEC_Initializer.h" +#include "RTServer_Setup.h" +#include "Low_Priority_Setup.h" +#include "EC_Destroyer.h" +#include "Auto_Disconnect.h" +#include "ORB_Task.h" +#include "ORB_Task_Activator.h" +#include "Client_Group.h" +#include "Client_Options.h" + +#include "orbsvcs/Event_Service_Constants.h" + +#include "orbsvcs/Event/EC_Event_Channel.h" +#include "orbsvcs/Event/EC_Default_Factory.h" + +#include "tao/PortableServer/PortableServer.h" +#include "tao/RTPortableServer/RTPortableServer.h" +#include "tao/Strategies/advanced_resource.h" +#include "tao/Messaging/Messaging.h" +#include "ace/Get_Opt.h" +#include "ace/Auto_Ptr.h" +#include "ace/High_Res_Timer.h" +#include "ace/Sample_History.h" +#include "ace/Basic_Stats.h" + +ACE_RCSID(TAO_PERF_RTEC_Colocated_Roundtrip, driver, "$Id$") + +int main (int argc, char *argv[]) +{ + const CORBA::Long experiment_id = 1; + + TAO_EC_Default_Factory::init_svcs (); + + /// Move the test to the real-time class if it is possible. + RT_Class rt_class; + + ACE_TRY_NEW_ENV + { + ORB_Holder orb (argc, argv, "" + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + Client_Options options (argc, argv); + if (argc != 1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "Usage: %s " + "-i iterations (iterations) " + "-h high_priority_period (usecs) " + "-l low_priority_period (usecs) " + "-w high_priority_workload (usecs) " + "-v low_priority_workload (usecs) " + "-r (enable RT-CORBA) " + "-n nthreads (low priority thread) " + "-d (dump history) " + "-z (disable low priority) " + "\n", + argv [0]), + 1); + } + + RTServer_Setup rtserver_setup (options.use_rt_corba, + orb, + rt_class, + 1 // options.nthreads + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + PortableServer::POA_var root_poa = + RIR_Narrow<PortableServer::POA>::resolve (orb, + "RootPOA" + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + PortableServer::POAManager_var poa_manager = + root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_TRY_CHECK; + + poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_TRY_CHECK; + + PortableServer::POA_var ec_poa (rtserver_setup.poa ()); + + ACE_Thread_Manager my_thread_manager; + + ORB_Task orb_task (orb); + orb_task.thr_mgr (&my_thread_manager); + ORB_Task_Activator orb_task_activator (rt_class.priority_high (), + rt_class.thr_sched_class (), + 1, + &orb_task); + + ACE_DEBUG ((LM_DEBUG, "Finished ORB and POA configuration\n")); + + Servant_var<TAO_EC_Event_Channel> ec_impl ( + RTEC_Initializer::create (ec_poa.in (), + ec_poa.in (), + rtserver_setup.rtcorba_setup () + ACE_ENV_ARG_PARAMETER) + ); + ACE_TRY_CHECK; + + ec_impl->activate (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_TRY_CHECK; + + PortableServer::ObjectId_var ec_id = + ec_poa->activate_object (ec_impl.in () + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + CORBA::Object_var ec_object = + ec_poa->id_to_reference (ec_id.in () + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + RtecEventChannelAdmin::EventChannel_var ec = + RtecEventChannelAdmin::EventChannel::_narrow (ec_object.in () + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + EC_Destroyer ec_destroyer (ec.in ()); + + ACE_DEBUG ((LM_DEBUG, "Finished EC configuration and activation\n")); + + int thread_count = 1 + options.nthreads; + + ACE_Barrier barrier (thread_count); + + ACE_DEBUG ((LM_DEBUG, "Calibrating high res timer ....")); + ACE_High_Res_Timer::calibrate (); + + ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor (); + ACE_DEBUG ((LM_DEBUG, "Done (%d)\n", gsf)); + + CORBA::Long event_range = 1; + if (options.funky_supplier_publication) + { + if (options.unique_low_priority_event) + event_range = 1 + options.low_priority_consumers; + else + event_range = 2; + } + + Client_Group high_priority_group; + high_priority_group.init (experiment_id, + ACE_ES_EVENT_UNDEFINED, + event_range, + options.iterations, + options.high_priority_workload, + gsf, + ec_poa.in (), + ec_poa.in ()); + + Auto_Disconnect<Client_Group> high_priority_disconnect; + + if (!options.high_priority_is_last) + { + high_priority_group.connect (ec.in () + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + high_priority_disconnect = &high_priority_group; + } + + int per_thread_period = options.low_priority_period; + if (options.global_low_priority_rate) + per_thread_period = options.low_priority_period * options.nthreads; + + Low_Priority_Setup<Client_Group> low_priority_setup ( + options.low_priority_consumers, + 0, // no limit on the number of iterations + options.unique_low_priority_event, + experiment_id, + ACE_ES_EVENT_UNDEFINED + 2, + options.low_priority_workload, + gsf, + options.nthreads, + rt_class.priority_low (), + rt_class.thr_sched_class (), + per_thread_period, + ec_poa.in (), + ec_poa.in (), + ec.in (), + &barrier + ACE_ENV_ARG_PARAMETER); + + if (options.high_priority_is_last) + { + high_priority_group.connect (ec.in () + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + high_priority_disconnect = &high_priority_group; + } + Send_Task high_priority_task; + high_priority_task.init (options.iterations, + options.high_priority_period, + 0, + ACE_ES_EVENT_UNDEFINED, + experiment_id, + high_priority_group.supplier (), + &barrier); + high_priority_task.thr_mgr (&my_thread_manager); + { + // Artificial scope to wait for the high priority task... + Task_Activator<Send_Task> high_priority_act (rt_class.priority_high (), + rt_class.thr_sched_class (), + 1, + &high_priority_task); + } + + ACE_DEBUG ((LM_DEBUG, "(%P|%t) client - high priority task completed\n")); + + low_priority_setup.stop_all_threads (); + + ACE_DEBUG ((LM_DEBUG, "(%P|%t) client - low priority task(s) stopped\n")); + + ACE_Sample_History &history = + high_priority_group.consumer ()->sample_history (); + if (options.dump_history) + { + history.dump_samples ("HISTORY", gsf); + } + + ACE_Basic_Stats high_priority_stats; + history.collect_basic_stats (high_priority_stats); + high_priority_stats.dump_results ("High Priority", gsf); + + ACE_Basic_Stats low_priority_stats; + low_priority_setup.collect_basic_stats (low_priority_stats); + low_priority_stats.dump_results ("Low Priority", gsf); + + ACE_DEBUG ((LM_DEBUG, "(%P|%t) client - starting cleanup\n")); + } + ACE_CATCHANY + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, + "Exception caught:"); + return 1; + } + ACE_ENDTRY; + + return 0; +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +#elif defined(ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.dispatching_reactive.conf b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.dispatching_reactive.conf new file mode 100644 index 00000000000..8cd51345cc5 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.dispatching_reactive.conf @@ -0,0 +1,2 @@ +# $Id$ +static EC_Factory "-ECProxyPushConsumerCollection mt:copy_on_write:list -ECProxyPushSupplierCollection mt:copy_on_write:list -ECSupplierFilter null -ECDispatching reactive" diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.dispatching_rtcorba.conf b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.dispatching_rtcorba.conf new file mode 100644 index 00000000000..d98222a2a0a --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.dispatching_rtcorba.conf @@ -0,0 +1,3 @@ +# $Id$ +static RT_ORB_Loader "-ORBSchedPolicy SCHED_FIFO -ORBPriorityMapping continuous" +static EC_Factory "-ECProxyPushConsumerCollection mt:copy_on_write:list -ECProxyPushSupplierCollection mt:copy_on_write:list -ECSupplierFilter null -ECDispatching reactive" diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.dispatching_threaded.conf b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.dispatching_threaded.conf new file mode 100644 index 00000000000..502bc5cdb1e --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.dispatching_threaded.conf @@ -0,0 +1,2 @@ +# $Id$ +static EC_Factory "-ECProxyPushConsumerCollection mt:copy_on_write:list -ECProxyPushSupplierCollection mt:copy_on_write:list -ECSupplierFilter null -ECDispatching mt -ECDispatchingThreads 2" diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.filter_null.conf b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.filter_null.conf new file mode 100644 index 00000000000..8cd51345cc5 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.filter_null.conf @@ -0,0 +1,2 @@ +# $Id$ +static EC_Factory "-ECProxyPushConsumerCollection mt:copy_on_write:list -ECProxyPushSupplierCollection mt:copy_on_write:list -ECSupplierFilter null -ECDispatching reactive" diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.filter_per_supplier.conf b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.filter_per_supplier.conf new file mode 100644 index 00000000000..712b90b6074 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.filter_per_supplier.conf @@ -0,0 +1,2 @@ +# $Id$ +static EC_Factory "-ECProxyPushConsumerCollection mt:copy_on_write:list -ECProxyPushSupplierCollection mt:copy_on_write:list -ECSupplierFilter per-supplier -ECDispatching reactive" diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.locking_copy_on_read.conf b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.locking_copy_on_read.conf new file mode 100644 index 00000000000..49c7ad0b504 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.locking_copy_on_read.conf @@ -0,0 +1,2 @@ +# $Id$ +static EC_Factory "-ECProxyPushConsumerCollection mt:copy_on_read:list -ECProxyPushSupplierCollection mt:copy_on_read:list -ECSupplierFilter null" diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.locking_copy_on_write.conf b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.locking_copy_on_write.conf new file mode 100644 index 00000000000..691efd9c506 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.locking_copy_on_write.conf @@ -0,0 +1,2 @@ +# $Id$ +static EC_Factory "-ECProxyPushConsumerCollection mt:copy_on_write:list -ECProxyPushSupplierCollection mt:copy_on_write:list -ECSupplierFilter null" diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.locking_delayed.conf b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.locking_delayed.conf new file mode 100644 index 00000000000..f49ae54a94a --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.locking_delayed.conf @@ -0,0 +1,2 @@ +# $Id$ +static EC_Factory "-ECProxyPushConsumerCollection mt:delayed:list -ECProxyPushSupplierCollection mt:delayed:list -ECSupplierFilter null" diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.locking_immediate.conf b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.locking_immediate.conf new file mode 100644 index 00000000000..50aa86ff59a --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/ec.locking_immediate.conf @@ -0,0 +1,2 @@ +# $Id$ +static EC_Factory "-ECProxyPushConsumerCollection mt:immediate:list -ECProxyPushSupplierCollection mt:immediate:list -ECSupplierFilter null" diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_acc.sh b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_acc.sh new file mode 100644 index 00000000000..52fd2b14d3b --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_acc.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +. parameters + +for t in $TYPES; do + for i in $t.*.dat; do + b=`basename $i .dat` + awk 'BEGIN { + s = 0; + } + { + s += $2; + print $1, s + }' $i > $b.acc.dat; + echo $i + done +done diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_cmp.sh b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_cmp.sh new file mode 100755 index 00000000000..f45666db5a0 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_cmp.sh @@ -0,0 +1,10 @@ +#/bin/sh + +for i in $TYPES; do + echo $i ; + for j in 99 999 9999; do + paste $i.avg.dat ${i}.${j}.dat | + awk '{print $1, $4 / $2}' > $i.${j}.cmp.dat + done +done + diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_compared_histo.sh b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_compared_histo.sh new file mode 100644 index 00000000000..8f6a821b27d --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_compared_histo.sh @@ -0,0 +1,14 @@ +#!/bin/sh +# +# + +. parameters + +for j in copy_on_write copy_on_read delayed; +do + for i in $NCONSUMERS; + do + ./compare_histo.pl ec_locking.$j.$i.16.histo.dat ec_locking.$j.32.16.histo.dat >$j.$i.dat; + done; +done + diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_gnuplot.pl b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_gnuplot.pl new file mode 100755 index 00000000000..934d77c5715 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_gnuplot.pl @@ -0,0 +1,11 @@ +#!/usr/bin/perl -w +# +# $Id$ +# + +foreach $t ('copy_on_read', 'delayed') { + print "plot '", $t, "_delta.32.histo.dat'\n"; + foreach $i (2..16) { + print "replot '", $t, "_delta.", 32*$i, ".histo.dat'\n"; + } +} diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_histo.sh b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_histo.sh new file mode 100755 index 00000000000..68a239db84a --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_histo.sh @@ -0,0 +1,10 @@ +#/bin/sh + +. parameters + +for i in *.txt; do + b=`basename $i .txt` + echo $i + awk '/^HISTO/ {print $3}' $i | sort -n | uniq -c | + awk -v N=$ITERATIONS '{print $2, $1 / N}' > $b.histo.dat +done diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_percentiles.sh b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_percentiles.sh new file mode 100755 index 00000000000..28ddaffd752 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_percentiles.sh @@ -0,0 +1,52 @@ +#/bin/sh + +. parameters + +for t in $TYPES; do + cat /dev/null > ${t}.min.dat + cat /dev/null > ${t}.avg.dat + cat /dev/null > ${t}.99.dat + cat /dev/null > ${t}.999.dat + cat /dev/null > ${t}.9999.dat + + for c in $NCONSUMERS; do + echo $t $c + INPUT=${INPUT_BASE}.${t}.${c}.8.txt + awk -v c=$c '/^HISTO/ { + n++; + s += $3 + } + END { + printf("%d %f\n", c, s/n); + }' $INPUT >> ${t}.avg.dat + awk -v c=$c 'BEGIN { n = 0; } + /^HISTO/ { + if (n == 0 || m > $3) { + m = $3; + } + n++; + } + END { + printf("%d %f\n", c, m); + }' $INPUT >> ${t}.min.dat + + TFILE=/tmp/${t}.$$ + awk '/^HISTO/ {print $3}' $INPUT | sort -n | uniq -c > $TFILE + for p in 99 999 9999; do + awk -v N=$ITERATIONS '{print $2, $1 / N}' $TFILE | + awk -v c=$c -v p=0.${p} '\ +BEGIN { x = 0; } +{ s += $2; + if (x == 0 && s > p) { + x = $1; + } +} +END { + printf("%d %f\n", c, x); +}' >> ${t}.${p}.dat + done + /bin/rm -f $TFILE + + done + +done diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_stat.sh b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_stat.sh new file mode 100755 index 00000000000..f0fc96aed6c --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/generate_stat.sh @@ -0,0 +1,42 @@ +#/bin/sh + +for i in $*; do + echo $i + cat $i | + awk 'BEGIN { + s1 = 0; + s2 = 0; + s3 = 0; + s4 = 0; + n = 0; + } + { + x = $1; + p = $2; + v = p * x; + s1 += v; + v *= x; + s2 += v; + v *= x; + s3 += v; + v *= x; + s4 += v; + } + END { + up0 = 1; + up1 = s1; + up2 = s2; + up3 = s3; + up4 = s4; + u1 = 0; + u2 = up2 - up1 * up1; + u3 = 2 * up1 * up1 * up1 - 3 * up1 * up2 + up3; + u4 = -3 * up1 * up1 * up1 * up1 + 6 * up1 * up1 * up2 + -4 * up1 * up3 + up4; + + skew = u3 / (u2 * sqrt(u2)); + kurto = u4 / (u2 * u2) - 3; + printf("%f %f %f %f\n", + up1, u2, skew, kurto); + }' +done diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/parameters b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/parameters new file mode 100644 index 00000000000..f106d61a5d1 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/parameters @@ -0,0 +1,13 @@ +NTHREADS="16" +#NTHREADS="1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32" + +#NCONSUMERS="32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 512" +NCONSUMERS="32 64 128 256" + +ITERATIONS=3000 + +LOCKING_TYPES="copy_on_read copy_on_write delayed" +DISPATCHING_TYPES="threaded reactive rtcorba" +FILTER_TYPES="null per_supplier" + +INPUT_BASE="ec_locking" diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_dispatching.sh b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_dispatching.sh new file mode 100755 index 00000000000..d8208bc63e3 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_dispatching.sh @@ -0,0 +1,27 @@ +#! /bin/sh +# +# $Id$ +# + +. parameters + +for n in 2; do + for c in 12; do + + date + echo rtcorba $c $n + + ./driver -ORBSvcConf ec.dispatching_rtcorba.conf -r -d -h 10000 -l 10000 -i $ITERATIONS -c $c -n $n > ec_dispatching.rtcorba.${c}.${n}.txt 2>&1 + + date + echo threaded $c $n + + ./driver -ORBSvcConf ec.dispatching_threaded.conf -d -h 10000 -l 10000 -i $ITERATIONS -c $c -n $n > ec_dispatching.threaded.${c}.${n}.txt 2>&1 + + date + echo reactive $c $n + + ./driver -ORBSvcConf ec.dispatching_reactive.conf -d -h 10000 -l 10000 -i $ITERATIONS -c $c -n $n > ec_dispatching.reactive.${c}.${n}.txt 2>&1 + + done +done diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_filter.sh b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_filter.sh new file mode 100755 index 00000000000..84ec666a6e3 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_filter.sh @@ -0,0 +1,17 @@ +#! /bin/sh +# +# $Id$ +# + +. parameters + +for n in $NTHREADS; do + for c in $NCONSUMERS; do + for t in $FILTER_TYPES; do + date + echo $t $c $n + + ./driver -ORBSvcConf ec.filter_${t}.conf -x -d -h 10000 -l 10000 -i $ITERATIONS -c $c -n $n > ec_filter.${t}.${c}.${n}.txt 2>&1 + done + done +done diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_locking.sh b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_locking.sh new file mode 100755 index 00000000000..7bca35c195a --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Colocated_Roundtrip/run_locking.sh @@ -0,0 +1,17 @@ +#! /bin/sh +# +# $Id$ +# + +. parameters + +for n in $NTHREADS; do + for c in $NCONSUMERS; do + for t in $LOCKING_TYPES; do + date + echo $t $c $n + + ./driver -ORBSvcConf ec.locking_${t}.conf -d -f -h 10000 -l 10000 -i $ITERATIONS -c $c -n $n > ${INPUT_BASE}.${t}.${c}.${n}.txt 2>&1 + done + done +done diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/Makefile b/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/Makefile index 18190650bdd..14d33864926 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/Makefile +++ b/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/Makefile @@ -59,7 +59,7 @@ server: $(addprefix $(VDIR),$(server_OBJS)) # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. -.obj/server.o .obj/server.so .shobj/server.o .shobj/server.so: server.cpp ../lib/RT_Class.h ../lib/rtec_perf_export.h \ +.obj/server.o .obj/server.o .obj/server.o .obj/server.o: server.cpp ../lib/RT_Class.h ../lib/rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ @@ -387,7 +387,7 @@ server: $(addprefix $(VDIR),$(server_OBJS)) $(ACE_ROOT)/ace/Get_Opt.h \ $(ACE_ROOT)/ace/Get_Opt.i -.obj/client.o .obj/client.so .shobj/client.o .shobj/client.so: client.cpp ../lib/RT_Class.h ../lib/rtec_perf_export.h \ +.obj/client.o .obj/client.o .obj/client.o .obj/client.o: client.cpp ../lib/RT_Class.h ../lib/rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ @@ -589,16 +589,8 @@ server: $(addprefix $(VDIR),$(server_OBJS)) $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \ $(TAO_ROOT)/tao/RTPortableServer/RTPortableServerC.i \ - ../lib/RTPOA_Setup.inl ../lib/RTServer_Setup.inl ../lib/Send_Task.h \ - ../lib/Supplier.h \ - $(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)/orbsvcs/orbsvcs/TimeBaseC.h \ + ../lib/RTPOA_Setup.inl ../lib/RTServer_Setup.inl ../lib/Peer_Base.h \ + ../lib/Federated_TestS.h ../lib/Federated_TestC.h \ $(TAO_ROOT)/tao/corba.h \ $(TAO_ROOT)/tao/NVList.h \ $(ACE_ROOT)/ace/Unbounded_Queue.h \ @@ -627,8 +619,7 @@ server: $(addprefix $(VDIR),$(server_OBJS)) $(TAO_ROOT)/tao/ObjectReferenceTemplateC.h \ $(TAO_ROOT)/tao/ObjectReferenceTemplateC.i \ $(TAO_ROOT)/tao/PortableInterceptorC.i \ - $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \ - $(TAO_ROOT)/orbsvcs/orbsvcs/TimeBaseC.i \ + ../lib/Federated_TestC.i \ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \ @@ -640,28 +631,43 @@ server: $(addprefix $(VDIR),$(server_OBJS)) $(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 \ + ../lib/Federated_TestS_T.h ../lib/Federated_TestS_T.i \ + ../lib/Federated_TestS_T.cpp ../lib/Federated_TestS.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminC.h \ + $(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 \ + $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/RtecBaseC.h \ + $(TAO_ROOT)/orbsvcs/orbsvcs/RtecBaseC.i \ + $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminC.i \ + ../lib/Auto_Disconnect.h ../lib/Auto_Functor.h ../lib/Auto_Functor.inl \ + ../lib/Auto_Functor.cpp ../lib/Auto_Disconnect.inl \ + ../lib/Auto_Disconnect.cpp ../lib/Send_Task.h ../lib/Supplier.h \ + $(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)/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/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 \ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS_T.cpp \ $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS.i \ - $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommC.h \ - $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommC.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/RtecEventChannelAdminC.h \ - $(TAO_ROOT)/orbsvcs/orbsvcs/RtecBaseC.h \ - $(TAO_ROOT)/orbsvcs/orbsvcs/RtecBaseC.i \ - $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminC.i \ $(ACE_ROOT)/ace/Task.h \ $(ACE_ROOT)/ace/Service_Object.h \ $(ACE_ROOT)/ace/Shared_Object.h \ @@ -697,21 +703,13 @@ server: $(addprefix $(VDIR),$(server_OBJS)) $(ACE_ROOT)/ace/Module.cpp \ $(ACE_ROOT)/ace/Stream_Modules.h \ $(ACE_ROOT)/ace/Stream_Modules.cpp \ + ../lib/Task_Activator.h \ + $(ACE_ROOT)/ace/Copy_Disabled.h \ + ../lib/Task_Activator.inl ../lib/Task_Activator.cpp \ ../lib/Client_Pair.h ../lib/Consumer.h \ $(ACE_ROOT)/ace/Sample_History.h \ $(ACE_ROOT)/ace/Sample_History.inl \ - ../lib/Client_Pair.inl ../lib/ORB_Task.h ../lib/ORB_Task.inl \ - ../lib/ORB_Task_Activator.h ../lib/Task_Activator.h \ - $(ACE_ROOT)/ace/Copy_Disabled.h \ - ../lib/Task_Activator.inl ../lib/Task_Activator.cpp \ - ../lib/ORB_Task_Activator.inl ../lib/Auto_Disconnect.h \ - ../lib/Auto_Functor.h ../lib/Auto_Functor.inl ../lib/Auto_Functor.cpp \ - ../lib/Auto_Disconnect.inl ../lib/Auto_Disconnect.cpp \ - ../lib/Low_Priority_Setup.h ../lib/Send_Task_Stopper.h \ - ../lib/Send_Task_Stopper.inl ../lib/Low_Priority_Setup.cpp \ - $(ACE_ROOT)/ace/Basic_Stats.h \ - $(ACE_ROOT)/ace/Basic_Stats.inl \ - ../lib/EC_Destroyer.h ../lib/EC_Destroyer.inl \ + ../lib/Client_Pair.inl \ $(TAO_ROOT)/orbsvcs/orbsvcs/Event_Service_Constants.h \ $(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.h \ $(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.i \ @@ -783,6 +781,8 @@ server: $(addprefix $(VDIR),$(server_OBJS)) $(ACE_ROOT)/ace/Get_Opt.i \ $(ACE_ROOT)/ace/High_Res_Timer.h \ $(ACE_ROOT)/ace/High_Res_Timer.i \ + $(ACE_ROOT)/ace/Basic_Stats.h \ + $(ACE_ROOT)/ace/Basic_Stats.inl \ $(ACE_ROOT)/ace/Stats.h \ $(ACE_ROOT)/ace/Stats.i diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/client.cpp b/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/client.cpp index 4e38b193ebd..5bd26a301fa 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/client.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/Federated_Roundtrip/client.cpp @@ -173,8 +173,8 @@ int main (int argc, char *argv[]) peer_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER); ACE_TRY_CHECK; - ACE_DEBUG ((LM_DEBUG, "Finished peer configuration and activation\n")); - + ACE_DEBUG ((LM_DEBUG, "Finished peer configuration and activation\n")); + CORBA::Object_var object = orb->string_to_object (ior ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; @@ -294,7 +294,7 @@ Roundtrip_Peer::run_experiment (CORBA::Long experiment_id, { results[i] = history.get_sample (i) / gsf; } - + return results._retn (); } diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Makefile b/TAO/orbsvcs/performance-tests/RTEvent/Makefile index 0eaf49a6c9e..9a61abcefeb 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/Makefile +++ b/TAO/orbsvcs/performance-tests/RTEvent/Makefile @@ -12,7 +12,8 @@ DIRS = \ lib \ RTCORBA_Baseline \ Roundtrip \ - Federated_Roundtrip + Federated_Roundtrip \ + Colocated_Roundtrip ifndef TAO_ROOT TAO_ROOT = $(ACE_ROOT)/TAO diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Makefile b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Makefile index e4fe794a4b1..3a93f2ec3d8 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Makefile +++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/Makefile @@ -70,7 +70,7 @@ realclean: clean # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. -.obj/server.o .obj/server.so .shobj/server.o .shobj/server.so: server.cpp ../lib/RT_Class.h ../lib/rtec_perf_export.h \ +.obj/server.o .obj/server.o .obj/server.o .obj/server.o: server.cpp ../lib/RT_Class.h ../lib/rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ @@ -396,7 +396,7 @@ realclean: clean $(ACE_ROOT)/ace/Get_Opt.h \ $(ACE_ROOT)/ace/Get_Opt.i -.obj/client.o .obj/client.so .shobj/client.o .shobj/client.so: client.cpp ../lib/RT_Class.h ../lib/rtec_perf_export.h \ +.obj/client.o .obj/client.o .obj/client.o .obj/client.o: client.cpp ../lib/RT_Class.h ../lib/rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ @@ -584,20 +584,8 @@ realclean: clean $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \ $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \ $(TAO_ROOT)/tao/Messaging/MessagingC.i \ - ../lib/SyncScope_Setup.inl ../lib/RTClient_Setup.inl ../lib/Send_Task.h \ - ../lib/Servant_var.h \ - $(ACE_ROOT)/ace/Swap.h \ - $(ACE_ROOT)/ace/Swap.inl \ - $(ACE_ROOT)/ace/Swap.cpp \ - ../lib/Servant_var.inl ../lib/Servant_var.cpp ../lib/Supplier.h \ - $(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)/orbsvcs/orbsvcs/TimeBaseC.h \ + ../lib/SyncScope_Setup.inl ../lib/RTClient_Setup.inl \ + ../lib/Client_Options.h TestC.h \ $(TAO_ROOT)/tao/corba.h \ $(TAO_ROOT)/tao/NVList.h \ $(ACE_ROOT)/ace/Unbounded_Queue.h \ @@ -626,93 +614,15 @@ realclean: clean $(TAO_ROOT)/tao/ObjectReferenceTemplateC.h \ $(TAO_ROOT)/tao/ObjectReferenceTemplateC.i \ $(TAO_ROOT)/tao/PortableInterceptorC.i \ - $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \ - $(TAO_ROOT)/orbsvcs/orbsvcs/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 \ - $(ACE_ROOT)/ace/Atomic_Op.h \ - $(ACE_ROOT)/ace/Atomic_Op.i \ - $(ACE_ROOT)/ace/Atomic_Op.cpp \ - $(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/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 \ - $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS_T.cpp \ - $(TAO_ROOT)/orbsvcs/orbsvcs/RtecDefaultEventDataS.i \ - $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommC.h \ - $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventCommC.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/RtecEventChannelAdminC.h \ - $(TAO_ROOT)/orbsvcs/orbsvcs/RtecBaseC.h \ - $(TAO_ROOT)/orbsvcs/orbsvcs/RtecBaseC.i \ - $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminC.i \ - $(ACE_ROOT)/ace/Task.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/Thread_Manager.h \ - $(ACE_ROOT)/ace/Containers.h \ - $(ACE_ROOT)/ace/Containers.i \ - $(ACE_ROOT)/ace/Containers_T.h \ - $(ACE_ROOT)/ace/Array_Base.h \ - $(ACE_ROOT)/ace/Array_Base.inl \ - $(ACE_ROOT)/ace/Array_Base.cpp \ - $(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 \ - $(ACE_ROOT)/ace/Task.i \ - $(ACE_ROOT)/ace/Task_T.h \ - $(ACE_ROOT)/ace/Message_Queue.h \ - $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ - $(ACE_ROOT)/ace/Message_Queue_T.h \ - $(ACE_ROOT)/ace/Message_Queue_T.i \ - $(ACE_ROOT)/ace/Message_Queue_T.cpp \ - $(ACE_ROOT)/ace/Notification_Strategy.h \ - $(ACE_ROOT)/ace/Notification_Strategy.inl \ - $(ACE_ROOT)/ace/Message_Queue.i \ - $(ACE_ROOT)/ace/Task_T.i \ - $(ACE_ROOT)/ace/Task_T.cpp \ - $(ACE_ROOT)/ace/Module.h \ - $(ACE_ROOT)/ace/Module.i \ - $(ACE_ROOT)/ace/Module.cpp \ - $(ACE_ROOT)/ace/Stream_Modules.h \ - $(ACE_ROOT)/ace/Stream_Modules.cpp \ - ../lib/Low_Priority_Setup.h ../lib/Auto_Disconnect.h \ - ../lib/Auto_Functor.h ../lib/Auto_Functor.inl ../lib/Auto_Functor.cpp \ - ../lib/Auto_Disconnect.inl ../lib/Auto_Disconnect.cpp \ - ../lib/Send_Task_Stopper.h ../lib/Task_Activator.h \ - $(ACE_ROOT)/ace/Copy_Disabled.h \ - ../lib/Task_Activator.inl ../lib/Task_Activator.cpp \ - ../lib/Send_Task_Stopper.inl ../lib/Low_Priority_Setup.cpp \ - $(ACE_ROOT)/ace/Basic_Stats.h \ - $(ACE_ROOT)/ace/Basic_Stats.inl TestC.h \ TestC.i \ $(TAO_ROOT)/tao/Strategies/advanced_resource.h \ $(TAO_ROOT)/tao/Strategies/strategies_export.h \ $(TAO_ROOT)/tao/default_resource.h \ $(TAO_ROOT)/tao/Resource_Factory.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 \ $(TAO_ROOT)/tao/Pluggable.h \ $(TAO_ROOT)/tao/Pluggable.i \ $(TAO_ROOT)/tao/Protocol_Factory.h \ @@ -753,6 +663,9 @@ 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 \ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ @@ -769,11 +682,24 @@ realclean: clean $(TAO_ROOT)/tao/PICurrent.inl \ $(TAO_ROOT)/tao/Protocols_Hooks.h \ $(ACE_ROOT)/ace/Hash_Map_Manager.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 \ $(TAO_ROOT)/tao/Strategies/advanced_resource.i \ $(TAO_ROOT)/tao/RTPortableServer/RTPortableServer.h \ $(TAO_ROOT)/tao/RTPortableServer/rtportableserver_export.h \ $(TAO_ROOT)/tao/RTPortableServer/RTPortableServerC.h \ + $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \ + $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \ + $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \ $(TAO_ROOT)/tao/RTPortableServer/RTPortableServerC.i \ $(ACE_ROOT)/ace/Get_Opt.h \ $(ACE_ROOT)/ace/Get_Opt.i \ @@ -781,10 +707,30 @@ realclean: clean $(ACE_ROOT)/ace/High_Res_Timer.i \ $(ACE_ROOT)/ace/Sample_History.h \ $(ACE_ROOT)/ace/Sample_History.inl \ + $(ACE_ROOT)/ace/Basic_Stats.h \ + $(ACE_ROOT)/ace/Basic_Stats.inl \ $(ACE_ROOT)/ace/Stats.h \ - $(ACE_ROOT)/ace/Stats.i + $(ACE_ROOT)/ace/Stats.i \ + $(ACE_ROOT)/ace/Task.h \ + $(ACE_ROOT)/ace/Task.i \ + $(ACE_ROOT)/ace/Task_T.h \ + $(ACE_ROOT)/ace/Message_Queue.h \ + $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ + $(ACE_ROOT)/ace/Message_Queue_T.h \ + $(ACE_ROOT)/ace/Message_Queue_T.i \ + $(ACE_ROOT)/ace/Message_Queue_T.cpp \ + $(ACE_ROOT)/ace/Notification_Strategy.h \ + $(ACE_ROOT)/ace/Notification_Strategy.inl \ + $(ACE_ROOT)/ace/Message_Queue.i \ + $(ACE_ROOT)/ace/Task_T.i \ + $(ACE_ROOT)/ace/Task_T.cpp \ + $(ACE_ROOT)/ace/Module.h \ + $(ACE_ROOT)/ace/Module.i \ + $(ACE_ROOT)/ace/Module.cpp \ + $(ACE_ROOT)/ace/Stream_Modules.h \ + $(ACE_ROOT)/ace/Stream_Modules.cpp -.obj/Roundtrip.o .obj/Roundtrip.so .shobj/Roundtrip.o .shobj/Roundtrip.so: Roundtrip.cpp Roundtrip.h \ +.obj/Roundtrip.o .obj/Roundtrip.o .obj/Roundtrip.o .obj/Roundtrip.o: Roundtrip.cpp Roundtrip.h \ $(ACE_ROOT)/ace/pre.h TestS.h TestC.h \ $(TAO_ROOT)/tao/corba.h \ $(ACE_ROOT)/ace/post.h \ @@ -981,7 +927,7 @@ realclean: clean $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \ TestS_T.h TestS_T.i TestS_T.cpp TestS.i -.obj/TestC.o .obj/TestC.so .shobj/TestC.o .shobj/TestC.so: TestC.cpp TestC.h \ +.obj/TestC.o .obj/TestC.o .obj/TestC.o .obj/TestC.o: TestC.cpp TestC.h \ $(TAO_ROOT)/tao/corba.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ @@ -1286,7 +1232,7 @@ realclean: clean $(TAO_ROOT)/tao/ClientInterceptorAdapter.h \ $(TAO_ROOT)/tao/ClientInterceptorAdapter.inl -.obj/TestS.o .obj/TestS.so .shobj/TestS.o .shobj/TestS.so: TestS.cpp TestS.h TestC.h \ +.obj/TestS.o .obj/TestS.o .obj/TestS.o .obj/TestS.o: TestS.cpp TestS.h TestC.h \ $(TAO_ROOT)/tao/corba.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp index 0baab43df2e..001e0381392 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Baseline/client.cpp @@ -4,6 +4,7 @@ #include "ORB_Holder.h" #include "RIR_Narrow.h" #include "RTClient_Setup.h" +#include "Client_Options.h" #include "TestC.h" #include "tao/Messaging/Messaging.h" @@ -19,17 +20,6 @@ ACE_RCSID(TAO_RTEC_PERF_RTCORBA_Baseline, client, "$Id$") -const char *ior = "file://test.ior"; -int iterations = 10000; -int nthreads = 0; -int do_dump_history = 0; -int high_priority_period = 0; -int high_priority_workload = 0; -int low_priority_period = 0; -int low_priority_workload = 0; -int disable_low_priority = 0; -int use_rt_corba = 0; - class Roundtrip_Task : public ACE_Task_Base { public: @@ -158,77 +148,6 @@ private: int period_in_usecs_; }; -int -parse_args (int argc, char *argv[]) -{ - ACE_Get_Opt get_opts (argc, argv, "k:i:n:l:h:w:v:zdr"); - int c; - - while ((c = get_opts ()) != -1) - switch (c) - { - case 'k': - ior = get_opts.opt_arg (); - break; - - case 'i': - iterations = ACE_OS::atoi (get_opts.opt_arg ()); - break; - - case 'n': - nthreads = ACE_OS::atoi (get_opts.opt_arg ()); - break; - - case 'h': - high_priority_period = ACE_OS::atoi (get_opts.opt_arg ()); - break; - - case 'l': - low_priority_period = ACE_OS::atoi (get_opts.opt_arg ()); - break; - - case 'w': - high_priority_workload = ACE_OS::atoi (get_opts.opt_arg ()); - break; - - case 'v': - low_priority_workload = ACE_OS::atoi (get_opts.opt_arg ()); - break; - - case 'd': - do_dump_history = 1; - break; - - case 'z': - disable_low_priority = 1; - break; - - case 'r': - use_rt_corba = 1; - break; - - case '?': - default: - ACE_ERROR_RETURN ((LM_ERROR, - "usage: %s " - "-k <IOR> " - "-i iterations (iterations) " - "-h high_priority_period (usecs) " - "-l low_priority_period (usecs) " - "-w high_priority_workload (usecs) " - "-v low_priority_workload (usecs) " - "-r (enable RT-CORBA) " - "-n nthreads (low priority thread) " - "-d (dump history) " - "-z (disable low priority) " - "\n", - argv [0]), - -1); - } - // Indicates sucessful parsing of the command line - return 0; -} - int main (int argc, char *argv[]) { RT_Class rt_class; @@ -239,20 +158,36 @@ int main (int argc, char *argv[]) ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; - if (parse_args (argc, argv) != 0) - return 1; + Client_Options options (argc, argv); + if (argc != 1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "Usage: %s " + "-i iterations (iterations) " + "-h high_priority_period (usecs) " + "-l low_priority_period (usecs) " + "-w high_priority_workload (usecs) " + "-v low_priority_workload (usecs) " + "-r (enable RT-CORBA) " + "-n nthreads (low priority thread) " + "-d (dump history) " + "-z (disable low priority) " + "\n", + argv [0]), + 1); + } - RTClient_Setup rtclient_setup (use_rt_corba, + RTClient_Setup rtclient_setup (options.use_rt_corba, orb, rt_class, - nthreads + options.nthreads ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; ACE_DEBUG ((LM_DEBUG, "Finished ORB and POA configuration\n")); CORBA::Object_var object = - orb->string_to_object (ior ACE_ENV_ARG_PARAMETER); + orb->string_to_object (options.ior ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; Test::Roundtrip_var roundtrip = @@ -265,9 +200,7 @@ int main (int argc, char *argv[]) ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; - int thread_count = 1; - if (disable_low_priority == 0) - thread_count += nthreads; + int thread_count = 1 + options.nthreads; ACE_Barrier barrier (thread_count); ACE_DEBUG ((LM_DEBUG, "Calibrating high res timer ....")); @@ -276,15 +209,19 @@ int main (int argc, char *argv[]) ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor (); ACE_DEBUG ((LM_DEBUG, "Done (%d)\n", gsf)); + int per_thread_period = options.low_priority_period; + if (options.global_low_priority_rate) + per_thread_period = options.low_priority_period * options.nthreads; Low_Priority_Task low_priority (roundtrip.in (), &barrier, - low_priority_period); + per_thread_period); low_priority.activate (rt_class.thr_sched_class () | THR_NEW_LWP | THR_JOINABLE, - nthreads, 1, + options.nthreads, 1, rt_class.priority_low ()); High_Priority_Task high_priority (roundtrip.in (), &barrier, - iterations, high_priority_period); + options.iterations, + options.high_priority_period); high_priority.activate (rt_class.thr_sched_class () | THR_NEW_LWP | THR_JOINABLE, 1, 1, @@ -296,7 +233,7 @@ int main (int argc, char *argv[]) ACE_DEBUG ((LM_DEBUG, "(%P|%t) client - high prio task joined\n")); ACE_Sample_History &history = high_priority.sample_history; - if (do_dump_history) + if (options.dump_history) { history.dump_samples ("HISTORY", gsf); } diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Callback.cpp b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Callback.cpp new file mode 100644 index 00000000000..4e5e65c16b6 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Callback.cpp @@ -0,0 +1,40 @@ +// +// $Id$ +// +#include "Callback.h" +#include "Implicit_Deactivator.h" + +ACE_RCSID(TAO_RTEC_Perf_RTCORBA_Callback, Callback, "$Id$") + +Callback::Callback (int iterations, + PortableServer::POA_ptr poa) + : sample_history_ (iterations) + , poa_ (PortableServer::POA::_duplicate (poa)) +{ +} + +ACE_Sample_History & +Callback::sample_history (void) +{ + return this->sample_history_; +} + +void +Callback::sample (Test::Timestamp the_timestamp + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + ACE_hrtime_t elapsed = ACE_OS::gethrtime () - the_timestamp; + + ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_); + if (sample_history_.max_samples () == sample_history_.sample_count ()) + return; + this->sample_history_.sample (elapsed); +} + +PortableServer::POA_ptr +Callback::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return PortableServer::POA::_duplicate (this->poa_.in ()); +} diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Callback.h b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Callback.h new file mode 100644 index 00000000000..58bd29e294b --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Callback.h @@ -0,0 +1,60 @@ +/** + * @file Callback.h + * + * $Id$ + * + */ + +#ifndef CALLBACK_H +#define CALLBACK_H +#include "ace/pre.h" + +#include "TestS.h" +#include "ace/Sample_History.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +/** + * @class Callback + * + * @brief Implicit the Test::Callback interface + * + */ +class Callback + : public virtual POA_Test::Callback + , public virtual PortableServer::RefCountServantBase + +{ +public: + /// Constructor + Callback (int iterations, + PortableServer::POA_ptr poa); + + /// Access the history of samples + ACE_Sample_History &sample_history (void); + + //@{ + /** @name The RtecEventComm::PushCallback methods + */ + virtual void sample (Test::Timestamp the_timestamp + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)); + + PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)); + //@} + +private: + /// Synchronize access to the internal data + TAO_SYNCH_MUTEX mutex_; + + /// The history of latency samples + ACE_Sample_History sample_history_; + + /// The default poa + PortableServer::POA_var poa_; +}; + +#endif /* TAO_PERF_RTEC_CALLBACK_H */ diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Makefile b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Makefile new file mode 100644 index 00000000000..9e6e1d1f14a --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Makefile @@ -0,0 +1,1974 @@ +# +# $Id$ +# + +LDLIBS = -lTAO_RTEC_Perf \ + -lTAO_RTCORBAEvent \ + -lTAO_RTEvent \ + -lTAO_CosNaming \ + -lTAO_Svc_Utils \ + -lTAO_IORTable \ + -lTAO_RTPortableServer \ + -lTAO_PortableServer \ + -lTAO_RTCORBA \ + -lTAO_Strategies \ + -lTAO_Messaging \ + -lTAO + +ifndef TAO_ROOT + TAO_ROOT = $(ACE_ROOT)/TAO +endif + +CPPFLAGS += \ + -I../lib \ + -I$(TAO_ROOT)/orbsvcs \ + -I$(TAO_ROOT) + +BIN = server client + +IDL_FILES = Test +IDL_SRC = TestC.cpp TestS.cpp + +server_OBJS = $(addsuffix .o, server Session Session_Factory) $(IDL_SRC:.cpp=.o) +client_OBJS = $(addsuffix .o, client Callback) $(IDL_SRC:.cpp=.o) + +SRC = server.cpp client.cpp Session.cpp Session_Factory.cpp Callback.cpp $(IDL_SRC) + +TAO_IDLFLAGS += -Ge 1 + +#---------------------------------------------------------------------------- +# Include macros and targets +#---------------------------------------------------------------------------- + +include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU +include $(ACE_ROOT)/include/makeinclude/macros.GNU +include $(TAO_ROOT)/rules.tao.GNU +include $(ACE_ROOT)/include/makeinclude/rules.common.GNU +include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU +include $(ACE_ROOT)/include/makeinclude/rules.local.GNU + +#---------------------------------------------------------------------------- +# Local targets +#---------------------------------------------------------------------------- + +client: $(addprefix $(VDIR),$(client_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) + +server: $(addprefix $(VDIR),$(server_OBJS)) + $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) + +.PRECIOUS: $(foreach file, $(IDL_FILES), $(foreach ext, $(IDL_EXT), $(file)$(ext))) + +realclean: clean + -$(RM) $(foreach file, $(IDL_FILES), $(foreach ext, $(IDL_EXT), $(file)$(ext))) + +#---------------------------------------------------------------------------- +# Dependencies +#---------------------------------------------------------------------------- + +# DO NOT DELETE THIS LINE -- g++dep uses it. +# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. + + +.obj/server.o .obj/server.so .shobj/server.o .shobj/server.so: server.cpp ../lib/RT_Class.h ../lib/rtec_perf_export.h \ + $(ACE_ROOT)/ace/pre.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/Sched_Params.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/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(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/Default_Constants.h \ + $(ACE_ROOT)/ace/Global_Macros.h \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Sched_Params.i \ + ../lib/RT_Class.inl ../lib/ORB_Holder.h \ + $(TAO_ROOT)/tao/ORB.h \ + $(TAO_ROOT)/tao/corbafwd.h \ + $(ACE_ROOT)/ace/CDR_Base.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/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/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 \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/orbconf.h \ + $(TAO_ROOT)/tao/varbase.h \ + $(TAO_ROOT)/tao/TAO_Export.h \ + $(TAO_ROOT)/tao/corbafwd.i \ + $(TAO_ROOT)/tao/Exception.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(TAO_ROOT)/tao/Exception.i \ + $(TAO_ROOT)/tao/Services.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/Environment.h \ + $(TAO_ROOT)/tao/Environment.i \ + $(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/CurrentC.h \ + $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/Policy_ForwardC.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/Policy_ForwardC.i \ + $(TAO_ROOT)/tao/Object.i \ + $(TAO_ROOT)/tao/CurrentC.i \ + $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Encodable.h \ + $(TAO_ROOT)/tao/PolicyC.i \ + $(TAO_ROOT)/tao/ORB.i \ + ../lib/ORB_Holder.inl ../lib/Servant_var.h \ + $(ACE_ROOT)/ace/Swap.h \ + $(ACE_ROOT)/ace/Swap.inl \ + $(ACE_ROOT)/ace/Swap.cpp \ + ../lib/Servant_var.inl ../lib/Servant_var.cpp ../lib/RIR_Narrow.h \ + ../lib/RIR_Narrow.cpp ../lib/RTServer_Setup.h ../lib/RTClient_Setup.h \ + ../lib/RTCORBA_Setup.h \ + $(TAO_ROOT)/tao/RTCORBA/RTCORBA.h \ + $(TAO_ROOT)/tao/RTCORBA/rtcorba_export.h \ + $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Typecode.i \ + $(TAO_ROOT)/tao/Any.i \ + $(TAO_ROOT)/tao/IOPC.i \ + $(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/RTCORBA/RTCORBAC.i \ + $(TAO_ROOT)/tao/RTCORBA/Priority_Mapping_Manager.h \ + $(TAO_ROOT)/tao/RTCORBA/Priority_Mapping.h \ + $(TAO_ROOT)/tao/RTCORBA/Priority_Mapping.i \ + $(TAO_ROOT)/tao/LocalObject.h \ + $(TAO_ROOT)/tao/LocalObject.i \ + $(TAO_ROOT)/tao/RTCORBA/Priority_Mapping_Manager.i \ + ../lib/RTCORBA_Setup.inl ../lib/PriorityBand_Setup.h \ + ../lib/PriorityBand_Setup.inl ../lib/SyncScope_Setup.h \ + $(TAO_ROOT)/tao/Messaging/Messaging.h \ + $(TAO_ROOT)/tao/Messaging/MessagingC.h \ + $(TAO_ROOT)/tao/Messaging/messaging_export.h \ + $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueBase.i \ + $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/ValueFactory.i \ + $(TAO_ROOT)/tao/PollableC.h \ + $(TAO_ROOT)/tao/PollableC.i \ + $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \ + $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \ + $(TAO_ROOT)/tao/Messaging/MessagingC.i \ + ../lib/SyncScope_Setup.inl ../lib/RTClient_Setup.inl \ + ../lib/RTPOA_Setup.h \ + $(TAO_ROOT)/tao/RTPortableServer/RTPortableServer.h \ + $(TAO_ROOT)/tao/RTPortableServer/rtportableserver_export.h \ + $(TAO_ROOT)/tao/RTPortableServer/RTPortableServerC.h \ + $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \ + $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \ + $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \ + $(TAO_ROOT)/tao/RTPortableServer/RTPortableServerC.i \ + ../lib/RTPOA_Setup.inl ../lib/RTServer_Setup.inl Session_Factory.h \ + TestS.h TestC.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/Principal.h \ + $(TAO_ROOT)/tao/OctetSeqC.h \ + $(TAO_ROOT)/tao/OctetSeqC.i \ + $(TAO_ROOT)/tao/Principal.i \ + $(TAO_ROOT)/tao/BoundsC.h \ + $(TAO_ROOT)/tao/BoundsC.i \ + $(TAO_ROOT)/tao/DomainC.h \ + $(TAO_ROOT)/tao/DomainC.i \ + $(TAO_ROOT)/tao/WrongTransactionC.h \ + $(TAO_ROOT)/tao/WrongTransactionC.i \ + $(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/ObjectReferenceTemplateC.h \ + $(TAO_ROOT)/tao/ObjectReferenceTemplateC.i \ + $(TAO_ROOT)/tao/PortableInterceptorC.i \ + TestC.i \ + $(TAO_ROOT)/tao/PortableServer/PortableServer.h \ + $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \ + $(TAO_ROOT)/tao/Abstract_Servant_Base.h \ + $(ACE_ROOT)/ace/Atomic_Op.h \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Atomic_Op.cpp \ + $(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 \ + TestS_T.h TestS_T.i TestS_T.cpp TestS.i \ + $(TAO_ROOT)/tao/Strategies/advanced_resource.h \ + $(TAO_ROOT)/tao/Strategies/strategies_export.h \ + $(TAO_ROOT)/tao/default_resource.h \ + $(TAO_ROOT)/tao/Resource_Factory.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 \ + $(TAO_ROOT)/tao/Pluggable.h \ + $(TAO_ROOT)/tao/Pluggable.i \ + $(TAO_ROOT)/tao/Protocol_Factory.h \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(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)/tao/default_resource.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/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 \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \ + $(TAO_ROOT)/tao/Object_Ref_Table.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(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.i \ + $(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 \ + $(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 \ + $(TAO_ROOT)/tao/Strategies/advanced_resource.i \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Get_Opt.i + +.obj/client.o .obj/client.so .shobj/client.o .shobj/client.so: client.cpp ../lib/RT_Class.h ../lib/rtec_perf_export.h \ + $(ACE_ROOT)/ace/pre.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/Sched_Params.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/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(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/Default_Constants.h \ + $(ACE_ROOT)/ace/Global_Macros.h \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(ACE_ROOT)/ace/Sched_Params.i \ + ../lib/RT_Class.inl ../lib/ORB_Holder.h \ + $(TAO_ROOT)/tao/ORB.h \ + $(TAO_ROOT)/tao/corbafwd.h \ + $(ACE_ROOT)/ace/CDR_Base.h \ + $(ACE_ROOT)/ace/Message_Block.h \ + $(ACE_ROOT)/ace/ACE.h \ + $(ACE_ROOT)/ace/Flag_Manip.h \ + $(ACE_ROOT)/ace/Flag_Manip.i \ + $(ACE_ROOT)/ace/Handle_Ops.h \ + $(ACE_ROOT)/ace/Handle_Ops.i \ + $(ACE_ROOT)/ace/Lib_Find.h \ + $(ACE_ROOT)/ace/Lib_Find.i \ + $(ACE_ROOT)/ace/Init_ACE.h \ + $(ACE_ROOT)/ace/Init_ACE.i \ + $(ACE_ROOT)/ace/Sock_Connect.h \ + $(ACE_ROOT)/ace/Sock_Connect.i \ + $(ACE_ROOT)/ace/ACE.i \ + $(ACE_ROOT)/ace/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/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 \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/orbconf.h \ + $(TAO_ROOT)/tao/varbase.h \ + $(TAO_ROOT)/tao/TAO_Export.h \ + $(TAO_ROOT)/tao/corbafwd.i \ + $(TAO_ROOT)/tao/Exception.h \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(TAO_ROOT)/tao/Exception.i \ + $(TAO_ROOT)/tao/Services.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/Environment.h \ + $(TAO_ROOT)/tao/Environment.i \ + $(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/CurrentC.h \ + $(TAO_ROOT)/tao/Object.h \ + $(TAO_ROOT)/tao/Policy_ForwardC.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/Policy_ForwardC.i \ + $(TAO_ROOT)/tao/Object.i \ + $(TAO_ROOT)/tao/CurrentC.i \ + $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Encodable.h \ + $(TAO_ROOT)/tao/PolicyC.i \ + $(TAO_ROOT)/tao/ORB.i \ + ../lib/ORB_Holder.inl ../lib/Servant_var.h \ + $(ACE_ROOT)/ace/Swap.h \ + $(ACE_ROOT)/ace/Swap.inl \ + $(ACE_ROOT)/ace/Swap.cpp \ + ../lib/Servant_var.inl ../lib/Servant_var.cpp ../lib/RIR_Narrow.h \ + ../lib/RIR_Narrow.cpp ../lib/RTServer_Setup.h ../lib/RTClient_Setup.h \ + ../lib/RTCORBA_Setup.h \ + $(TAO_ROOT)/tao/RTCORBA/RTCORBA.h \ + $(TAO_ROOT)/tao/RTCORBA/rtcorba_export.h \ + $(TAO_ROOT)/tao/RTCORBA/RTCORBAC.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/Any.h \ + $(TAO_ROOT)/tao/Typecode.h \ + $(TAO_ROOT)/tao/Typecode.i \ + $(TAO_ROOT)/tao/Any.i \ + $(TAO_ROOT)/tao/IOPC.i \ + $(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/RTCORBA/RTCORBAC.i \ + $(TAO_ROOT)/tao/RTCORBA/Priority_Mapping_Manager.h \ + $(TAO_ROOT)/tao/RTCORBA/Priority_Mapping.h \ + $(TAO_ROOT)/tao/RTCORBA/Priority_Mapping.i \ + $(TAO_ROOT)/tao/LocalObject.h \ + $(TAO_ROOT)/tao/LocalObject.i \ + $(TAO_ROOT)/tao/RTCORBA/Priority_Mapping_Manager.i \ + ../lib/RTCORBA_Setup.inl ../lib/PriorityBand_Setup.h \ + ../lib/PriorityBand_Setup.inl ../lib/SyncScope_Setup.h \ + $(TAO_ROOT)/tao/Messaging/Messaging.h \ + $(TAO_ROOT)/tao/Messaging/MessagingC.h \ + $(TAO_ROOT)/tao/Messaging/messaging_export.h \ + $(TAO_ROOT)/tao/ValueBase.h \ + $(TAO_ROOT)/tao/ValueBase.i \ + $(TAO_ROOT)/tao/ValueFactory.h \ + $(TAO_ROOT)/tao/ValueFactory.i \ + $(TAO_ROOT)/tao/PollableC.h \ + $(TAO_ROOT)/tao/PollableC.i \ + $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \ + $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \ + $(TAO_ROOT)/tao/Messaging/MessagingC.i \ + ../lib/SyncScope_Setup.inl ../lib/RTClient_Setup.inl \ + ../lib/RTPOA_Setup.h \ + $(TAO_ROOT)/tao/RTPortableServer/RTPortableServer.h \ + $(TAO_ROOT)/tao/RTPortableServer/rtportableserver_export.h \ + $(TAO_ROOT)/tao/RTPortableServer/RTPortableServerC.h \ + $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \ + $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \ + $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \ + $(TAO_ROOT)/tao/RTPortableServer/RTPortableServerC.i \ + ../lib/RTPOA_Setup.inl ../lib/RTServer_Setup.inl \ + ../lib/Client_Options.h Callback.h TestS.h TestC.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/Principal.h \ + $(TAO_ROOT)/tao/OctetSeqC.h \ + $(TAO_ROOT)/tao/OctetSeqC.i \ + $(TAO_ROOT)/tao/Principal.i \ + $(TAO_ROOT)/tao/BoundsC.h \ + $(TAO_ROOT)/tao/BoundsC.i \ + $(TAO_ROOT)/tao/DomainC.h \ + $(TAO_ROOT)/tao/DomainC.i \ + $(TAO_ROOT)/tao/WrongTransactionC.h \ + $(TAO_ROOT)/tao/WrongTransactionC.i \ + $(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/ObjectReferenceTemplateC.h \ + $(TAO_ROOT)/tao/ObjectReferenceTemplateC.i \ + $(TAO_ROOT)/tao/PortableInterceptorC.i \ + TestC.i \ + $(TAO_ROOT)/tao/PortableServer/PortableServer.h \ + $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \ + $(TAO_ROOT)/tao/Abstract_Servant_Base.h \ + $(ACE_ROOT)/ace/Atomic_Op.h \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Atomic_Op.cpp \ + $(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 \ + TestS_T.h TestS_T.i TestS_T.cpp TestS.i \ + $(ACE_ROOT)/ace/Sample_History.h \ + $(ACE_ROOT)/ace/Sample_History.inl \ + $(TAO_ROOT)/tao/Strategies/advanced_resource.h \ + $(TAO_ROOT)/tao/Strategies/strategies_export.h \ + $(TAO_ROOT)/tao/default_resource.h \ + $(TAO_ROOT)/tao/Resource_Factory.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 \ + $(TAO_ROOT)/tao/Pluggable.h \ + $(TAO_ROOT)/tao/Pluggable.i \ + $(TAO_ROOT)/tao/Protocol_Factory.h \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(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)/tao/default_resource.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/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 \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \ + $(TAO_ROOT)/tao/Object_Ref_Table.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(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.i \ + $(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 \ + $(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 \ + $(TAO_ROOT)/tao/Strategies/advanced_resource.i \ + $(ACE_ROOT)/ace/Get_Opt.h \ + $(ACE_ROOT)/ace/Get_Opt.i + +.obj/Session.o .obj/Session.so .shobj/Session.o .shobj/Session.so: Session.cpp Session.h \ + $(ACE_ROOT)/ace/pre.h TestS.h TestC.h \ + $(TAO_ROOT)/tao/corba.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 \ + $(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/Default_Constants.h \ + $(ACE_ROOT)/ace/Global_Macros.h \ + $(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/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 \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/orbconf.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 \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(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/Policy_ForwardC.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/Policy_ForwardC.i \ + $(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/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/CurrentC.h \ + $(TAO_ROOT)/tao/CurrentC.i \ + $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Encodable.h \ + $(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/WrongTransactionC.i \ + $(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/ObjectReferenceTemplateC.h \ + $(TAO_ROOT)/tao/ObjectReferenceTemplateC.i \ + $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ + $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \ + $(TAO_ROOT)/tao/PortableInterceptorC.i \ + TestC.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 \ + $(ACE_ROOT)/ace/Atomic_Op.h \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Atomic_Op.cpp \ + $(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 \ + TestS_T.h TestS_T.i TestS_T.cpp TestS.i ../lib/Implicit_Deactivator.h \ + ../lib/rtec_perf_export.h ../lib/Implicit_Deactivator.inl + +.obj/Session_Factory.o .obj/Session_Factory.so .shobj/Session_Factory.o .shobj/Session_Factory.so: Session_Factory.cpp Session_Factory.h \ + $(ACE_ROOT)/ace/pre.h TestS.h TestC.h \ + $(TAO_ROOT)/tao/corba.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 \ + $(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/Default_Constants.h \ + $(ACE_ROOT)/ace/Global_Macros.h \ + $(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/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 \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/orbconf.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 \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(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/Policy_ForwardC.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/Policy_ForwardC.i \ + $(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/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/CurrentC.h \ + $(TAO_ROOT)/tao/CurrentC.i \ + $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Encodable.h \ + $(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/WrongTransactionC.i \ + $(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/ObjectReferenceTemplateC.h \ + $(TAO_ROOT)/tao/ObjectReferenceTemplateC.i \ + $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ + $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \ + $(TAO_ROOT)/tao/PortableInterceptorC.i \ + TestC.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 \ + $(ACE_ROOT)/ace/Atomic_Op.h \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Atomic_Op.cpp \ + $(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 \ + TestS_T.h TestS_T.i TestS_T.cpp TestS.i Session.h ../lib/Servant_var.h \ + $(ACE_ROOT)/ace/Swap.h \ + $(ACE_ROOT)/ace/Swap.inl \ + $(ACE_ROOT)/ace/Swap.cpp \ + ../lib/Servant_var.inl ../lib/Servant_var.cpp + +.obj/Callback.o .obj/Callback.so .shobj/Callback.o .shobj/Callback.so: Callback.cpp Callback.h \ + $(ACE_ROOT)/ace/pre.h TestS.h TestC.h \ + $(TAO_ROOT)/tao/corba.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 \ + $(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/Default_Constants.h \ + $(ACE_ROOT)/ace/Global_Macros.h \ + $(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/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 \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/orbconf.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 \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(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/Policy_ForwardC.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/Policy_ForwardC.i \ + $(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/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/CurrentC.h \ + $(TAO_ROOT)/tao/CurrentC.i \ + $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Encodable.h \ + $(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/WrongTransactionC.i \ + $(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/ObjectReferenceTemplateC.h \ + $(TAO_ROOT)/tao/ObjectReferenceTemplateC.i \ + $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ + $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \ + $(TAO_ROOT)/tao/PortableInterceptorC.i \ + TestC.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 \ + $(ACE_ROOT)/ace/Atomic_Op.h \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Atomic_Op.cpp \ + $(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 \ + TestS_T.h TestS_T.i TestS_T.cpp TestS.i \ + $(ACE_ROOT)/ace/Sample_History.h \ + $(ACE_ROOT)/ace/Sample_History.inl \ + ../lib/Implicit_Deactivator.h ../lib/rtec_perf_export.h \ + ../lib/Implicit_Deactivator.inl + +.obj/TestC.o .obj/TestC.so .shobj/TestC.o .shobj/TestC.so: TestC.cpp TestC.h \ + $(TAO_ROOT)/tao/corba.h \ + $(ACE_ROOT)/ace/pre.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 \ + $(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/Default_Constants.h \ + $(ACE_ROOT)/ace/Global_Macros.h \ + $(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/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 \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/orbconf.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 \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(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/Policy_ForwardC.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/Policy_ForwardC.i \ + $(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/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/CurrentC.h \ + $(TAO_ROOT)/tao/CurrentC.i \ + $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Encodable.h \ + $(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/WrongTransactionC.i \ + $(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/ObjectReferenceTemplateC.h \ + $(TAO_ROOT)/tao/ObjectReferenceTemplateC.i \ + $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ + $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \ + $(TAO_ROOT)/tao/PortableInterceptorC.i \ + TestC.i $(TAO_ROOT)/tao/Stub.h \ + $(TAO_ROOT)/tao/Pluggable.h \ + $(TAO_ROOT)/tao/Pluggable.i \ + $(TAO_ROOT)/tao/MProfile.h \ + $(TAO_ROOT)/tao/Profile.h \ + $(TAO_ROOT)/tao/Tagged_Components.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.i \ + $(TAO_ROOT)/tao/Tagged_Components.i \ + $(TAO_ROOT)/tao/GIOP_Message_Version.h \ + $(TAO_ROOT)/tao/GIOP_Message_Version.inl \ + $(TAO_ROOT)/tao/Profile.i \ + $(TAO_ROOT)/tao/MProfile.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 \ + $(ACE_ROOT)/ace/Service_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.h \ + $(ACE_ROOT)/ace/Shared_Object.i \ + $(ACE_ROOT)/ace/Service_Object.i \ + $(TAO_ROOT)/tao/Protocol_Factory.h \ + $(TAO_ROOT)/tao/params.h \ + $(TAO_ROOT)/tao/params.i \ + $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \ + $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \ + $(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/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 \ + $(ACE_ROOT)/ace/Service_Config.h \ + $(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)/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 \ + $(ACE_ROOT)/ace/Array_Base.h \ + $(ACE_ROOT)/ace/Array_Base.inl \ + $(ACE_ROOT)/ace/Array_Base.cpp \ + $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \ + $(TAO_ROOT)/tao/Object_Ref_Table.h \ + $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Functor.h \ + $(ACE_ROOT)/ace/Functor.i \ + $(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.i \ + $(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 \ + $(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 \ + $(TAO_ROOT)/tao/Stub.i \ + $(TAO_ROOT)/tao/Invocation.h \ + $(TAO_ROOT)/tao/Synch_Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.h \ + $(TAO_ROOT)/tao/Reply_Dispatcher.i \ + $(TAO_ROOT)/tao/LF_Event.h \ + $(TAO_ROOT)/tao/LF_Event.inl \ + $(TAO_ROOT)/tao/TAOC.h \ + $(TAO_ROOT)/tao/TimeBaseC.h \ + $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.h \ + $(TAO_ROOT)/tao/SmartProxies/smartproxies_export.h \ + $(TAO_ROOT)/tao/SmartProxies/Smart_Proxies.inl \ + $(TAO_ROOT)/tao/TimeBaseC.i \ + $(TAO_ROOT)/tao/TAOC.i \ + $(TAO_ROOT)/tao/operation_details.h \ + $(TAO_ROOT)/tao/Service_Context.h \ + $(TAO_ROOT)/tao/Service_Context.inl \ + $(TAO_ROOT)/tao/target_specification.h \ + $(TAO_ROOT)/tao/target_specification.i \ + $(TAO_ROOT)/tao/operation_details.i \ + $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.h \ + $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.i \ + $(TAO_ROOT)/tao/Invocation.i \ + $(TAO_ROOT)/tao/PortableInterceptor.h \ + $(TAO_ROOT)/tao/RequestInfo_Util.h \ + $(TAO_ROOT)/tao/ClientRequestInfo_i.h \ + $(TAO_ROOT)/tao/ClientRequestInfo_i.inl \ + $(TAO_ROOT)/tao/ClientInterceptorAdapter.h \ + $(TAO_ROOT)/tao/ClientInterceptorAdapter.inl + +.obj/TestS.o .obj/TestS.so .shobj/TestS.o .shobj/TestS.so: TestS.cpp TestS.h TestC.h \ + $(TAO_ROOT)/tao/corba.h \ + $(ACE_ROOT)/ace/pre.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 \ + $(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/Default_Constants.h \ + $(ACE_ROOT)/ace/Global_Macros.h \ + $(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/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 \ + $(ACE_ROOT)/ace/CORBA_macros.h \ + $(TAO_ROOT)/tao/orbconf.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 \ + $(ACE_ROOT)/ace/SString.h \ + $(ACE_ROOT)/ace/String_Base.h \ + $(ACE_ROOT)/ace/String_Base_Const.h \ + $(ACE_ROOT)/ace/String_Base.i \ + $(ACE_ROOT)/ace/String_Base.cpp \ + $(ACE_ROOT)/ace/Auto_Ptr.h \ + $(ACE_ROOT)/ace/Auto_Ptr.i \ + $(ACE_ROOT)/ace/Auto_Ptr.cpp \ + $(ACE_ROOT)/ace/SString.i \ + $(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/Policy_ForwardC.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/Policy_ForwardC.i \ + $(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/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/CurrentC.h \ + $(TAO_ROOT)/tao/CurrentC.i \ + $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Object_Proxy_Impl.h \ + $(TAO_ROOT)/tao/Encodable.h \ + $(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/WrongTransactionC.i \ + $(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/ObjectReferenceTemplateC.h \ + $(TAO_ROOT)/tao/ObjectReferenceTemplateC.i \ + $(TAO_ROOT)/tao/Messaging_SyncScopeC.h \ + $(TAO_ROOT)/tao/IOPC.h \ + $(TAO_ROOT)/tao/IOPC.i \ + $(TAO_ROOT)/tao/Messaging_SyncScopeC.i \ + $(TAO_ROOT)/tao/PortableInterceptorC.i \ + TestC.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 \ + $(ACE_ROOT)/ace/Atomic_Op.h \ + $(ACE_ROOT)/ace/Atomic_Op.i \ + $(ACE_ROOT)/ace/Atomic_Op.cpp \ + $(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 \ + TestS_T.h TestS_T.i TestS_T.cpp TestS.i \ + $(TAO_ROOT)/tao/PortableServer/Object_Adapter.h \ + $(TAO_ROOT)/tao/PortableServer/Key_Adapters.h \ + $(ACE_ROOT)/ace/Map.h \ + $(ACE_ROOT)/ace/Map_T.h \ + $(ACE_ROOT)/ace/Pair.h \ + $(ACE_ROOT)/ace/Pair_T.h \ + $(ACE_ROOT)/ace/Pair_T.i \ + $(ACE_ROOT)/ace/Pair_T.cpp \ + $(ACE_ROOT)/ace/Map_Manager.h \ + $(ACE_ROOT)/ace/Map_Manager.i \ + $(ACE_ROOT)/ace/Map_Manager.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/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/Active_Map_Manager.h \ + $(ACE_ROOT)/ace/Active_Map_Manager.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.h \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.i \ + $(ACE_ROOT)/ace/Active_Map_Manager_T.cpp \ + $(ACE_ROOT)/ace/Map_T.i \ + $(ACE_ROOT)/ace/Map_T.cpp \ + $(TAO_ROOT)/tao/PortableServer/Key_Adapters.i \ + $(TAO_ROOT)/tao/PortableServer/poa_macros.h \ + $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.h \ + $(TAO_ROOT)/tao/Server_Strategy_Factory.h \ + $(TAO_ROOT)/tao/PortableServer/Active_Object_Map.i \ + $(TAO_ROOT)/tao/Adapter.h \ + $(TAO_ROOT)/tao/Adapter.i \ + $(TAO_ROOT)/tao/PortableServer/Default_Policy_Validator.h \ + $(TAO_ROOT)/tao/Policy_Validator.h \ + $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.h \ + $(TAO_ROOT)/tao/PortableServer/POA_Policies.h \ + $(TAO_ROOT)/tao/PortableServer/POA_Policies.i \ + $(TAO_ROOT)/tao/Policy_Set.h \ + $(TAO_ROOT)/tao/Policy_Set.i \ + $(TAO_ROOT)/tao/PortableServer/POA_Policy_Set.i \ + $(TAO_ROOT)/tao/PortableServer/Object_Adapter.i \ + $(TAO_ROOT)/tao/PortableServer/Operation_Table.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/TAO_Server_Request.h \ + $(TAO_ROOT)/tao/Tagged_Profile.h \ + $(TAO_ROOT)/tao/GIOPC.h \ + $(TAO_ROOT)/tao/GIOPC.i \ + $(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 \ + $(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/PolicyFactory_Registry.h \ + $(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/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 \ + $(TAO_ROOT)/tao/Stub.h \ + $(TAO_ROOT)/tao/MProfile.h \ + $(TAO_ROOT)/tao/Profile.h \ + $(TAO_ROOT)/tao/Tagged_Components.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.h \ + $(TAO_ROOT)/tao/CONV_FRAMEC.i \ + $(TAO_ROOT)/tao/Tagged_Components.i \ + $(TAO_ROOT)/tao/GIOP_Message_Version.h \ + $(TAO_ROOT)/tao/GIOP_Message_Version.inl \ + $(TAO_ROOT)/tao/Profile.i \ + $(TAO_ROOT)/tao/MProfile.i \ + $(TAO_ROOT)/tao/Stub.i \ + $(TAO_ROOT)/tao/IFR_Client_Adapter.h \ + $(TAO_ROOT)/tao/PortableInterceptor.h \ + $(TAO_ROOT)/tao/RequestInfo_Util.h \ + $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \ + $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \ + $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.h \ + $(TAO_ROOT)/tao/PortableServer/ServerInterceptorAdapter.inl \ + $(ACE_ROOT)/ace/Dynamic_Service.h \ + $(ACE_ROOT)/ace/Dynamic_Service_Base.h \ + $(ACE_ROOT)/ace/Dynamic_Service.i \ + $(ACE_ROOT)/ace/Dynamic_Service.cpp + +# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Session.cpp b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Session.cpp new file mode 100644 index 00000000000..de016ae92a1 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Session.cpp @@ -0,0 +1,38 @@ +// +// $Id$ +// +#include "Session.h" +#include "Implicit_Deactivator.h" + +ACE_RCSID(TAO_RTEC_Perf_RTCORBA_Callback, Session, "$Id$") + +Session::Session (Test::Callback_ptr cb, + PortableServer::POA_ptr poa) + : cb_ (Test::Callback::_duplicate (cb)) + , poa_ (PortableServer::POA::_duplicate (poa)) +{ +} + +void +Session::sample (Test::Timestamp the_timestamp + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + this->cb_->sample (the_timestamp + ACE_ENV_ARG_PARAMETER); +} + +void +Session::shutdown (ACE_ENV_SINGLE_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + Implicit_Deactivator deactivator (this + ACE_ENV_ARG_PARAMETER); +} + +PortableServer::POA_ptr +Session::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return PortableServer::POA::_duplicate (this->poa_.in ()); +} diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Session.h b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Session.h new file mode 100644 index 00000000000..266ca3c0447 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Session.h @@ -0,0 +1,39 @@ +// +// $Id$ +// + +#ifndef SESSION_H +#define SESSION_H +#include "ace/pre.h" + +#include "TestS.h" + +/// Implement the Test::Session interface +class Session + : public virtual POA_Test::Session + , public virtual PortableServer::RefCountServantBase +{ +public: + /// Constructor + Session (Test::Callback_ptr cb, + PortableServer::POA_ptr poa); + + // = The skeleton methods + virtual void sample (Test::Timestamp the_timestamp + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)); + + virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)); + + virtual PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)); + +private: + Test::Callback_var cb_; + + PortableServer::POA_var poa_; +}; + +#include "ace/post.h" +#endif /* SESSION_H */ diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Session_Factory.cpp b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Session_Factory.cpp new file mode 100644 index 00000000000..1d7fb7af9e2 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Session_Factory.cpp @@ -0,0 +1,40 @@ +// +// $Id$ +// +#include "Session_Factory.h" +#include "Session.h" +#include "Servant_var.h" + +ACE_RCSID(TAO_RTEC_Perf_RTCORBA_Callback, Session_Factory, "$Id$") + +Session_Factory::Session_Factory (CORBA::ORB_ptr orb, + PortableServer::POA_ptr poa) + : orb_ (CORBA::ORB::_duplicate (orb)) + , poa_ (PortableServer::POA::_duplicate (poa)) +{ +} + +Test::Session_ptr +Session_Factory::create_new_session (Test::Callback_ptr cb + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + Servant_var<Session> session_impl (new Session (cb, + this->poa_.in ())); + + return session_impl->_this (ACE_ENV_SINGLE_ARG_PARAMETER); +} + +void +Session_Factory::shutdown (ACE_ENV_SINGLE_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + this->orb_->shutdown (0 ACE_ENV_ARG_PARAMETER); +} + +PortableServer::POA_ptr +Session_Factory::_default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + return PortableServer::POA::_duplicate (this->poa_.in ()); +} diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Session_Factory.h b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Session_Factory.h new file mode 100644 index 00000000000..3a3272f7dae --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Session_Factory.h @@ -0,0 +1,40 @@ +// +// $Id$ +// + +#ifndef SESSION_FACTORY_H +#define SESSION_FACTORY_H +#include "ace/pre.h" + +#include "TestS.h" + +/// Implement the Test::Session_Factory interface +class Session_Factory + : public virtual POA_Test::Session_Factory + , public virtual PortableServer::RefCountServantBase +{ +public: + /// Constructor + Session_Factory (CORBA::ORB_ptr orb, + PortableServer::POA_ptr poa); + + // = The skeleton methods + virtual Test::Session_ptr create_new_session (Test::Callback_ptr cb + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)); + + virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL) + ACE_THROW_SPEC ((CORBA::SystemException)); + + PortableServer::POA_ptr _default_POA (ACE_ENV_SINGLE_ARG_DECL_NOT_USED) + ACE_THROW_SPEC ((CORBA::SystemException)); + +private: + /// Use an ORB reference to shutdown the application. + CORBA::ORB_var orb_; + + PortableServer::POA_var poa_; +}; + +#include "ace/post.h" +#endif /* SESSION_FACTORY_H */ diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Test.idl b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Test.idl new file mode 100644 index 00000000000..2b27d49688c --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/Test.idl @@ -0,0 +1,39 @@ +// +// $Id$ +// + +/// A simple module to avoid namespace pollution +module Test +{ + /// Use a timestamp to measure the roundtrip delay + typedef unsigned long long Timestamp; + + interface Session; + interface Callback; + + /// Create sessions to measure roundtrip delays + interface Session_Factory + { + /// Return a new session + Session create_new_session (in Callback the_callback); + + /// Shutdown the server + void shutdown (); + }; + + /// Each experiment is ran using completely separate + interface Session + { + /// Run one iteration of the experiment + void sample (in Timestamp the_timestamp); + + /// Destroy the session + void shutdown (); + }; + + interface Callback + { + /// Measure one iteration + void sample (in Timestamp the_timestamp); + }; +}; diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp new file mode 100644 index 00000000000..c3213cb0816 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/client.cpp @@ -0,0 +1,318 @@ +// $Id$ + +#include "RT_Class.h" +#include "ORB_Holder.h" +#include "Servant_var.h" +#include "RIR_Narrow.h" +#include "RTServer_Setup.h" +#include "Client_Options.h" +#include "Callback.h" +#include "Implicit_Deactivator.h" +#include "Shutdown.h" +#include "Auto_Functor.h" + +#include "tao/PortableServer/PortableServer.h" +#include "tao/RTPortableServer/RTPortableServer.h" +#include "tao/Strategies/advanced_resource.h" +#include "tao/Messaging/Messaging.h" +#include "ace/Auto_Ptr.h" +#include "ace/High_Res_Timer.h" +#include "ace/Basic_Stats.h" +#include "ace/Stats.h" +#include "ace/Task.h" + +ACE_RCSID(TAO_PERF_RTEC_RTCORBA_Baseline, client, "$Id$") + +class Roundtrip_Task : public ACE_Task_Base +{ +public: + Roundtrip_Task (Test::Session_Factory_ptr session_factory, + ACE_Barrier *barrier) + : session_factory_ (Test::Session_Factory::_duplicate (session_factory)) + , barrier_ (barrier) + { + } + + virtual void run_test (ACE_ENV_SINGLE_ARG_DECL) = 0; + + virtual int svc (void) + { + this->barrier_->wait (); + ACE_DECLARE_NEW_CORBA_ENV; + ACE_TRY + { + this->run_test (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + } + ACE_ENDTRY; + + ACE_DEBUG ((LM_DEBUG, "(%P|%t) done...\n")); + return 0; + } + +protected: + Test::Session_Factory_var session_factory_; + + ACE_Barrier *barrier_; +}; + +class High_Priority_Task : public Roundtrip_Task +{ +public: + High_Priority_Task (Test::Session_Factory_ptr session_factory, + ACE_Barrier *barrier, + PortableServer::POA_ptr poa, + int iterations, + int period_in_usecs) + : Roundtrip_Task (session_factory, barrier) + , callback (new Callback (iterations, poa)) + , iterations_ (iterations) + , period_in_usecs_ (period_in_usecs) + { + } + + virtual void run_test (ACE_ENV_SINGLE_ARG_DECL) + { + Test::Callback_var cb = + callback->_this (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK; + + Implicit_Deactivator deactivator (callback); + + Test::Session_var session = + this->session_factory_->create_new_session (cb.in () + ACE_ENV_ARG_PARAMETER); + ACE_CHECK; + + Auto_Functor<Test::Session,Shutdown<Test::Session> > auto_shutdown (session.in ()); + + for (int i = 0; i != this->iterations_; ++i) + { + ACE_Time_Value period (0, this->period_in_usecs_); + ACE_OS::sleep (period); + + ACE_TRY { + ACE_hrtime_t start = ACE_OS::gethrtime (); + (void) session->sample (start + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + } ACE_CATCHANY { + } ACE_ENDTRY; + } + } + + Servant_var<Callback> callback; + +private: + int iterations_; + + int period_in_usecs_; +}; + +class Low_Priority_Task : public Roundtrip_Task +{ +public: + Low_Priority_Task (Test::Session_Factory_ptr session_factory, + ACE_Barrier *barrier, + PortableServer::POA_ptr poa, + int period_in_usecs) + : Roundtrip_Task (session_factory, barrier) + , callback (new Callback (1, poa)) + , stopped_ (0) + , period_in_usecs_ (period_in_usecs) + { + } + + void stop (void) + { + ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_); + this->stopped_ = 1; + } + + virtual void run_test (ACE_ENV_SINGLE_ARG_DECL) + { + Test::Callback_var cb = + callback->_this (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK; + + Implicit_Deactivator deactivator (callback); + + Test::Session_var session = + this->session_factory_->create_new_session (cb.in () + ACE_ENV_ARG_PARAMETER); + ACE_CHECK; + + Auto_Functor<Test::Session,Shutdown<Test::Session> > auto_shutdown (session.in ()); + + for (;;) + { + ACE_Time_Value period (0, this->period_in_usecs_); + ACE_OS::sleep (period); + + ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_); + if (this->stopped_) + return; + + + ACE_TRY { + CORBA::ULongLong dummy = 0; + (void) session->sample (dummy + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + } ACE_CATCHANY { + } ACE_ENDTRY; + } + } + +private: + TAO_SYNCH_MUTEX mutex_; + + Servant_var<Callback> callback; + + int stopped_; + + int period_in_usecs_; +}; + +int main (int argc, char *argv[]) +{ + /// Move the test to the real-time class if it is possible. + RT_Class rt_class; + + ACE_TRY_NEW_ENV + { + ORB_Holder orb (argc, argv, "" + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + Client_Options options (argc, argv); + if (argc != 1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "Usage: %s " + "-i iterations (iterations) " + "-h high_priority_period (usecs) " + "-l low_priority_period (usecs) " + "-w high_priority_workload (usecs) " + "-v low_priority_workload (usecs) " + "-r (enable RT-CORBA) " + "-n nthreads (low priority thread) " + "-d (dump history) " + "-z (disable low priority) " + "\n", + argv [0]), + 1); + } + + RTServer_Setup rtserver_setup (options.use_rt_corba, + orb, + rt_class, + options.nthreads + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + PortableServer::POA_var root_poa = + RIR_Narrow<PortableServer::POA>::resolve (orb, + "RootPOA" + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + PortableServer::POAManager_var poa_manager = + root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_TRY_CHECK; + + poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_TRY_CHECK; + + PortableServer::POA_var the_poa (rtserver_setup.poa ()); + + ACE_DEBUG ((LM_DEBUG, "Finished ORB and POA configuration\n")); + + CORBA::Object_var object = + orb->string_to_object (options.ior ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + Test::Session_Factory_var session_factory = + Test::Session_Factory::_narrow (object.in () + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + CORBA::PolicyList_var inconsistent_policies; + (void) session_factory->_validate_connection (inconsistent_policies + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + int thread_count = 1 + options.nthreads; + ACE_Barrier barrier (thread_count); + + ACE_DEBUG ((LM_DEBUG, "Calibrating high res timer ....")); + ACE_High_Res_Timer::calibrate (); + + ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor (); + ACE_DEBUG ((LM_DEBUG, "Done (%d)\n", gsf)); + + int per_thread_period = options.low_priority_period; + if (options.global_low_priority_rate) + per_thread_period = options.low_priority_period * options.nthreads; + Low_Priority_Task low_priority (session_factory.in (), + &barrier, + the_poa.in (), + per_thread_period); + low_priority.activate (rt_class.thr_sched_class () + | THR_NEW_LWP | THR_JOINABLE, + options.nthreads, 1, + rt_class.priority_low ()); + + High_Priority_Task high_priority (session_factory.in (), + &barrier, + the_poa.in (), + options.iterations, + options.high_priority_period); + high_priority.activate (rt_class.thr_sched_class () + | THR_NEW_LWP | THR_JOINABLE, + 1, 1, + rt_class.priority_low ()); + + high_priority.wait (); + low_priority.stop (); + + ACE_DEBUG ((LM_DEBUG, "(%P|%t) client - high prio task joined\n")); + + ACE_Sample_History &history = + high_priority.callback->sample_history (); + if (options.dump_history) + { + history.dump_samples ("HISTORY", gsf); + } + + ACE_Basic_Stats high_priority_stats; + history.collect_basic_stats (high_priority_stats); + high_priority_stats.dump_results ("High Priority", gsf); + + low_priority.thr_mgr ()->wait (); + + ACE_DEBUG ((LM_DEBUG, "(%P|%t) client - all task(s) joined\n")); + + session_factory->shutdown (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_TRY_CHECK; + + ACE_DEBUG ((LM_DEBUG, "(%P|%t) client - starting cleanup\n")); + } + ACE_CATCHANY + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, + "Exception caught:"); + return 1; + } + ACE_ENDTRY; + + return 0; +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +#elif defined(ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp new file mode 100644 index 00000000000..59d5e76e5d9 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/RTCORBA_Callback/server.cpp @@ -0,0 +1,136 @@ +// $Id$ + +#include "RT_Class.h" +#include "ORB_Holder.h" +#include "Servant_var.h" +#include "RIR_Narrow.h" +#include "RTServer_Setup.h" +#include "Session_Factory.h" + +#include "tao/PortableServer/PortableServer.h" +#include "tao/RTPortableServer/RTPortableServer.h" +#include "tao/Strategies/advanced_resource.h" +#include "tao/Messaging/Messaging.h" +#include "ace/Get_Opt.h" +#include "ace/Auto_Ptr.h" + +ACE_RCSID(TAO_PERF_RTEC_RTCORBA_Baseline, server, "$Id$") + +const char *ior_output_file = "test.ior"; +int use_rt_corba = 0; +int nthreads = 0; + +int +parse_args (int argc, char *argv[]) +{ + ACE_Get_Opt get_opts (argc, argv, "o:n:r"); + int c; + + while ((c = get_opts ()) != -1) + switch (c) + { + case 'o': + ior_output_file = get_opts.opt_arg (); + break; + + case 'n': + nthreads = ACE_OS::atoi (get_opts.opt_arg ()); + break; + + case 'r': + use_rt_corba = 1; + break; + + case '?': + default: + ACE_ERROR_RETURN ((LM_ERROR, + "usage: %s " + "-o <iorfile> " + "-r (use RT-CORBA) " + "-n nthreads " + "\n", + argv [0]), + -1); + } + // Indicates sucessful parsing of the command line + return 0; +} + +int main (int argc, char *argv[]) +{ + /// Move the test to the real-time class if it is possible. + RT_Class rt_class; + + ACE_TRY_NEW_ENV + { + ORB_Holder orb (argc, argv, "" + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + if (parse_args (argc, argv) != 0) + return 1; + + RTServer_Setup rtserver_setup (use_rt_corba, + orb, + rt_class, + nthreads + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + PortableServer::POA_var root_poa = + RIR_Narrow<PortableServer::POA>::resolve (orb, + "RootPOA" + ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + PortableServer::POAManager_var poa_manager = + root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_TRY_CHECK; + + poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_TRY_CHECK; + + PortableServer::POA_var the_poa (rtserver_setup.poa ()); + + Servant_var<Session_Factory> session_factory ( + new Session_Factory (orb, + the_poa.in ()) + ); + + CORBA::Object_var object = + session_factory->_this (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_CHECK; + + CORBA::String_var ior = + orb->object_to_string (object.in () ACE_ENV_ARG_PARAMETER); + ACE_TRY_CHECK; + + // Output the ior to the <ior_output_file> + FILE *output_file = ACE_OS::fopen (ior_output_file, "w"); + if (output_file == 0) + ACE_ERROR_RETURN ((LM_ERROR, + "Cannot open output file for writing IOR: %s", + ior_output_file), + 1); + ACE_OS::fprintf (output_file, "%s", ior.in ()); + ACE_OS::fclose (output_file); + + orb->run (ACE_ENV_SINGLE_ARG_PARAMETER); + ACE_TRY_CHECK; + + ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n")); + } + ACE_CATCHANY + { + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, + "Exception caught:"); + return 1; + } + ACE_ENDTRY; + + return 0; +} + +#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +#elif defined(ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/Makefile b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/Makefile index 2f439e935ef..fed75b3a09f 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/Makefile +++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/Makefile @@ -59,7 +59,7 @@ server: $(addprefix $(VDIR),$(server_OBJS)) # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. -.obj/server.o .obj/server.so .shobj/server.o .shobj/server.so: server.cpp ../lib/RT_Class.h ../lib/rtec_perf_export.h \ +.obj/server.o .obj/server.o .obj/server.o .obj/server.o: server.cpp ../lib/RT_Class.h ../lib/rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ @@ -432,7 +432,7 @@ server: $(addprefix $(VDIR),$(server_OBJS)) $(ACE_ROOT)/ace/Get_Opt.h \ $(ACE_ROOT)/ace/Get_Opt.i -.obj/client.o .obj/client.so .shobj/client.o .shobj/client.so: client.cpp ../lib/RT_Class.h ../lib/rtec_perf_export.h \ +.obj/client.o .obj/client.o .obj/client.o .obj/client.o: client.cpp ../lib/RT_Class.h ../lib/rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ @@ -759,7 +759,7 @@ server: $(addprefix $(VDIR),$(server_OBJS)) ../lib/Low_Priority_Setup.cpp \ $(ACE_ROOT)/ace/Basic_Stats.h \ $(ACE_ROOT)/ace/Basic_Stats.inl \ - ../lib/EC_Destroyer.h ../lib/EC_Destroyer.inl \ + ../lib/EC_Destroyer.h ../lib/EC_Destroyer.inl ../lib/Client_Options.h \ $(TAO_ROOT)/orbsvcs/orbsvcs/Event_Service_Constants.h \ $(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.h \ $(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.i \ diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp index b6bf6aaf8c3..bdbd2f0774f 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/client.cpp @@ -8,10 +8,10 @@ #include "Send_Task.h" #include "Client_Group.h" #include "ORB_Task.h" -#include "Auto_Disconnect.h" #include "ORB_Task_Activator.h" #include "Low_Priority_Setup.h" #include "EC_Destroyer.h" +#include "Client_Options.h" #include "orbsvcs/Event_Service_Constants.h" @@ -20,8 +20,6 @@ #include "tao/RTCORBA/Priority_Mapping_Manager.h" #include "tao/RTCORBA/Continuous_Priority_Mapping.h" #include "tao/RTPortableServer/RTPortableServer.h" -#include "ace/Get_Opt.h" -#include "ace/Auto_Ptr.h" #include "ace/High_Res_Timer.h" #include "ace/Sample_History.h" #include "ace/Basic_Stats.h" @@ -30,88 +28,6 @@ ACE_RCSID(TAO_RTEC_PERF_Roundtrip, client, "$Id$") -const char *ior = "file://test.ior"; -int iterations = 10000; -int nthreads = 0; -int do_dump_history = 0; -int high_priority_period = 0; -int high_priority_workload = 0; -int low_priority_period = 0; -int low_priority_workload = 0; -int disable_low_priority = 0; -int use_rt_corba = 0; - -int -parse_args (int argc, char *argv[]) -{ - ACE_Get_Opt get_opts (argc, argv, "k:i:n:l:h:w:v:zdr"); - int c; - - while ((c = get_opts ()) != -1) - switch (c) - { - case 'k': - ior = get_opts.opt_arg (); - break; - - case 'i': - iterations = ACE_OS::atoi (get_opts.opt_arg ()); - break; - - case 'n': - nthreads = ACE_OS::atoi (get_opts.opt_arg ()); - break; - - case 'h': - high_priority_period = ACE_OS::atoi (get_opts.opt_arg ()); - break; - - case 'l': - low_priority_period = ACE_OS::atoi (get_opts.opt_arg ()); - break; - - case 'w': - high_priority_workload = ACE_OS::atoi (get_opts.opt_arg ()); - break; - - case 'v': - low_priority_workload = ACE_OS::atoi (get_opts.opt_arg ()); - break; - - case 'd': - do_dump_history = 1; - break; - - case 'z': - disable_low_priority = 1; - break; - - case 'r': - use_rt_corba = 1; - break; - - case '?': - default: - ACE_ERROR_RETURN ((LM_ERROR, - "usage: %s " - "-k <IOR> " - "-i iterations (iterations) " - "-h high_priority_period (usecs) " - "-l low_priority_period (usecs) " - "-w high_priority_workload (usecs) " - "-v low_priority_workload (usecs) " - "-r (enable RT-CORBA) " - "-n nthreads (low priority thread) " - "-d (dump history) " - "-z (disable low priority) " - "\n", - argv [0]), - -1); - } - // Indicates sucessful parsing of the command line - return 0; -} - int main (int argc, char *argv[]) { const CORBA::Long experiment_id = 1; @@ -124,13 +40,29 @@ int main (int argc, char *argv[]) ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; - if (parse_args (argc, argv) != 0) - return 1; + Client_Options options (argc, argv); + if (argc != 1) + { + ACE_ERROR_RETURN ((LM_ERROR, + "Usage: %s " + "-i iterations (iterations) " + "-h high_priority_period (usecs) " + "-l low_priority_period (usecs) " + "-w high_priority_workload (usecs) " + "-v low_priority_workload (usecs) " + "-r (enable RT-CORBA) " + "-n nthreads (low priority thread) " + "-d (dump history) " + "-z (disable low priority) " + "\n", + argv [0]), + 1); + } - RTServer_Setup rtserver_setup (use_rt_corba, + RTServer_Setup rtserver_setup (options.use_rt_corba, orb, rt_class, - nthreads + options.nthreads ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; @@ -164,7 +96,7 @@ int main (int argc, char *argv[]) ACE_DEBUG ((LM_DEBUG, "ORB is active\n")); CORBA::Object_var object = - orb->string_to_object (ior ACE_ENV_ARG_PARAMETER); + orb->string_to_object (options.ior ACE_ENV_ARG_PARAMETER); ACE_TRY_CHECK; RtecEventChannelAdmin::EventChannel_var ec = @@ -181,9 +113,7 @@ int main (int argc, char *argv[]) ACE_DEBUG ((LM_DEBUG, "Finished EC configuration and activation\n")); - int thread_count = 1; - if (disable_low_priority == 0) - thread_count += nthreads; + int thread_count = 1 + options.nthreads; ACE_Barrier barrier (thread_count); @@ -193,18 +123,22 @@ int main (int argc, char *argv[]) ACE_UINT32 gsf = ACE_High_Res_Timer::global_scale_factor (); ACE_DEBUG ((LM_DEBUG, "Done (%d)\n", gsf)); + int per_thread_period = options.low_priority_period; + if (options.global_low_priority_rate) + per_thread_period = options.low_priority_period * options.low_priority_consumers; + Low_Priority_Setup<Client_Group> low_priority_setup ( - nthreads, + options.low_priority_consumers, 0, // no limit on the number of iterations - 1, // each client gets its own type + options.unique_low_priority_event, experiment_id, ACE_ES_EVENT_UNDEFINED + 2, - low_priority_workload, + options.low_priority_workload, gsf, - disable_low_priority ? 0 : 1, + options.nthreads, rt_class.priority_low (), rt_class.thr_sched_class (), - low_priority_period, + per_thread_period, supplier_poa.in (), consumer_poa.in (), ec.in (), @@ -214,8 +148,8 @@ int main (int argc, char *argv[]) Client_Group high_priority_group; high_priority_group.init (experiment_id, ACE_ES_EVENT_UNDEFINED, - iterations, - high_priority_workload, + options.iterations, + options.high_priority_workload, gsf, supplier_poa.in (), consumer_poa.in ()); @@ -225,8 +159,8 @@ int main (int argc, char *argv[]) Auto_Disconnect<Client_Group> high_priority_disconnect (&high_priority_group); Send_Task high_priority_task; - high_priority_task.init (iterations, - high_priority_period, + high_priority_task.init (options.iterations, + options.high_priority_period, 0, ACE_ES_EVENT_UNDEFINED, 1, @@ -243,16 +177,13 @@ int main (int argc, char *argv[]) ACE_DEBUG ((LM_DEBUG, "(%P|%t) client - high priority task completed\n")); - if (disable_low_priority == 0) - { - low_priority_setup.stop_all_threads (); - } + low_priority_setup.stop_all_threads (); ACE_DEBUG ((LM_DEBUG, "(%P|%t) client - low priority task(s) stopped\n")); ACE_Sample_History &history = high_priority_group.consumer ()->sample_history (); - if (do_dump_history) + if (options.dump_history) { history.dump_samples ("HISTORY", gsf); } diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_read.conf b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_read.conf new file mode 100644 index 00000000000..eb046616fcb --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_read.conf @@ -0,0 +1,2 @@ +# $Id$ +static EC_Factory "-ECProxyPushConsumerCollection mt:list:copy_on_read -ECProxyPushSupplierCollection mt:list:copy_on_read" diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_write.conf b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_write.conf new file mode 100644 index 00000000000..dcc99ac4235 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_copy_on_write.conf @@ -0,0 +1,2 @@ +# $Id$ +static EC_Factory "-ECProxyPushConsumerCollection mt:list:copy_on_write -ECProxyPushSupplierCollection mt:list:copy_on_write " diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_delayed.conf b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_delayed.conf new file mode 100644 index 00000000000..1d244ea2b2f --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_delayed.conf @@ -0,0 +1,2 @@ +# $Id$ +static EC_Factory "-ECProxyPushConsumerCollection mt:list:delayed -ECProxyPushSupplierCollection mt:list:delayed" diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_immediate.conf b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_immediate.conf new file mode 100644 index 00000000000..8fd8eb64010 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/ec.locking_immediate.conf @@ -0,0 +1,2 @@ +# $Id$ +static EC_Factory "-ECProxyPushConsumerCollection mt:list:immediate -ECProxyPushSupplierCollection mt:list:immediate" diff --git a/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/run_locking.sh b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/run_locking.sh new file mode 100755 index 00000000000..acd4e1e882a --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/Roundtrip/run_locking.sh @@ -0,0 +1,25 @@ +#! /bin/sh +# +# $Id$ +# + +LOW_PRIORITY="1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30" + +#IOR=/project/amras/coryan/IOR/roundtrip.ior +IOR=test.ior + +for c in $LOW_PRIORITY; do + for t in copy_on_write copy_on_read delayed immediate; do + date + echo $t $c + + /bin/rm -f $IOR +# ssh celegorm "cd /project/celegorm/coryan/EC_Roundtrip ; ./server -ORBSvcConf ec.dispatching_rtcorba.conf -r -o $IOR" >server.log 2>&1 </dev/null & + ./server -ORBSvcConf ec.locking_${t}.conf -o $IOR >server.log 2>&1 </dev/null & + while [ ! -f $IOR ]; do + sleep 1 + done + ./client -d -h 10000 -l 10000 -i 25000 -n $c -k file://$IOR > ec_locking_${t}.$c.txt 2>&1 + wait + done +done diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.cpp index 489cd5a606c..4c06d23febc 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.cpp @@ -24,8 +24,24 @@ Client_Group::init (CORBA::Long experiment_id, PortableServer::POA_ptr supplier_poa, PortableServer::POA_ptr consumer_poa) { + this->init (experiment_id, base_event_type, 1, + iterations, workload_in_usecs, gsf, + supplier_poa, consumer_poa); +} + +void +Client_Group::init (CORBA::Long experiment_id, + CORBA::Long base_event_type, + CORBA::Long event_type_range, + CORBA::ULong iterations, + CORBA::Long workload_in_usecs, + ACE_UINT32 gsf, + PortableServer::POA_ptr supplier_poa, + PortableServer::POA_ptr consumer_poa) +{ this->client_pair_.init (experiment_id, base_event_type, + event_type_range, iterations, workload_in_usecs, gsf, diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.h index c1876a66837..ef93ba153c1 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.h +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Group.h @@ -34,6 +34,7 @@ public: */ Client_Group (void); + /// Initialize the consumer/supplier pair(s) /** * @param experiment_id For tests that run multiple experiments * this number is changed on each iteration, guaranteeing @@ -55,6 +56,20 @@ public: PortableServer::POA_ptr supplier_poa, PortableServer::POA_ptr consumer_poa); + /// Initialize the consumer/supplier pair(s) + /** + * @param event_type_range The supplier declares more events than it + * generates. + */ + void init (CORBA::Long experiment_id, + CORBA::Long base_event_type, + CORBA::Long base_event_type_range, + CORBA::ULong iterations, + CORBA::Long workload_in_usecs, + ACE_UINT32 gsf, + PortableServer::POA_ptr supplier_poa, + PortableServer::POA_ptr consumer_poa); + /// Connect to the event channel void connect (RtecEventChannelAdmin::EventChannel_ptr ec ACE_ENV_ARG_DECL); diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Options.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Options.cpp new file mode 100644 index 00000000000..38deb9a6f17 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Options.cpp @@ -0,0 +1,102 @@ +/** + * @file Client_Options.cpp + * + * $Id$ + * + * @author Carlos O'Ryan <coryan@uci.edu> + */ + +#include "Client_Options.h" + +#include "ace/Arg_Shifter.h" +#include "ace/Log_Msg.h" + +ACE_RCSID(TAO_PERF_RTEC, Client_Options, "$Id$") + +Client_Options::Client_Options (int &argc, char *argv[]) + : ior ("file://test.ior") + , iterations (1000) + , nthreads (0) + , high_priority_period (0) + , high_priority_workload (0) + , low_priority_period (0) + , low_priority_workload (0) + , low_priority_consumers (0) + , dump_history (0) + , use_rt_corba (0) + , global_low_priority_rate (0) + , unique_low_priority_event (0) + , funky_supplier_publication (0) + , high_priority_is_last (0) +{ + ACE_Arg_Shifter arg_shifter (argc, argv); + + while (arg_shifter.is_anything_left ()) + { + const char *arg = arg_shifter.get_current (); + + if (ACE_OS::strcmp (arg, "-k") == 0) + { + arg_shifter.consume_arg (); + + if (arg_shifter.is_parameter_next ()) + { + this->ior = arg_shifter.get_current (); + arg_shifter.consume_arg (); + } + } + + else if (option (arg_shifter, "-i", iterations)) {} + else if (option (arg_shifter, "-n", nthreads)) {} + else if (option (arg_shifter, "-h", high_priority_period)) {} + else if (option (arg_shifter, "-l", low_priority_period)) {} + else if (option (arg_shifter, "-w", high_priority_workload)) {} + else if (option (arg_shifter, "-v", low_priority_workload)) {} + else if (option (arg_shifter, "-c", low_priority_consumers)) {} + + else if (boolean_option (arg_shifter, "-d", dump_history)) {} + else if (boolean_option (arg_shifter, "-r", use_rt_corba)) {} + else if (boolean_option (arg_shifter, "-g", global_low_priority_rate)) {} + else if (boolean_option (arg_shifter, "-u", unique_low_priority_event)) {} + else if (boolean_option (arg_shifter, "-f", funky_supplier_publication)) {} + else if (boolean_option (arg_shifter, "-x", high_priority_is_last)) {} + + else + { + arg_shifter.ignore_arg (); + } + } +} + +int +Client_Options::option (ACE_Arg_Shifter &arg_shifter, + const char *option_name, + int &option_value) +{ + if (ACE_OS::strcmp (arg_shifter.get_current (), option_name) != 0) + return 0; + arg_shifter.consume_arg (); + if (arg_shifter.is_parameter_next ()) + { + option_value = ACE_OS::atoi (arg_shifter.get_current ()); + arg_shifter.consume_arg (); + } + else + { + ACE_DEBUG ((LM_DEBUG, + "Missing value for option '%s'\n", option_name)); + } + return 1; +} + +int +Client_Options::boolean_option (ACE_Arg_Shifter &arg_shifter, + const char *option_name, + int &option_value) +{ + if (ACE_OS::strcmp (arg_shifter.get_current (), option_name) != 0) + return 0; + arg_shifter.consume_arg (); + option_value = 1; + return 1; +} diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Options.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Options.h new file mode 100644 index 00000000000..ea55a1064d6 --- /dev/null +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Options.h @@ -0,0 +1,60 @@ +/** + * @file Client_Options.h + * + * $Id$ + * + * @author Carlos O'Ryan <coryan@uci.edu> + * + */ + +#ifndef TAO_RTEC_PERF_CLIENT_OPTIONS_H +#define TAO_RTEC_PERF_CLIENT_OPTIONS_H +#include "ace/pre.h" + +#include "ace/config-all.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +class ACE_Arg_Shifter; + +/// Parse the command-line client_options for the tests. +/** + * Note that some of the tests ignore some of the client_options, but it is + * easier to have them all in a single class. + */ +class Client_Options +{ +public: + /// Constructor + Client_Options (int &argc, char *argv[]); + + const char *ior; + int iterations; + int nthreads; + int high_priority_period; + int high_priority_workload; + int low_priority_period; + int low_priority_workload; + int low_priority_consumers; + + int dump_history; + int use_rt_corba; + int global_low_priority_rate; + int unique_low_priority_event; + int funky_supplier_publication; + int high_priority_is_last; + +private: + int option (ACE_Arg_Shifter &arg_shifter, + const char *option_name, + int &option_value); + + int boolean_option (ACE_Arg_Shifter &arg_shifter, + const char *option_name, + int &option_value); +}; + +#include "ace/post.h" +#endif /* TAO_RTEC_PERF_CLIENT_OPTIONS_H */ diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Pair.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Pair.cpp index 5379f9232ab..c3d112526fd 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Pair.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Pair.cpp @@ -24,8 +24,29 @@ Client_Pair::init (CORBA::Long experiment_id, PortableServer::POA_ptr supplier_poa, PortableServer::POA_ptr consumer_poa) { + const CORBA::Long source_event_range = 1; + this->init (experiment_id, + base_event_type, + source_event_range, + iterations, + workload_in_usecs, + gsf, + supplier_poa, + consumer_poa); +} + +void +Client_Pair::init (CORBA::Long experiment_id, + CORBA::Long base_event_type, + CORBA::Long source_event_range, + CORBA::ULong iterations, + CORBA::Long workload_in_usecs, + ACE_UINT32 gsf, + PortableServer::POA_ptr supplier_poa, + PortableServer::POA_ptr consumer_poa) +{ this->supplier_ = new Supplier (experiment_id, - base_event_type, + base_event_type, source_event_range, supplier_poa); this->consumer_ = new Consumer (experiment_id, base_event_type + 1, diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Pair.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Pair.h index 728db9eabe2..8dc4e8b03b2 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Pair.h +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Client_Pair.h @@ -34,6 +34,7 @@ public: */ Client_Pair (void); + /// Initialize the consumer/supplier pair /** * @param experiment_id For tests that run multiple experiments * this number is changed on each iteration, guaranteeing @@ -55,6 +56,23 @@ public: PortableServer::POA_ptr supplier_poa, PortableServer::POA_ptr consumer_poa); + /// Initialize the consumer/supplier pair + /** + * This variant works as the previous one, but it allows for + * multiple events in the supplier-side. + * + * @param source_event_range The number of events declared by the + * source. + */ + void init (CORBA::Long experiment_id, + CORBA::Long base_event_type, + CORBA::Long source_event_range, + CORBA::ULong iterations, + CORBA::Long workload_in_usecs, + ACE_UINT32 gsf, + PortableServer::POA_ptr supplier_poa, + PortableServer::POA_ptr consumer_poa); + /// Connect to the event channel void connect (RtecEventChannelAdmin::EventChannel_ptr ec ACE_ENV_ARG_DECL); diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.cpp index fc0875ff3ae..ef34312cc6e 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.cpp @@ -10,35 +10,38 @@ #define TAO_PERF_RTEC_LOW_PRIORITY_SETUP_CPP #include "Low_Priority_Setup.h" + #include "ace/Basic_Stats.h" +#include "ace/Sample_History.h" template<class Client_Type> Low_Priority_Setup<Client_Type>:: -Low_Priority_Setup (int nthreads, +Low_Priority_Setup (int consumer_count, int iterations, int use_different_types, CORBA::Long experiment_id, CORBA::Long base_event_type, int workload, ACE_UINT32 gsf, - int enable_threads, + int nthreads, int thread_priority, int thread_sched_class, - int send_period, + int per_thread_period, PortableServer::POA_ptr supplier_poa, PortableServer::POA_ptr consumer_poa, RtecEventChannelAdmin::EventChannel_ptr ec, ACE_Barrier *barrier ACE_ENV_ARG_DECL) - : nthreads_ (nthreads) - , clients_ (nthreads ? new Client_Type[nthreads] : 0) - , disconnect_ (nthreads ? new Client_Auto_Disconnect[nthreads] : 0) + : consumer_count_ (consumer_count) + , clients_ (consumer_count ? new Client_Type[consumer_count] : 0) + , disconnect_ (consumer_count ? new Client_Auto_Disconnect[consumer_count] : 0) + , nthreads_ (nthreads) , tasks_ (nthreads ? new Send_Task[nthreads] : 0) , stoppers_ (nthreads ? new Auto_Send_Task_Stopper[nthreads] : 0) { - for (int i = 0; i != nthreads; ++i) + for (int i = 0; i != consumer_count; ++i) { int per_consumer_workload = - workload / this->nthreads_; + workload / this->consumer_count_; if (workload != 0 && per_consumer_workload == 0) per_consumer_workload = 1; @@ -57,26 +60,31 @@ Low_Priority_Setup (int nthreads, this->clients_[i].connect (ec ACE_ENV_ARG_PARAMETER); ACE_CHECK; - /// Automatically disconnect the group if the connection was - /// successful + // Automatically disconnect the group if the connection was + // successful this->disconnect_[i] = &this->clients_[i]; + } + + for (int j = 0; j != nthreads; ++j) + { + CORBA::Long event_type = + base_event_type; + if (use_different_types) + event_type = base_event_type + 2 * j; - if (enable_threads) - { - this->tasks_[i].init (0, - send_period * this->nthreads_, - i * send_period, - event_type, - experiment_id, - this->clients_[i].supplier (), - barrier); - this->tasks_[i].thr_mgr (&this->thr_mgr_); - this->stoppers_[i] = Auto_Send_Task_Stopper ( - new Send_Task_Stopper (thread_priority, - thread_sched_class, - &this->tasks_[i]) - ); - } + this->tasks_[j].init (0, + per_thread_period, + j * per_thread_period, + event_type, + experiment_id, + this->clients_[j].supplier (), + barrier); + this->tasks_[j].thr_mgr (&this->thr_mgr_); + this->stoppers_[j] = Auto_Send_Task_Stopper ( + new Send_Task_Stopper (thread_priority, + thread_sched_class, + &this->tasks_[j]) + ); } } @@ -102,7 +110,7 @@ Low_Priority_Setup<Client_Type>::stop_all_threads (void) template<class Client_Type> void Low_Priority_Setup<Client_Type>::collect_basic_stats (ACE_Basic_Stats &stats) { - for (int i = 0; i != this->nthreads_; ++i) + for (int i = 0; i != this->consumer_count_; ++i) { ACE_Sample_History &history = this->clients_[i].consumer ()->sample_history (); diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.h index 15b7452fbef..e5aacff5db8 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.h +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Low_Priority_Setup.h @@ -32,17 +32,17 @@ class Low_Priority_Setup { public: /// Constructor - Low_Priority_Setup (int nthreads, + Low_Priority_Setup (int consumer_count, int iterations, int use_different_types, CORBA::Long experiment_id, CORBA::Long base_event_type, int workload, ACE_UINT32 gsf, - int enable_threads, + int nthreads, int thread_priority, int thread_sched_class, - int send_period, + int per_thread_period, PortableServer::POA_ptr supplier_poa, PortableServer::POA_ptr consumer_poa, RtecEventChannelAdmin::EventChannel_ptr ec, @@ -63,9 +63,11 @@ public: typedef ACE_Auto_Basic_Array_Ptr<Auto_Send_Task_Stopper> Send_Task_Stopper_Array; private: - int nthreads_; + int consumer_count_; Client_Array clients_; Client_Auto_Disconnect_Array disconnect_; + + int nthreads_; Send_Task_Array tasks_; Send_Task_Stopper_Array stoppers_; ACE_Thread_Manager thr_mgr_; diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Makefile b/TAO/orbsvcs/performance-tests/RTEvent/lib/Makefile index 01e93e71c24..bccf87c6001 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Makefile +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Makefile @@ -56,7 +56,8 @@ SRCS = \ Loopback \ Implicit_Deactivator \ Peer_Base \ - Control + Control \ + Client_Options TEMPLATE_SOURCES = \ Servant_var \ @@ -108,7 +109,7 @@ realclean: clean # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. -.obj/Consumer.o .obj/Consumer.so .shobj/Consumer.o .shobj/Consumer.so: Consumer.cpp Consumer.h rtec_perf_export.h \ +.obj/Consumer.o .obj/Consumer.o .obj/Consumer.o .obj/Consumer.o: Consumer.cpp Consumer.h rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ @@ -356,7 +357,7 @@ realclean: clean $(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.h \ $(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.i -.obj/Supplier.o .obj/Supplier.so .shobj/Supplier.o .shobj/Supplier.so: Supplier.cpp Supplier.h rtec_perf_export.h \ +.obj/Supplier.o .obj/Supplier.o .obj/Supplier.o .obj/Supplier.o: Supplier.cpp Supplier.h rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ @@ -599,7 +600,7 @@ realclean: clean $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminC.i \ Implicit_Deactivator.h Implicit_Deactivator.inl -.obj/Loopback_Consumer.o .obj/Loopback_Consumer.so .shobj/Loopback_Consumer.o .shobj/Loopback_Consumer.so: Loopback_Consumer.cpp Loopback_Consumer.h \ +.obj/Loopback_Consumer.o .obj/Loopback_Consumer.o .obj/Loopback_Consumer.o .obj/Loopback_Consumer.o: Loopback_Consumer.cpp Loopback_Consumer.h \ Loopback_Supplier.h rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ @@ -849,7 +850,7 @@ realclean: clean $(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.h \ $(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.i -.obj/Loopback_Supplier.o .obj/Loopback_Supplier.so .shobj/Loopback_Supplier.o .shobj/Loopback_Supplier.so: Loopback_Supplier.cpp Loopback_Supplier.h \ +.obj/Loopback_Supplier.o .obj/Loopback_Supplier.o .obj/Loopback_Supplier.o .obj/Loopback_Supplier.o: Loopback_Supplier.cpp Loopback_Supplier.h \ rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ @@ -1093,7 +1094,7 @@ realclean: clean $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminC.i \ Implicit_Deactivator.h Implicit_Deactivator.inl -.obj/ORB_Holder.o .obj/ORB_Holder.so .shobj/ORB_Holder.o .shobj/ORB_Holder.so: ORB_Holder.cpp ORB_Holder.h rtec_perf_export.h \ +.obj/ORB_Holder.o .obj/ORB_Holder.o .obj/ORB_Holder.o .obj/ORB_Holder.o: ORB_Holder.cpp ORB_Holder.h rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ @@ -1232,7 +1233,7 @@ realclean: clean $(TAO_ROOT)/tao/PolicyC.i \ $(TAO_ROOT)/tao/ORB.i ORB_Holder.inl -.obj/RT_Class.o .obj/RT_Class.so .shobj/RT_Class.o .shobj/RT_Class.so: RT_Class.cpp RT_Class.h rtec_perf_export.h \ +.obj/RT_Class.o .obj/RT_Class.o .obj/RT_Class.o .obj/RT_Class.o: RT_Class.cpp RT_Class.h rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ @@ -1268,7 +1269,7 @@ realclean: clean $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl -.obj/RTEC_Initializer.o .obj/RTEC_Initializer.so .shobj/RTEC_Initializer.o .shobj/RTEC_Initializer.so: RTEC_Initializer.cpp RTEC_Initializer.h \ +.obj/RTEC_Initializer.o .obj/RTEC_Initializer.o .obj/RTEC_Initializer.o .obj/RTEC_Initializer.o: RTEC_Initializer.cpp RTEC_Initializer.h \ rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ @@ -1558,9 +1559,13 @@ realclean: clean $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_Default_Factory.i \ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.h \ $(TAO_ROOT)/orbsvcs/orbsvcs/Event/rtcorba_event_export.h \ - $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.inl + $(TAO_ROOT)/orbsvcs/orbsvcs/Event/EC_RTCORBA_Factory.inl \ + $(ACE_ROOT)/ace/Dynamic_Service.h \ + $(ACE_ROOT)/ace/Dynamic_Service_Base.h \ + $(ACE_ROOT)/ace/Dynamic_Service.i \ + $(ACE_ROOT)/ace/Dynamic_Service.cpp -.obj/RTCORBA_Setup.o .obj/RTCORBA_Setup.so .shobj/RTCORBA_Setup.o .shobj/RTCORBA_Setup.so: RTCORBA_Setup.cpp RTCORBA_Setup.h rtec_perf_export.h \ +.obj/RTCORBA_Setup.o .obj/RTCORBA_Setup.o .obj/RTCORBA_Setup.o .obj/RTCORBA_Setup.o: RTCORBA_Setup.cpp RTCORBA_Setup.h rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ @@ -1730,11 +1735,12 @@ realclean: clean $(TAO_ROOT)/tao/CORBA_String.h \ $(TAO_ROOT)/tao/CORBA_String.inl \ $(TAO_ROOT)/tao/ORB.i RIR_Narrow.cpp \ - RT_Class.h $(ACE_ROOT)/ace/Sched_Params.h \ + RT_Class.h \ + $(ACE_ROOT)/ace/Sched_Params.h \ $(ACE_ROOT)/ace/Sched_Params.i \ RT_Class.inl -.obj/Send_Task.o .obj/Send_Task.so .shobj/Send_Task.o .shobj/Send_Task.so: Send_Task.cpp Send_Task.h Servant_var.h \ +.obj/Send_Task.o .obj/Send_Task.o .obj/Send_Task.o .obj/Send_Task.o: Send_Task.cpp Send_Task.h Servant_var.h \ $(ACE_ROOT)/ace/Swap.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ @@ -2018,7 +2024,7 @@ realclean: clean $(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.h \ $(TAO_ROOT)/orbsvcs/orbsvcs/Time_Utilities.i -.obj/Client_Group.o .obj/Client_Group.so .shobj/Client_Group.o .shobj/Client_Group.so: Client_Group.cpp Client_Group.h Servant_var.h \ +.obj/Client_Group.o .obj/Client_Group.o .obj/Client_Group.o .obj/Client_Group.o: Client_Group.cpp Client_Group.h Servant_var.h \ $(ACE_ROOT)/ace/Swap.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ @@ -2271,7 +2277,7 @@ realclean: clean Auto_Disconnect.h Auto_Functor.h Auto_Functor.inl Auto_Functor.cpp \ Auto_Disconnect.inl Auto_Disconnect.cpp -.obj/ORB_Task.o .obj/ORB_Task.so .shobj/ORB_Task.o .shobj/ORB_Task.so: ORB_Task.cpp ORB_Task.h rtec_perf_export.h \ +.obj/ORB_Task.o .obj/ORB_Task.o .obj/ORB_Task.o .obj/ORB_Task.o: ORB_Task.cpp ORB_Task.h rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ @@ -2454,7 +2460,7 @@ realclean: clean $(ACE_ROOT)/ace/Stream_Modules.cpp \ ORB_Task.inl -.obj/SyncScope_Setup.o .obj/SyncScope_Setup.so .shobj/SyncScope_Setup.o .shobj/SyncScope_Setup.so: SyncScope_Setup.cpp SyncScope_Setup.h \ +.obj/SyncScope_Setup.o .obj/SyncScope_Setup.o .obj/SyncScope_Setup.o .obj/SyncScope_Setup.o: SyncScope_Setup.cpp SyncScope_Setup.h \ rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ @@ -2628,7 +2634,7 @@ realclean: clean $(TAO_ROOT)/tao/CORBA_String.inl \ $(TAO_ROOT)/tao/ORB.i RIR_Narrow.cpp -.obj/Loopback_Pair.o .obj/Loopback_Pair.so .shobj/Loopback_Pair.o .shobj/Loopback_Pair.so: Loopback_Pair.cpp Loopback_Pair.h Servant_var.h \ +.obj/Loopback_Pair.o .obj/Loopback_Pair.o .obj/Loopback_Pair.o .obj/Loopback_Pair.o: Loopback_Pair.cpp Loopback_Pair.h Servant_var.h \ $(ACE_ROOT)/ace/Swap.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ @@ -2878,7 +2884,7 @@ realclean: clean Auto_Functor.inl Auto_Functor.cpp Auto_Disconnect.inl \ Auto_Disconnect.cpp -.obj/Client_Pair.o .obj/Client_Pair.so .shobj/Client_Pair.o .shobj/Client_Pair.so: Client_Pair.cpp Client_Pair.h Servant_var.h \ +.obj/Client_Pair.o .obj/Client_Pair.o .obj/Client_Pair.o .obj/Client_Pair.o: Client_Pair.cpp Client_Pair.h Servant_var.h \ $(ACE_ROOT)/ace/Swap.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ @@ -3130,7 +3136,7 @@ realclean: clean Auto_Functor.inl Auto_Functor.cpp Auto_Disconnect.inl \ Auto_Disconnect.cpp -.obj/RTPOA_Setup.o .obj/RTPOA_Setup.so .shobj/RTPOA_Setup.o .shobj/RTPOA_Setup.so: RTPOA_Setup.cpp RTPOA_Setup.h rtec_perf_export.h \ +.obj/RTPOA_Setup.o .obj/RTPOA_Setup.o .obj/RTPOA_Setup.o .obj/RTPOA_Setup.o: RTPOA_Setup.cpp RTPOA_Setup.h rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ @@ -3310,7 +3316,7 @@ realclean: clean $(TAO_ROOT)/tao/RTCORBA/Priority_Mapping_Manager.i \ RTCORBA_Setup.inl -.obj/PriorityBand_Setup.o .obj/PriorityBand_Setup.so .shobj/PriorityBand_Setup.o .shobj/PriorityBand_Setup.so: PriorityBand_Setup.cpp PriorityBand_Setup.h \ +.obj/PriorityBand_Setup.o .obj/PriorityBand_Setup.o .obj/PriorityBand_Setup.o .obj/PriorityBand_Setup.o: PriorityBand_Setup.cpp PriorityBand_Setup.h \ rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ @@ -3483,7 +3489,7 @@ realclean: clean $(TAO_ROOT)/tao/RTCORBA/Priority_Mapping_Manager.i \ RTCORBA_Setup.inl RIR_Narrow.h RIR_Narrow.cpp -.obj/Send_Task_Stopper.o .obj/Send_Task_Stopper.so .shobj/Send_Task_Stopper.o .shobj/Send_Task_Stopper.so: Send_Task_Stopper.cpp Send_Task_Stopper.h \ +.obj/Send_Task_Stopper.o .obj/Send_Task_Stopper.o .obj/Send_Task_Stopper.o .obj/Send_Task_Stopper.o: Send_Task_Stopper.cpp Send_Task_Stopper.h \ Send_Task.h Servant_var.h \ $(ACE_ROOT)/ace/Swap.h \ $(ACE_ROOT)/ace/pre.h \ @@ -3769,7 +3775,7 @@ realclean: clean $(ACE_ROOT)/ace/Copy_Disabled.h \ Task_Activator.inl Task_Activator.cpp Send_Task_Stopper.inl -.obj/ORB_Task_Activator.o .obj/ORB_Task_Activator.so .shobj/ORB_Task_Activator.o .shobj/ORB_Task_Activator.so: ORB_Task_Activator.cpp ORB_Task_Activator.h \ +.obj/ORB_Task_Activator.o .obj/ORB_Task_Activator.o .obj/ORB_Task_Activator.o .obj/ORB_Task_Activator.o: ORB_Task_Activator.cpp ORB_Task_Activator.h \ ORB_Task.h rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ @@ -3955,7 +3961,7 @@ realclean: clean $(ACE_ROOT)/ace/Copy_Disabled.h \ Task_Activator.inl Task_Activator.cpp ORB_Task_Activator.inl -.obj/RTClient_Setup.o .obj/RTClient_Setup.so .shobj/RTClient_Setup.o .shobj/RTClient_Setup.so: RTClient_Setup.cpp RTClient_Setup.h \ +.obj/RTClient_Setup.o .obj/RTClient_Setup.o .obj/RTClient_Setup.o .obj/RTClient_Setup.o: RTClient_Setup.cpp RTClient_Setup.h \ $(ACE_ROOT)/ace/pre.h RTCORBA_Setup.h \ rtec_perf_export.h \ $(ACE_ROOT)/ace/post.h \ @@ -4141,7 +4147,7 @@ realclean: clean $(TAO_ROOT)/tao/Messaging/MessagingC.i \ SyncScope_Setup.inl RTClient_Setup.inl RIR_Narrow.h RIR_Narrow.cpp -.obj/RTServer_Setup.o .obj/RTServer_Setup.so .shobj/RTServer_Setup.o .shobj/RTServer_Setup.so: RTServer_Setup.cpp RTServer_Setup.h \ +.obj/RTServer_Setup.o .obj/RTServer_Setup.o .obj/RTServer_Setup.o .obj/RTServer_Setup.o: RTServer_Setup.cpp RTServer_Setup.h \ $(ACE_ROOT)/ace/pre.h RTClient_Setup.h \ RTCORBA_Setup.h rtec_perf_export.h \ $(ACE_ROOT)/ace/post.h \ @@ -4335,7 +4341,7 @@ realclean: clean $(TAO_ROOT)/tao/RTPortableServer/RTPortableServerC.i \ RTPOA_Setup.inl RTServer_Setup.inl RIR_Narrow.h RIR_Narrow.cpp -.obj/EC_Destroyer.o .obj/EC_Destroyer.so .shobj/EC_Destroyer.o .shobj/EC_Destroyer.so: EC_Destroyer.cpp EC_Destroyer.h rtec_perf_export.h \ +.obj/EC_Destroyer.o .obj/EC_Destroyer.o .obj/EC_Destroyer.o .obj/EC_Destroyer.o: EC_Destroyer.cpp EC_Destroyer.h rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ $(ACE_ROOT)/ace/ACE_export.h \ @@ -4544,7 +4550,7 @@ realclean: clean $(TAO_ROOT)/orbsvcs/orbsvcs/RtecEventChannelAdminC.i \ EC_Destroyer.inl -.obj/Federated_TestC.o .obj/Federated_TestC.so .shobj/Federated_TestC.o .shobj/Federated_TestC.so: Federated_TestC.cpp Federated_TestC.h \ +.obj/Federated_TestC.o .obj/Federated_TestC.o .obj/Federated_TestC.o .obj/Federated_TestC.o: Federated_TestC.cpp Federated_TestC.h \ $(ACE_ROOT)/ace/pre.h \ $(TAO_ROOT)/tao/corba.h \ $(ACE_ROOT)/ace/post.h \ @@ -4850,7 +4856,7 @@ realclean: clean $(TAO_ROOT)/tao/ClientInterceptorAdapter.h \ $(TAO_ROOT)/tao/ClientInterceptorAdapter.inl -.obj/Federated_TestS.o .obj/Federated_TestS.so .shobj/Federated_TestS.o .shobj/Federated_TestS.so: Federated_TestS.cpp Federated_TestS.h \ +.obj/Federated_TestS.o .obj/Federated_TestS.o .obj/Federated_TestS.o .obj/Federated_TestS.o: Federated_TestS.cpp Federated_TestS.h \ $(ACE_ROOT)/ace/pre.h Federated_TestC.h \ $(TAO_ROOT)/tao/corba.h \ $(ACE_ROOT)/ace/post.h \ @@ -5191,7 +5197,7 @@ realclean: clean $(ACE_ROOT)/ace/Dynamic_Service.i \ $(ACE_ROOT)/ace/Dynamic_Service.cpp -.obj/Loopback.o .obj/Loopback.so .shobj/Loopback.o .shobj/Loopback.so: Loopback.cpp Loopback.h Federated_TestS.h \ +.obj/Loopback.o .obj/Loopback.o .obj/Loopback.o .obj/Loopback.o: Loopback.cpp Loopback.h Federated_TestS.h \ $(ACE_ROOT)/ace/pre.h Federated_TestC.h \ $(TAO_ROOT)/tao/corba.h \ $(ACE_ROOT)/ace/post.h \ @@ -5443,7 +5449,7 @@ realclean: clean Auto_Functor.inl Auto_Functor.cpp Auto_Disconnect.inl \ Auto_Disconnect.cpp Implicit_Deactivator.h Implicit_Deactivator.inl -.obj/Implicit_Deactivator.o .obj/Implicit_Deactivator.so .shobj/Implicit_Deactivator.o .shobj/Implicit_Deactivator.so: Implicit_Deactivator.cpp Implicit_Deactivator.h \ +.obj/Implicit_Deactivator.o .obj/Implicit_Deactivator.o .obj/Implicit_Deactivator.o .obj/Implicit_Deactivator.o: Implicit_Deactivator.cpp Implicit_Deactivator.h \ rtec_perf_export.h \ $(ACE_ROOT)/ace/pre.h \ $(ACE_ROOT)/ace/post.h \ @@ -5591,7 +5597,7 @@ realclean: clean $(ACE_ROOT)/ace/Swap.inl \ $(ACE_ROOT)/ace/Swap.cpp -.obj/Peer_Base.o .obj/Peer_Base.so .shobj/Peer_Base.o .shobj/Peer_Base.so: Peer_Base.cpp Peer_Base.h Federated_TestS.h \ +.obj/Peer_Base.o .obj/Peer_Base.o .obj/Peer_Base.o .obj/Peer_Base.o: Peer_Base.cpp Peer_Base.h Federated_TestS.h \ $(ACE_ROOT)/ace/pre.h Federated_TestC.h \ $(TAO_ROOT)/tao/corba.h \ $(ACE_ROOT)/ace/post.h \ @@ -5909,7 +5915,7 @@ realclean: clean $(ACE_ROOT)/ace/Reactor_Impl.h \ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h -.obj/Control.o .obj/Control.so .shobj/Control.o .shobj/Control.so: Control.cpp Control.h \ +.obj/Control.o .obj/Control.o .obj/Control.o .obj/Control.o: Control.cpp Control.h \ $(ACE_ROOT)/ace/pre.h Federated_TestS.h \ Federated_TestC.h \ $(TAO_ROOT)/tao/corba.h \ @@ -6107,11 +6113,11 @@ realclean: clean $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \ Federated_TestS_T.h Federated_TestS_T.i Federated_TestS_T.cpp \ Federated_TestS.i ORB_Shutdown.h ORB_Shutdown.inl Shutdown.h \ - Auto_Functor.h Auto_Functor.inl Auto_Functor.cpp \ - $(ACE_ROOT)/ace/Swap.h \ + Shutdown.inl Shutdown.cpp Auto_Functor.h Auto_Functor.inl \ + Auto_Functor.cpp $(ACE_ROOT)/ace/Swap.h \ $(ACE_ROOT)/ace/Swap.inl \ - $(ACE_ROOT)/ace/Swap.cpp Shutdown.inl \ - Shutdown.cpp Auto_Disconnect.h Auto_Disconnect.inl Auto_Disconnect.cpp \ + $(ACE_ROOT)/ace/Swap.cpp \ + Auto_Disconnect.h Auto_Disconnect.inl Auto_Disconnect.cpp \ $(ACE_ROOT)/ace/High_Res_Timer.h \ $(ACE_ROOT)/ace/High_Res_Timer.i \ $(ACE_ROOT)/ace/Sample_History.h \ @@ -6119,4 +6125,39 @@ realclean: clean $(ACE_ROOT)/ace/Basic_Stats.h \ $(ACE_ROOT)/ace/Basic_Stats.inl +.obj/Client_Options.o .obj/Client_Options.o .obj/Client_Options.o .obj/Client_Options.o: Client_Options.cpp Client_Options.h \ + $(ACE_ROOT)/ace/pre.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/Arg_Shifter.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/Basic_Types.h \ + $(ACE_ROOT)/ace/Basic_Types.i \ + $(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/Default_Constants.h \ + $(ACE_ROOT)/ace/Global_Macros.h \ + $(ACE_ROOT)/ace/Min_Max.h \ + $(ACE_ROOT)/ace/streams.h \ + $(ACE_ROOT)/ace/Trace.h \ + $(ACE_ROOT)/ace/OS.i \ + $(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 + # IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTClient_Setup.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTClient_Setup.cpp index 6bf90420095..f91faee3b0d 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTClient_Setup.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTClient_Setup.cpp @@ -37,10 +37,12 @@ RTClient_Setup::RTClient_Setup (int use_rt_corba, ACE_ENV_ARG_PARAMETER)); ACE_CHECK; +#if 0 this->priorityband_setup_ = auto_ptr<PriorityBand_Setup> (new PriorityBand_Setup (orb, *this->rtcorba_setup_ ACE_ENV_ARG_PARAMETER)); ACE_CHECK; +#endif /* 0 */ } } diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp index 5f9ae419046..4929d57a20f 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTEC_Initializer.cpp @@ -13,6 +13,8 @@ #include "orbsvcs/Event/EC_Default_Factory.h" #include "orbsvcs/Event/EC_RTCORBA_Factory.h" +#include "ace/Dynamic_Service.h" + ACE_RCSID(TAO_PERF_RTEC, RTEC_Initializer, "$Id$") TAO_EC_Event_Channel * @@ -21,23 +23,19 @@ RTEC_Initializer::create (PortableServer::POA_ptr consumer_poa, RTCORBA_Setup * rtcorba_setup ACE_ENV_ARG_DECL_NOT_USED) { -#if 1 - auto_ptr<TAO_EC_Factory> factory (new TAO_EC_Default_Factory); -#else - auto_ptr<TAO_EC_Factory> factory; + TAO_EC_Event_Channel_Attributes attr (consumer_poa, + supplier_poa); + if (rtcorba_setup == 0) { - factory = auto_ptr<TAO_EC_Factory> (new TAO_EC_Default_Factory); + return new TAO_EC_Event_Channel (attr); } - else - { - factory = auto_ptr<TAO_EC_Factory> (new TAO_EC_RTCORBA_Factory (new TAO_EC_Default_Factory, - rtcorba_setup->lanes ())); - } -#endif /* 0 */ - TAO_EC_Event_Channel_Attributes attr (consumer_poa, - supplier_poa); + TAO_EC_Factory *body = + ACE_Dynamic_Service<TAO_EC_Factory>::instance ("EC_Factory"); + auto_ptr<TAO_EC_Factory> factory ( + new TAO_EC_RTCORBA_Factory (body, + rtcorba_setup->lanes ())); TAO_EC_Event_Channel *ec = new TAO_EC_Event_Channel (attr, factory.get (), 1); diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTServer_Setup.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTServer_Setup.cpp index f388765f717..fbb255d4b2b 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/lib/RTServer_Setup.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/RTServer_Setup.cpp @@ -31,6 +31,7 @@ RTServer_Setup::RTServer_Setup (int use_rt_corba, { ACE_CHECK; +#if 0 if (use_rt_corba) { this->rtpoa_setup_ = @@ -43,6 +44,7 @@ RTServer_Setup::RTServer_Setup (int use_rt_corba, this->rtpoa_setup_->poa (); } else +#endif /* 0 */ { this->poa_ = RIR_Narrow<RTPortableServer::POA>::resolve (orb, diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Supplier.cpp b/TAO/orbsvcs/performance-tests/RTEvent/lib/Supplier.cpp index ee4800dc3d3..0f89a48436a 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Supplier.cpp +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Supplier.cpp @@ -13,9 +13,11 @@ ACE_RCSID(TAO_PERF_RTEC, Supplier, "$Id$") Supplier::Supplier (CORBA::Long experiment_id, CORBA::Long event_type, + CORBA::Long event_range, PortableServer::POA_ptr poa) : experiment_id_ (experiment_id) , event_type_ (event_type) + , event_range_ (event_range) , default_POA_ (PortableServer::POA::_duplicate (poa)) { } @@ -44,11 +46,14 @@ Supplier::connect (RtecEventChannelAdmin::EventChannel_ptr ec RtecEventChannelAdmin::SupplierQOS supplier_qos; supplier_qos.is_gateway = 0; - supplier_qos.publications.length (1); - RtecEventComm::EventHeader& sh0 = - supplier_qos.publications[0].event.header; - sh0.type = this->event_type_; - sh0.source = this->experiment_id_; + supplier_qos.publications.length (this->event_range_); + for (CORBA::Long i = 0; i != this->event_range_; ++i) + { + RtecEventComm::EventHeader& sh = + supplier_qos.publications[i].event.header; + sh.type = this->event_type_ + 2 * i; + sh.source = this->experiment_id_; + } this->proxy_consumer_->connect_push_supplier (supplier.in (), supplier_qos diff --git a/TAO/orbsvcs/performance-tests/RTEvent/lib/Supplier.h b/TAO/orbsvcs/performance-tests/RTEvent/lib/Supplier.h index 491ef9ee0cb..6a04b5f7049 100644 --- a/TAO/orbsvcs/performance-tests/RTEvent/lib/Supplier.h +++ b/TAO/orbsvcs/performance-tests/RTEvent/lib/Supplier.h @@ -35,6 +35,7 @@ public: */ Supplier (CORBA::Long experiment_id, CORBA::Long event_type, + CORBA::Long event_range, PortableServer::POA_ptr poa); /// Connect to the event channel @@ -68,6 +69,9 @@ private: /// The event type CORBA::Long event_type_; + /// The event type + CORBA::Long event_range_; + /// The proxy this object is connected to RtecEventChannelAdmin::ProxyPushConsumer_var proxy_consumer_; |