summaryrefslogtreecommitdiff
path: root/quellcode/versuch5
diff options
context:
space:
mode:
Diffstat (limited to 'quellcode/versuch5')
-rwxr-xr-xquellcode/versuch5/Clientbin0 -> 526159 bytes
-rwxr-xr-xquellcode/versuch5/Client.cpp248
-rwxr-xr-xquellcode/versuch5/Custom_Network_Priority_Mapping.cpp133
-rwxr-xr-xquellcode/versuch5/Custom_Network_Priority_Mapping.h58
-rwxr-xr-xquellcode/versuch5/GNUmakefile.Bench_Client222
-rwxr-xr-xquellcode/versuch5/GNUmakefile.Bench_Server225
-rwxr-xr-xquellcode/versuch5/Serverbin0 -> 876069 bytes
-rwxr-xr-xquellcode/versuch5/Server.cpp143
-rwxr-xr-xquellcode/versuch5/bench.idl29
-rwxr-xr-xquellcode/versuch5/bench.mpc25
-rwxr-xr-xquellcode/versuch5/benchC.cpp2322
-rwxr-xr-xquellcode/versuch5/benchC.h1046
-rwxr-xr-xquellcode/versuch5/benchC.inl172
-rwxr-xr-xquellcode/versuch5/benchS.cpp3366
-rwxr-xr-xquellcode/versuch5/benchS.h518
-rwxr-xr-xquellcode/versuch5/benchS.inl28
-rwxr-xr-xquellcode/versuch5/benchS_T.cpp41
-rwxr-xr-xquellcode/versuch5/benchS_T.h353
-rwxr-xr-xquellcode/versuch5/benchS_T.inl546
-rwxr-xr-xquellcode/versuch5/bench_i.cpp224
-rwxr-xr-xquellcode/versuch5/bench_i.h193
-rwxr-xr-xquellcode/versuch5/cpx.cpp85
-rwxr-xr-xquellcode/versuch5/cpx.h73
-rwxr-xr-xquellcode/versuch5/svc.conf1
24 files changed, 10051 insertions, 0 deletions
diff --git a/quellcode/versuch5/Client b/quellcode/versuch5/Client
new file mode 100755
index 0000000..b1f0883
--- /dev/null
+++ b/quellcode/versuch5/Client
Binary files differ
diff --git a/quellcode/versuch5/Client.cpp b/quellcode/versuch5/Client.cpp
new file mode 100755
index 0000000..e740be3
--- /dev/null
+++ b/quellcode/versuch5/Client.cpp
@@ -0,0 +1,248 @@
+#include <iostream>
+#include <fstream>
+#include "benchC.h"
+#include "orbsvcs/CosNamingC.h"
+#include <tao/RTCORBA/RTCORBA.h>
+#include <unistd.h>
+
+#include "Custom_Network_Priority_Mapping.h"
+#include "cpx.h"
+
+CPX cpx;
+
+benchmark::msg_var message = new benchmark::msg;
+
+benchmark::msgAndPort1_var msgAndPort1;
+benchmark::msgAndPort2_var msgAndPort2;
+benchmark::msgOnly_var msgOnly;
+benchmark::setPortsOnly_var portOnly;
+
+RTCORBA::Current_var current;
+
+int mode;
+std::string strData;
+
+void sigproc(int signo)
+{
+ signal(SIGRTMIN+29, sigproc);
+ switch(mode){
+ case 1:
+ current->the_priority( RTCORBA::maxPriority /* Priority Definition */ );
+ msgAndPort1->setPorts(cpx.get(1), cpx.get(2), cpx.get(3));
+ current->the_priority( RTCORBA::minPriority /* Priority Definition */ );
+ msgAndPort1->sendMsg(message);
+ break;
+ case 2:
+ current->the_priority( RTCORBA::maxPriority /* Priority Definition */ );
+ msgAndPort2->setPortsSendMsg(cpx.get(1), cpx.get(2), cpx.get(3), message);
+ break;
+ case 3:
+ current->the_priority( RTCORBA::minPriority /* Priority Definition */ );
+ std::cout<<"msgOnly mode and DI signal? ..strange"<<std::endl;
+ break;
+ case 4:
+ current->the_priority( RTCORBA::maxPriority /* Priority Definition */ );
+ portOnly->setPorts(cpx.get(1), cpx.get(2), cpx.get(3));
+ current->the_priority( RTCORBA::minPriority /* Priority Definition */ );
+ msgOnly->sendMsg(message);
+ break;
+ default:
+ std::cout<<"this is impossible :-)"<<std::endl;
+ }
+}
+
+
+int main(int argc, char* argv[]){
+
+ if (argc < 2){
+ std::cout<<"enter filename as param1\n";
+ return 0;
+ }
+
+ mode = 0;
+
+ // Mode selection
+ std::cout<<"Which Interface?\n\n1) msgAndPort1\n2) msgAndPort2\n3) msgOnly\n4) 2 Interfaces\n\nNumber: ";
+ std::cin>>mode;
+
+ if ( (mode < 1) || (mode > 4) ) {
+ std::cout<<"Fehlerhafte Eingabe\nBenutze 4)"<<std::endl;
+ mode = 4;
+ }
+
+ struct sched_param schedparam;
+ schedparam.sched_priority = 99;
+
+ if (sched_setscheduler(0, SCHED_FIFO, &schedparam) != 0) {
+ fprintf(stderr, "%s: PID %d: sched_setscheduler() failed errno = %d\n", __FUNCTION__, getpid(), errno);
+ }
+
+ std::string line;
+ std::ifstream infile (argv[1], std::ios_base::in);
+ while (getline(infile, line, '\n'))
+ {
+ strData += line;
+ }
+
+ message->sender = CORBA::string_alloc(sizeof(argv[1]));
+ message->sender = CORBA::string_dup((const char*)argv[1]);
+
+ message->message = CORBA::string_alloc(sizeof(strData));
+ message->message = CORBA::string_dup((const char*)strData.c_str());
+
+ try{
+ // initialize ORB
+ CORBA::ORB_var orb = CORBA::ORB_init(argc, argv, "ClientORB");
+ std::cout<<"ORB ok"<<std::endl;
+
+ // get RTORB
+ CORBA::Object_var rtorb = orb->resolve_initial_references("RTORB");
+ RTCORBA::RTORB_var rtORB = RTCORBA::RTORB::_narrow(rtorb.in());
+ std::cout<<"RTORB ok"<<std::endl;
+
+ // Set the tcp protocol protperties
+ RTCORBA::TCPProtocolProperties_var tcp_properties = rtORB->create_tcp_protocol_properties (ACE_DEFAULT_MAX_SOCKET_BUFSIZ, ACE_DEFAULT_MAX_SOCKET_BUFSIZ, 1, 0, 1, 1 /*enable netw. priority*/);
+
+ RTCORBA::ProtocolList protocols;
+ protocols.length (1);
+ protocols[0].protocol_type = 0;
+ protocols[0].transport_protocol_properties = RTCORBA::ProtocolProperties::_duplicate (tcp_properties.in ());
+ protocols[0].orb_protocol_properties = RTCORBA::ProtocolProperties::_nil ();
+
+
+ // NamingService
+ CORBA::Object_var namingObject = orb->resolve_initial_references("NameService");
+ CosNaming::NamingContext_var namingContext = CosNaming::NamingContext::_narrow(namingObject.in());
+ std::cout<<"NamingService ok"<<std::endl;
+
+ CosNaming::Name name(1);
+ name.length(1);
+
+ // Policies
+ CORBA::PolicyList pcPolicy(2);
+ pcPolicy.length(2);
+ pcPolicy[0] = rtORB->create_private_connection_policy();
+ pcPolicy[1] = rtORB->create_client_protocol_policy(protocols);
+
+ CORBA::Policy_var policy;
+ RTCORBA::PriorityModelPolicy_var rtpolicy;
+ RTCORBA::PriorityModel priomod;
+
+ CORBA::Object_var curobj;
+
+ CORBA::Object_var newTran;
+ CORBA::Object_var benchObj;
+
+ curobj = orb->resolve_initial_references("RTCurrent");
+ current = RTCORBA::Current::_narrow (curobj.in());
+
+ // Retrive apropriate objects
+ switch(mode) {
+ case 1:
+ name[0].id = CORBA::string_dup("msgAndPort1");
+ benchObj = namingContext->resolve(name);
+ msgAndPort1 = benchmark::msgAndPort1::_narrow(benchObj.in());
+ newTran = msgAndPort1->_set_policy_overrides(pcPolicy, CORBA::SET_OVERRIDE);
+ msgAndPort1 = benchmark::msgAndPort1::_narrow(newTran.in());
+
+ current->the_priority( 99 /* Priority Definition */ );
+
+ // network priority
+ benchObj = msgAndPort1->_set_policy_overrides (pcPolicy, CORBA::SET_OVERRIDE);
+ msgAndPort1 = benchmark::msgAndPort1::_narrow( benchObj.in() );
+
+ msgAndPort1->connect();
+ msgAndPort1->setPorts(0,0,0);
+ sleep(1);
+ msgAndPort1->setPorts(255,255,255);
+ sleep(1);
+ msgAndPort1->setPorts(0,0,0);
+
+ break;
+ case 2:
+ name[0].id = CORBA::string_dup("msgAndPort2");
+ benchObj = namingContext->resolve(name);
+ msgAndPort2 = benchmark::msgAndPort2::_narrow(benchObj.in());
+ newTran = msgAndPort2->_set_policy_overrides(pcPolicy, CORBA::SET_OVERRIDE);
+ msgAndPort2 = benchmark::msgAndPort2::_narrow(newTran.in());
+
+ current->the_priority( 99 /* Priority Definition */ );
+
+ benchObj = msgAndPort2->_set_policy_overrides (pcPolicy, CORBA::SET_OVERRIDE);
+ msgAndPort2 = benchmark::msgAndPort2::_narrow( benchObj.in() );
+
+ msgAndPort2->connect();
+ msgAndPort2->setPortsSendMsg(0,0,0, message);
+ sleep(1);
+ msgAndPort2->setPortsSendMsg(255,255,255, message);
+ sleep(1);
+ msgAndPort2->setPortsSendMsg(0,0,0, message);
+
+ break;
+ case 3:
+ name[0].id = CORBA::string_dup("msgOnly");
+ benchObj = namingContext->resolve(name);
+ msgOnly = benchmark::msgOnly::_narrow(benchObj.in());
+ newTran = msgOnly->_set_policy_overrides(pcPolicy, CORBA::SET_OVERRIDE);
+ msgOnly = benchmark::msgOnly::_narrow(newTran.in());
+
+ current->the_priority( RTCORBA::minPriority /* Priority Definition */ );
+
+ benchObj = msgOnly->_set_policy_overrides (pcPolicy, CORBA::SET_OVERRIDE);
+ msgOnly = benchmark::msgOnly::_narrow( benchObj.in() );
+
+ while(true){
+ if(!msgOnly->sendMsg(message)){
+ std::cout<<"error occured -> exit"<<std::endl;
+ return 0;
+ }
+ }
+ break;
+
+ case 4:
+ name[0].id = CORBA::string_dup("portOnly");
+ benchObj = namingContext->resolve(name);
+ portOnly = benchmark::setPortsOnly::_narrow(benchObj.in());
+ newTran = portOnly->_set_policy_overrides(pcPolicy, CORBA::SET_OVERRIDE);
+ portOnly = benchmark::setPortsOnly::_narrow(newTran.in());
+
+ benchObj = portOnly->_set_policy_overrides (pcPolicy, CORBA::SET_OVERRIDE);
+ portOnly = benchmark::setPortsOnly::_narrow( benchObj.in() );
+
+ name[0].id = CORBA::string_dup("msgOnly");
+ benchObj = namingContext->resolve(name);
+ msgOnly = benchmark::msgOnly::_narrow(benchObj.in());
+ newTran = msgOnly->_set_policy_overrides(pcPolicy, CORBA::SET_OVERRIDE);
+ msgOnly = benchmark::msgOnly::_narrow(newTran.in());
+
+ current->the_priority( 99 /* Priority Definition */ );
+
+ benchObj = msgOnly->_set_policy_overrides (pcPolicy, CORBA::SET_OVERRIDE);
+ msgOnly = benchmark::msgOnly::_narrow( benchObj.in() );
+
+ portOnly->connect();
+ portOnly->setPorts(0,0,0);
+ sleep(1);
+ portOnly->setPorts(255,255,255);
+ sleep(1);
+ portOnly->setPorts(0,0,0);
+ break;
+ default:
+ std::cout<<"this never happens ;-)"<<std::endl;
+ }
+
+ // signal handling
+ signal(SIGRTMIN+29, sigproc);
+
+ while(true){
+ pause();
+ }
+
+ // destroy ORB
+ orb->destroy();
+
+ }catch(CORBA::Exception &any){
+ std::cout<<"Exception occured: "<<any<<std::endl;
+ }
+ return 0;
+}
diff --git a/quellcode/versuch5/Custom_Network_Priority_Mapping.cpp b/quellcode/versuch5/Custom_Network_Priority_Mapping.cpp
new file mode 100755
index 0000000..7185272
--- /dev/null
+++ b/quellcode/versuch5/Custom_Network_Priority_Mapping.cpp
@@ -0,0 +1,133 @@
+// Custom_Network_Priority_Mapping.cpp,v 1.7 2004/05/19 22:29:20 irfan Exp
+
+#include "Custom_Network_Priority_Mapping.h"
+#include "tao/debug.h"
+#include "ace/Log_Msg.h"
+
+ACE_RCSID (Strategies,
+ Custom_Network_Priority_Mapping,
+ "Custom_Network_Priority_Mapping.cpp,v 1.7 2004/05/19 22:29:20 irfan Exp")
+
+#define IPDSFIELD_DSCP_DEFAULT 0x00
+#define IPDSFIELD_DSCP_CS1 0x08
+#define IPDSFIELD_DSCP_CS2 0x10
+#define IPDSFIELD_DSCP_CS3 0x18
+#define IPDSFIELD_DSCP_CS4 0x20
+#define IPDSFIELD_DSCP_CS5 0x28
+#define IPDSFIELD_DSCP_CS6 0x30
+#define IPDSFIELD_DSCP_CS7 0x38
+#define IPDSFIELD_DSCP_AF11 0x0A
+#define IPDSFIELD_DSCP_AF12 0x0C
+#define IPDSFIELD_DSCP_AF13 0x0E
+#define IPDSFIELD_DSCP_AF21 0x12
+#define IPDSFIELD_DSCP_AF22 0x14
+#define IPDSFIELD_DSCP_AF23 0x16
+#define IPDSFIELD_DSCP_AF31 0x1A
+#define IPDSFIELD_DSCP_AF32 0x1C
+#define IPDSFIELD_DSCP_AF33 0x1E
+#define IPDSFIELD_DSCP_AF41 0x22
+#define IPDSFIELD_DSCP_AF42 0x24
+#define IPDSFIELD_DSCP_AF43 0x26
+#define IPDSFIELD_ECT_MASK 0x02
+#define IPDSFIELD_CE_MASK 0x01
+#define IPDSFIELD_DSCP_EF 0x2E
+
+static int dscp [] =
+{
+ IPDSFIELD_DSCP_DEFAULT ,
+ IPDSFIELD_DSCP_CS1 ,
+ IPDSFIELD_DSCP_CS2 ,
+ IPDSFIELD_DSCP_CS3 ,
+ IPDSFIELD_DSCP_CS4 ,
+ IPDSFIELD_DSCP_CS5 ,
+ IPDSFIELD_DSCP_CS6 ,
+ IPDSFIELD_DSCP_CS7 ,
+ IPDSFIELD_DSCP_AF11 ,
+ IPDSFIELD_DSCP_AF12 ,
+ IPDSFIELD_DSCP_AF13 ,
+ IPDSFIELD_DSCP_AF21 ,
+ IPDSFIELD_DSCP_AF22 ,
+ IPDSFIELD_DSCP_AF23 ,
+ IPDSFIELD_DSCP_AF31 ,
+ IPDSFIELD_DSCP_AF32 ,
+ IPDSFIELD_DSCP_AF33 ,
+ IPDSFIELD_DSCP_AF41 ,
+ IPDSFIELD_DSCP_AF42 ,
+ IPDSFIELD_DSCP_AF43 ,
+ IPDSFIELD_DSCP_EF
+};
+
+/*
+static const char *dscp_char[]=
+{
+ "Normal",
+ "CS1",
+ "CS2",
+ "CS3",
+ "CS4",
+ "CS5",
+ "CS6",
+ "CS7",
+ "Assured Forwarding 11",
+ "Assured Forwarding 12",
+ "Assured Forwarding 13",
+ "Assured Forwarding 21",
+ "Assured Forwarding 22",
+ "Assured Forwarding 23",
+ "Assured Forwarding 31",
+ "Assured Forwarding 32",
+ "Assured Forwarding 33",
+ "Assured Forwarding 41",
+ "Assured Forwarding 42",
+ "Assured Forwarding 43",
+ "Expedited Forwarding"
+};
+*/
+
+Custom_Network_Priority_Mapping::Custom_Network_Priority_Mapping (void)
+ : corba_priority_ (RTCORBA::minPriority)
+{
+}
+
+void
+Custom_Network_Priority_Mapping::corba_priority (RTCORBA::Priority corba_priority)
+{
+ this->corba_priority_ = corba_priority;
+}
+
+CORBA::Boolean
+Custom_Network_Priority_Mapping::to_network (RTCORBA::Priority,
+ RTCORBA::NetworkPriority &network_priority)
+{
+ if (TAO_debug_level)
+ ACE_DEBUG ((LM_DEBUG,
+ "Custom_Network_Priority_Mapping::to_network corba_priority %d\n",
+ this->corba_priority_));
+
+ const int total_slots = sizeof (dscp) / sizeof (int);
+
+ int array_slot =
+ static_cast<int> (((this->corba_priority_ - RTCORBA::minPriority) / double (RTCORBA::maxPriority - RTCORBA::minPriority)) * total_slots);
+
+ if (array_slot == total_slots)
+ array_slot -= 1;
+
+ network_priority = dscp[array_slot];
+
+ if (TAO_debug_level)
+ ACE_DEBUG ((LM_DEBUG,
+ "Custom_Network_Priority_Mapping::to_network = %x\n",
+ network_priority));
+
+ return 1;
+}
+
+CORBA::Boolean
+Custom_Network_Priority_Mapping::to_CORBA (RTCORBA::NetworkPriority,
+ RTCORBA::Priority &)
+{
+ // This method should not be called.
+ ACE_ASSERT (0);
+
+ return 0;
+}
diff --git a/quellcode/versuch5/Custom_Network_Priority_Mapping.h b/quellcode/versuch5/Custom_Network_Priority_Mapping.h
new file mode 100755
index 0000000..6b08336
--- /dev/null
+++ b/quellcode/versuch5/Custom_Network_Priority_Mapping.h
@@ -0,0 +1,58 @@
+// Custom_Network_Priority_Mapping.h,v 1.6 2004/05/19 22:29:20 irfan Exp
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO
+//
+// = FILENAME
+// Custom_Network_Priority_Mapping.h
+//
+// = DESCRIPTION
+// Declares the Custom_Network_Priority_Mapping interface,
+//
+// = AUTHOR
+// Yamuna Krishnamurthy (yamuna@oomworks.com)
+//
+// ============================================================================
+
+#ifndef CUSTOM_NETWORK_PRIORITY_MAPPING_H
+#define CUSTOM_NETWORK_PRIORITY_MAPPING_H
+
+#include /**/ "ace/pre.h"
+#include "tao/RTCORBA/Network_Priority_Mapping.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class Custom_Network_Priority_Mapping : public TAO_Network_Priority_Mapping
+{
+ //
+ // = TITLE
+ // A simple implementation of the Network_Priority_Mapping interface
+ //
+ // = DESCRIPTION
+ // This implementation uses custom mapping between the range of
+ // priorities for a given scheduling class (ACE_SCHED_OTHER,
+ // ACE_SCHED_FIFO, ACE_SCHED_RR) and the valid range of CORBA
+ // priorities (0...32767)
+ //
+public:
+ Custom_Network_Priority_Mapping (void);
+
+ CORBA::Boolean to_network (RTCORBA::Priority corba_priority,
+ RTCORBA::NetworkPriority &network_priority);
+
+ CORBA::Boolean to_CORBA (RTCORBA::NetworkPriority network_priority,
+ RTCORBA::Priority &corba_priority);
+
+ void corba_priority (RTCORBA::Priority corba_priority);
+
+ private:
+ RTCORBA::Priority corba_priority_;
+};
+
+
+#include /**/ "ace/post.h"
+#endif /* CUSTOM_NETWORK_PRIORITY_MAPPING_H */
diff --git a/quellcode/versuch5/GNUmakefile.Bench_Client b/quellcode/versuch5/GNUmakefile.Bench_Client
new file mode 100755
index 0000000..926af82
--- /dev/null
+++ b/quellcode/versuch5/GNUmakefile.Bench_Client
@@ -0,0 +1,222 @@
+# -*- Makefile -*-
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file GNUmakefile.Bench_Client
+#
+# gnu.mpd,v 1.147 2006/02/21 19:25:26 jwillemsen Exp
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = GNUmakefile.Bench_Client
+DEPENDENCY_FILE = .depend.Bench_Client
+BIN_UNCHECKED = Client
+
+TAO_ROOT ?= $(ACE_ROOT)/TAO
+
+FILES = \
+ Custom_Network_Priority_Mapping.cpp \
+ cpx.cpp \
+ benchC.cpp \
+ Client.cpp
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lTAO_CosNaming -lTAO_RTCORBA -lTAO_PI -lTAO_CodecFactory -lTAO_AnyTypeCode -lTAO -lACE
+TAO_IDL = $(ACE_ROOT)/bin/tao_idl
+TAO_IDL_DEP = $(ACE_ROOT)/bin/tao_idl$(EXEEXT)
+TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT)
+
+PRJ_TYPE = rtp
+
+ifeq ($(INSBIN),.)
+ ifeq ($(PWD),)
+ PWD=$(shell pwd)
+ endif
+ INSBIN = $(PWD)
+endif
+OUTPUT_DIRECTORY = $(INSBIN)
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+tao_dont_use_idl_make_rule = 1
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple targets in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Bench_Client
+all: $(TEMPINCDIR)
+endif
+
+ifneq ($(OUTPUT_DIRECTORY),)
+all: $(OUTPUT_DIRECTORY)
+$(OUTPUT_DIRECTORY):
+ -@$(MKDIR) "$(OUTPUT_DIRECTORY)"
+endif
+
+# turn off libcheck if doing a dry run
+ifeq ($(findstring n, $(MAKEFLAGS)),n)
+ LIBCHECK = 1
+else
+ # turn off libcheck if keep going was passed too
+ ifeq ($(findstring k, $(MAKEFLAGS)),k)
+ LIBCHECK = 1
+ else
+ LIBCHECK ?= $(filter-out $(foreach lib,TAO_CosNaming TAO_RTCORBA TAO_PI TAO_CodecFactory TAO_AnyTypeCode TAO ACE,$(findstring $(lib),$(foreach libpath,. $(ACE_ROOT)/lib /usr/lib $(INSLIB),$(wildcard $(libpath)/lib$(lib).* $(libpath)/$(lib).lib)))),TAO_CosNaming TAO_RTCORBA TAO_PI TAO_CodecFactory TAO_AnyTypeCode TAO ACE)
+ ifeq ($(LIBCHECK),)
+ LIBCHECK = 1
+ endif
+ endif
+endif
+ifeq ($(rt_corba),1)
+ifeq ($(exceptions),1)
+ifeq ($(LIBCHECK), 1)
+BIN = $(BIN_UNCHECKED)$(EXEEXT)
+else
+ all: lib_warning
+endif
+else
+ all: require_warning
+endif
+else
+ all: require_warning
+endif
+
+# If it contains ../ at all use notdir.
+OBJS = $(foreach var, $(addsuffix .$(OBJEXT), $(basename $(FILES)) $(RESOURCES)), $(if $(findstring ../,$(var)),$(notdir $(var)),$(var)))
+SRC = $(FILES)
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+ifneq ($(OUTPUT_DIRECTORY),)
+ifneq ($(OUTPUT_DIRECTORY),.)
+ INSTALL = $(VBIN:%=$(INSBIN)/%)
+ CLEANUP_INSTALL += $(CLEANUP_BIN:%=$(INSBIN)/%$(VAR)$(EXEEXT))
+endif
+endif
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+ifeq ($(VXWORKSLINK),true)
+include $(TGT_DIR)/h/make/rules.$(PRJ_TYPE)
+endif
+
+ifeq ($(VXWORKSLINK),true)
+LDLIBPATH = -L. -L$(ACE_ROOT)/lib
+else
+LDFLAGS += -L. -L$(ACE_ROOT)/lib
+endif
+CPPFLAGS += -I$(ACE_ROOT) -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs
+ifeq ($(static_libs),1)
+ CPPFLAGS += -DACE_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS
+endif
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+lib_warning:
+ @echo This project will not be built due to the following missing library:
+ @echo $(LIBCHECK)
+
+require_warning:
+ @echo This project will not be built due to one of the following missing features:
+ @echo rt_corba exceptions
+
+## Some OS's have /bin/test others only have /usr/bin/test
+ifeq ($(wildcard /bin/test), /bin/test)
+ TEST_EXE = /bin/test
+else
+ifeq ($(wildcard /usr/bin/test), /usr/bin/test)
+ TEST_EXE = /usr/bin/test
+endif
+endif
+
+DYLD_LIBRARY_PATH := $(DYLD_LIBRARY_PATH):$(ACE_ROOT)/lib
+LD_LIBRARY_PATH := $(LD_LIBRARY_PATH):$(ACE_ROOT)/lib
+SHLIB_PATH := $(SHLIB_PATH):$(ACE_ROOT)/lib
+LIBPATH := $(LIBPATH):$(ACE_ROOT)/lib
+PATH := $(PATH):$(ACE_ROOT)/lib
+
+GENERATED_DIRTY += benchS_T.inl benchS.inl benchC.inl benchC.h benchS_T.h benchC.cpp benchS_T.cpp
+OBJS_DEPEND_ON_GENERATED = 1
+## More than one file is generated by the command and therefore
+## it can not be run in parallel. Unfortunately, there is no way to
+## say that only this rule can't be run in parallel. However, we can
+## determine if the generated files have already been generated. If that's
+## the case, then we don't need this special rule.
+ifeq ($(wildcard $(GENERATED_DIRTY)), $(GENERATED_DIRTY))
+ ## If we can find /bin/test, then we will continue
+ ifneq ($(TEST_EXE),)
+ ## If all of the generated files are there, then we need to check
+ ## and make sure that the generated files are up-to-date. If they are not
+ ## then we need the special rule.
+ ifneq ($(shell $(TEST_EXE) bench.idl -nt benchS_T.inl 2> /dev/null && $(TEST_EXE) bench.idl -nt benchS.inl 2> /dev/null && $(TEST_EXE) bench.idl -nt benchC.inl 2> /dev/null && $(TEST_EXE) bench.idl -nt benchC.h 2> /dev/null && $(TEST_EXE) bench.idl -nt benchS_T.h 2> /dev/null && $(TEST_EXE) bench.idl -nt benchC.cpp 2> /dev/null && $(TEST_EXE) bench.idl -nt benchS_T.cpp 2> /dev/null && echo 0),)
+ .NOTPARALLEL:
+ else
+ ## By this point, all of the generated files are here and up-to-date
+ ## with respect to the source file. Now we need to make sure that
+ ## they are up-to-date with respect to the generation tool. If the tool
+ ## is newer than the generated files, then we need the special rule.
+ ifneq ($(shell $(TEST_EXE) $(TAO_IDL_DEP) -nt benchS_T.inl 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchS.inl 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchC.inl 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchC.h 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchS_T.h 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchC.cpp 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchS_T.cpp 2> /dev/null && echo 0),)
+ .NOTPARALLEL:
+ endif
+ endif
+ else
+ .NOTPARALLEL:
+ endif
+else
+.NOTPARALLEL:
+endif
+benchS_T.inl benchS.inl benchC.inl benchC.h benchS_T.h benchC.cpp benchS_T.cpp: bench.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs bench.idl
+
+ifneq ($(GENERATED_DIRTY),)
+.PRECIOUS: $(GENERATED_DIRTY)
+## If the generated files are anything but source files, we need to
+## ensure that those files are generated before we attempt to build anything
+## else.
+ifeq ($(OBJS_DEPEND_ON_GENERATED),1)
+$(VDIR)$(ACE_PCH_FILE) $(addprefix $(VDIR), $(OBJS)): $(GENERATED_DIRTY)
+$(VSHDIR)$(ACE_PCH_FILE) $(VSHOBJS): $(GENERATED_DIRTY)
+endif
+endif
+
+ADDITIONAL_IDL_TARGETS += bench$(IDL_CLIENT_HDR_EXT)
+idl_stubs: $(ADDITIONAL_IDL_TARGETS)
+
+# This assignment forces make to run the idl_stubs
+# target before building any of the source files.
+FORCED_IDL_STUBS = Custom_Network_Priority_Mapping.cpp cpx.cpp benchC.cpp Client.cpp
+FORCED_IDL_STUBS := $(FORCED_IDL_STUBS:benchC.cpp=)
+
+ifneq ($(FORCED_IDL_STUBS),)
+$(FORCED_IDL_STUBS): idl_stubs
+endif
+
+ifneq ($(VXWORKSLINK),true)
+ifeq ($(static_libs_only), 1)
+ ifeq ($(use_dep_libs), 1)
+ DEPLIBS = $(foreach lib, TAO_CosNaming TAO_RTCORBA TAO_PI TAO_CodecFactory TAO_AnyTypeCode TAO ACE , $(foreach libpath, . $(ACE_ROOT)/lib, $(wildcard $(libpath)/lib$(lib).a)))
+ endif
+endif
+
+$(BIN): $(addprefix $(VDIR), $(OBJS)) $(DEPLIBS)
+ifndef kylix
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+endif
+
+realclean: clean
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+
diff --git a/quellcode/versuch5/GNUmakefile.Bench_Server b/quellcode/versuch5/GNUmakefile.Bench_Server
new file mode 100755
index 0000000..65ef41f
--- /dev/null
+++ b/quellcode/versuch5/GNUmakefile.Bench_Server
@@ -0,0 +1,225 @@
+# -*- Makefile -*-
+#----------------------------------------------------------------------------
+# GNU Makefile
+#
+# @file GNUmakefile.Bench_Server
+#
+# gnu.mpd,v 1.147 2006/02/21 19:25:26 jwillemsen Exp
+#
+# This file was automatically generated by MPC. Any changes made directly to
+# this file will be lost the next time it is generated.
+#
+#----------------------------------------------------------------------------
+MAKEFILE = GNUmakefile.Bench_Server
+DEPENDENCY_FILE = .depend.Bench_Server
+BIN_UNCHECKED = Server
+
+TAO_ROOT ?= $(ACE_ROOT)/TAO
+
+FILES = \
+ benchC.cpp \
+ benchS.cpp \
+ Custom_Network_Priority_Mapping.cpp \
+ cpx.cpp \
+ bench_i.cpp \
+ Server.cpp
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+LDLIBS = -lTAO_CosNaming -lTAO_RTPortableServer -lTAO_RTCORBA -lTAO_PortableServer -lTAO_PI -lTAO_CodecFactory -lTAO_AnyTypeCode -lTAO -lACE
+TAO_IDL = $(ACE_ROOT)/bin/tao_idl
+TAO_IDL_DEP = $(ACE_ROOT)/bin/tao_idl$(EXEEXT)
+TAO_IDLFLAGS = -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT)
+
+PRJ_TYPE = rtp
+
+ifeq ($(INSBIN),.)
+ ifeq ($(PWD),)
+ PWD=$(shell pwd)
+ endif
+ INSBIN = $(PWD)
+endif
+OUTPUT_DIRECTORY = $(INSBIN)
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+## We don't need the ACELIB setting from wrapper_macros.GNU
+ACELIB =
+tao_dont_use_idl_make_rule = 1
+include $(TAO_ROOT)/rules.tao.GNU
+
+# To build multiple targets in the same directory on AIX, it works
+# best to have a template directory per project.
+# The compiler/linker isn't too smart about instantiating templates...
+ifdef TEMPINCDIR
+TEMPINCDIR := $(TEMPINCDIR)/Bench_Server
+all: $(TEMPINCDIR)
+endif
+
+ifneq ($(OUTPUT_DIRECTORY),)
+all: $(OUTPUT_DIRECTORY)
+$(OUTPUT_DIRECTORY):
+ -@$(MKDIR) "$(OUTPUT_DIRECTORY)"
+endif
+
+# turn off libcheck if doing a dry run
+ifeq ($(findstring n, $(MAKEFLAGS)),n)
+ LIBCHECK = 1
+else
+ # turn off libcheck if keep going was passed too
+ ifeq ($(findstring k, $(MAKEFLAGS)),k)
+ LIBCHECK = 1
+ else
+ LIBCHECK ?= $(filter-out $(foreach lib,TAO_CosNaming TAO_RTPortableServer TAO_RTCORBA TAO_PortableServer TAO_PI TAO_CodecFactory TAO_AnyTypeCode TAO ACE,$(findstring $(lib),$(foreach libpath,. $(ACE_ROOT)/lib /usr/lib $(INSLIB),$(wildcard $(libpath)/lib$(lib).* $(libpath)/$(lib).lib)))),TAO_CosNaming TAO_RTPortableServer TAO_RTCORBA TAO_PortableServer TAO_PI TAO_CodecFactory TAO_AnyTypeCode TAO ACE)
+ ifeq ($(LIBCHECK),)
+ LIBCHECK = 1
+ endif
+ endif
+endif
+ifeq ($(rt_corba),1)
+ifeq ($(exceptions),1)
+ifeq ($(LIBCHECK), 1)
+BIN = $(BIN_UNCHECKED)$(EXEEXT)
+else
+ all: lib_warning
+endif
+else
+ all: require_warning
+endif
+else
+ all: require_warning
+endif
+
+# If it contains ../ at all use notdir.
+OBJS = $(foreach var, $(addsuffix .$(OBJEXT), $(basename $(FILES)) $(RESOURCES)), $(if $(findstring ../,$(var)),$(notdir $(var)),$(var)))
+SRC = $(FILES)
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+
+ifneq ($(OUTPUT_DIRECTORY),)
+ifneq ($(OUTPUT_DIRECTORY),.)
+ INSTALL = $(VBIN:%=$(INSBIN)/%)
+ CLEANUP_INSTALL += $(CLEANUP_BIN:%=$(INSBIN)/%$(VAR)$(EXEEXT))
+endif
+endif
+
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+ifeq ($(VXWORKSLINK),true)
+include $(TGT_DIR)/h/make/rules.$(PRJ_TYPE)
+endif
+
+ifeq ($(VXWORKSLINK),true)
+LDLIBPATH = -L. -L$(ACE_ROOT)/lib
+else
+LDFLAGS += -L. -L$(ACE_ROOT)/lib
+endif
+CPPFLAGS += -I$(ACE_ROOT) -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs
+ifeq ($(static_libs),1)
+ CPPFLAGS += -DACE_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS
+endif
+
+#----------------------------------------------------------------------------
+# Local targets
+#----------------------------------------------------------------------------
+lib_warning:
+ @echo This project will not be built due to the following missing library:
+ @echo $(LIBCHECK)
+
+require_warning:
+ @echo This project will not be built due to one of the following missing features:
+ @echo rt_corba exceptions
+
+## Some OS's have /bin/test others only have /usr/bin/test
+ifeq ($(wildcard /bin/test), /bin/test)
+ TEST_EXE = /bin/test
+else
+ifeq ($(wildcard /usr/bin/test), /usr/bin/test)
+ TEST_EXE = /usr/bin/test
+endif
+endif
+
+DYLD_LIBRARY_PATH := $(DYLD_LIBRARY_PATH):$(ACE_ROOT)/lib
+LD_LIBRARY_PATH := $(LD_LIBRARY_PATH):$(ACE_ROOT)/lib
+SHLIB_PATH := $(SHLIB_PATH):$(ACE_ROOT)/lib
+LIBPATH := $(LIBPATH):$(ACE_ROOT)/lib
+PATH := $(PATH):$(ACE_ROOT)/lib
+
+GENERATED_DIRTY += benchS_T.inl benchS.inl benchC.inl benchC.h benchS.h benchS_T.h benchC.cpp benchS.cpp benchS_T.cpp
+OBJS_DEPEND_ON_GENERATED = 1
+## More than one file is generated by the command and therefore
+## it can not be run in parallel. Unfortunately, there is no way to
+## say that only this rule can't be run in parallel. However, we can
+## determine if the generated files have already been generated. If that's
+## the case, then we don't need this special rule.
+ifeq ($(wildcard $(GENERATED_DIRTY)), $(GENERATED_DIRTY))
+ ## If we can find /bin/test, then we will continue
+ ifneq ($(TEST_EXE),)
+ ## If all of the generated files are there, then we need to check
+ ## and make sure that the generated files are up-to-date. If they are not
+ ## then we need the special rule.
+ ifneq ($(shell $(TEST_EXE) bench.idl -nt benchS_T.inl 2> /dev/null && $(TEST_EXE) bench.idl -nt benchS.inl 2> /dev/null && $(TEST_EXE) bench.idl -nt benchC.inl 2> /dev/null && $(TEST_EXE) bench.idl -nt benchC.h 2> /dev/null && $(TEST_EXE) bench.idl -nt benchS.h 2> /dev/null && $(TEST_EXE) bench.idl -nt benchS_T.h 2> /dev/null && $(TEST_EXE) bench.idl -nt benchC.cpp 2> /dev/null && $(TEST_EXE) bench.idl -nt benchS.cpp 2> /dev/null && $(TEST_EXE) bench.idl -nt benchS_T.cpp 2> /dev/null && echo 0),)
+ .NOTPARALLEL:
+ else
+ ## By this point, all of the generated files are here and up-to-date
+ ## with respect to the source file. Now we need to make sure that
+ ## they are up-to-date with respect to the generation tool. If the tool
+ ## is newer than the generated files, then we need the special rule.
+ ifneq ($(shell $(TEST_EXE) $(TAO_IDL_DEP) -nt benchS_T.inl 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchS.inl 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchC.inl 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchC.h 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchS.h 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchS_T.h 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchC.cpp 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchS.cpp 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchS_T.cpp 2> /dev/null && echo 0),)
+ .NOTPARALLEL:
+ endif
+ endif
+ else
+ .NOTPARALLEL:
+ endif
+else
+.NOTPARALLEL:
+endif
+benchS_T.inl benchS.inl benchC.inl benchC.h benchS.h benchS_T.h benchC.cpp benchS.cpp benchS_T.cpp: bench.idl $(TAO_IDL_DEP)
+ $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs bench.idl
+
+ifneq ($(GENERATED_DIRTY),)
+.PRECIOUS: $(GENERATED_DIRTY)
+## If the generated files are anything but source files, we need to
+## ensure that those files are generated before we attempt to build anything
+## else.
+ifeq ($(OBJS_DEPEND_ON_GENERATED),1)
+$(VDIR)$(ACE_PCH_FILE) $(addprefix $(VDIR), $(OBJS)): $(GENERATED_DIRTY)
+$(VSHDIR)$(ACE_PCH_FILE) $(VSHOBJS): $(GENERATED_DIRTY)
+endif
+endif
+
+ADDITIONAL_IDL_TARGETS += bench$(IDL_CLIENT_HDR_EXT)
+idl_stubs: $(ADDITIONAL_IDL_TARGETS)
+
+# This assignment forces make to run the idl_stubs
+# target before building any of the source files.
+FORCED_IDL_STUBS = benchC.cpp benchS.cpp Custom_Network_Priority_Mapping.cpp cpx.cpp bench_i.cpp Server.cpp
+FORCED_IDL_STUBS := $(FORCED_IDL_STUBS:benchC.cpp=)
+FORCED_IDL_STUBS := $(FORCED_IDL_STUBS:benchS.cpp=)
+
+ifneq ($(FORCED_IDL_STUBS),)
+$(FORCED_IDL_STUBS): idl_stubs
+endif
+
+ifneq ($(VXWORKSLINK),true)
+ifeq ($(static_libs_only), 1)
+ ifeq ($(use_dep_libs), 1)
+ DEPLIBS = $(foreach lib, TAO_CosNaming TAO_RTPortableServer TAO_RTCORBA TAO_PortableServer TAO_PI TAO_CodecFactory TAO_AnyTypeCode TAO ACE , $(foreach libpath, . $(ACE_ROOT)/lib, $(wildcard $(libpath)/lib$(lib).a)))
+ endif
+endif
+
+$(BIN): $(addprefix $(VDIR), $(OBJS)) $(DEPLIBS)
+ifndef kylix
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
+else
+ $(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
+endif
+endif
+
+realclean: clean
+ifneq ($(GENERATED_DIRTY),)
+ -$(RM) -r $(GENERATED_DIRTY)
+endif
+
diff --git a/quellcode/versuch5/Server b/quellcode/versuch5/Server
new file mode 100755
index 0000000..c84aebb
--- /dev/null
+++ b/quellcode/versuch5/Server
Binary files differ
diff --git a/quellcode/versuch5/Server.cpp b/quellcode/versuch5/Server.cpp
new file mode 100755
index 0000000..94afb5c
--- /dev/null
+++ b/quellcode/versuch5/Server.cpp
@@ -0,0 +1,143 @@
+#include <iostream>
+
+#include "bench_i.h"
+
+#include "orbsvcs/CosNamingC.h"
+#include <tao/RTCORBA/RTCORBA.h>
+#include "tao/RTCORBA/Network_Priority_Mapping_Manager.h"
+#include "tao/RTCORBA/Network_Priority_Mapping.h"
+#include "Custom_Network_Priority_Mapping.h"
+
+RTCORBA::Priority corbaPriority = RTCORBA::minPriority;
+
+int main(int argc, char* argv[]){
+
+ struct sched_param schedparam;
+ schedparam.sched_priority = 99;
+
+ if (sched_setscheduler(0, SCHED_FIFO, &schedparam) != 0) {
+ fprintf(stderr, "%s: PID %d: sched_setscheduler() failed errno = %d\n", __FUNCTION__, getpid(), errno);
+ }
+
+ try{
+ // initialize ORB
+ CORBA::ORB_var orb = CORBA::ORB_init(argc, argv, "ServerORB");
+ std::cout<<"ORB initialized"<<std::endl;
+
+ // Network priority mapping
+ CORBA::Object_var netmapper = orb->resolve_initial_references("NetworkPriorityMappingManager");
+ RTCORBA::NetworkPriorityMappingManager_var mappingManager = RTCORBA::NetworkPriorityMappingManager::_narrow( netmapper.in() );
+
+ Custom_Network_Priority_Mapping *cnpm;
+ cnpm = new Custom_Network_Priority_Mapping();
+
+ cnpm->corba_priority(corbaPriority);
+ mappingManager->mapping(cnpm);
+
+ // access RT Extensions
+ CORBA::Object_var rtorb = orb->resolve_initial_references("RTORB");
+ RTCORBA::RTORB_var rtORB = RTCORBA::RTORB::_narrow(rtorb);
+ std::cout<<"RT Extensions OK"<<std::endl;
+
+ // Set transport protocol properties
+ RTCORBA::TCPProtocolProperties_var tcpProperties = rtORB->create_tcp_protocol_properties (ACE_DEFAULT_MAX_SOCKET_BUFSIZ, ACE_DEFAULT_MAX_SOCKET_BUFSIZ, 1, 0, 1, 1 /*enable netw. priority*/);
+
+ RTCORBA::ProtocolList protocols;
+ protocols.length (1);
+ protocols[0].protocol_type = 0;
+ protocols[0].transport_protocol_properties = RTCORBA::ProtocolProperties::_duplicate (tcpProperties.in ());
+ protocols[0].orb_protocol_properties = RTCORBA::ProtocolProperties::_nil ();
+
+ // obtain rootPOA
+ CORBA::Object_var poa = orb->resolve_initial_references("RootPOA");
+ PortableServer::POA_var rootPOA = PortableServer::POA::_narrow(poa.in());
+
+ // NameService
+ CORBA::Object_var namingObject = orb->resolve_initial_references("NameService");
+ CosNaming::NamingContext_var namingContext = CosNaming::NamingContext::_narrow(namingObject.in());
+
+ // activate POA Manager
+ PortableServer::POAManager_var poaManager = rootPOA->the_POAManager();
+ poaManager->activate();
+ std::cout<<"rootPOA OK"<<std::endl;
+
+ // create 2 lanes (message and port)
+ CORBA::ULong TOTAL_LANES = 2;
+ RTCORBA::ThreadpoolLanes lanes(TOTAL_LANES);
+ lanes.length(TOTAL_LANES);
+
+ // message lane
+ lanes[0].static_threads = 1;
+ lanes[0].dynamic_threads = 1;
+ lanes[0].lane_priority = 0;
+
+ // port lane
+ lanes[1].static_threads = 1;
+ lanes[1].dynamic_threads = 1;
+ lanes[1].lane_priority = RTCORBA::maxPriority;
+
+ // create threadpool
+ RTCORBA::ThreadpoolId threadpool_id = rtORB->create_threadpool_with_lanes(0 /*Stacksize*/, lanes, 0 /*borrowing*/, 0 /*buffering*/, 0 /*maxBuf*/, 0 /*maxBufSize*/);
+
+ // create Policy
+ CORBA::PolicyList benchPolicy(3);
+ benchPolicy.length(3);
+ benchPolicy[0] = rtORB->create_priority_model_policy(RTCORBA::CLIENT_PROPAGATED, 0 /*default priority*/);
+ benchPolicy[1] = rtORB->create_threadpool_policy(threadpool_id);
+ benchPolicy[2] = rtORB->create_server_protocol_policy (protocols);
+
+ // create ObjectAdapters, assign Policy
+ PortableServer::POA_var msgAndPort1POA = rootPOA->create_POA("msgAndPort1POA", poaManager.in(), benchPolicy);
+ PortableServer::POA_var msgAndPort2POA = rootPOA->create_POA("msgAndPort2POA", poaManager.in(), benchPolicy);
+ PortableServer::POA_var msgOnlyPOA = rootPOA->create_POA("msgOnlyPOA", poaManager.in(), benchPolicy);
+
+ // benchPolicy[0] = rtORB->create_priority_model_policy(RTCORBA::CLIENT_PROPAGATED, 0 /*default priority*/);
+
+ PortableServer::POA_var portOnlyPOA = rootPOA->create_POA("portOnlyPOA", poaManager.in(), benchPolicy);
+ std::cout<<"POAs created, Policies assigned"<<std::endl;
+
+ // create the servants
+ benchmark_msgAndPort1_i msgAndPort1_i(orb);
+ benchmark_msgAndPort2_i msgAndPort2_i(orb);
+ benchmark_msgOnly_i msgOnly_i(orb);
+ benchmark_setPortsOnly_i portOnly_i(orb);
+
+ // activate servants
+ CosNaming::Name name(1);
+ name.length(1);
+
+ PortableServer::ObjectId_var objectID = msgAndPort1POA->activate_object(&msgAndPort1_i);
+ CORBA::Object_var benchObj = msgAndPort1POA->id_to_reference(objectID.in());
+ name[0].id = CORBA::string_dup("msgAndPort1");
+ namingContext->bind(name, benchObj.in());
+
+ objectID = msgAndPort2POA->activate_object(&msgAndPort2_i);
+ benchObj = msgAndPort2POA->id_to_reference(objectID.in());
+ name[0].id = CORBA::string_dup("msgAndPort2");
+ namingContext->bind(name, benchObj.in());
+
+ objectID = msgOnlyPOA->activate_object(&msgOnly_i);
+ benchObj = msgOnlyPOA->id_to_reference(objectID.in());
+ name[0].id = CORBA::string_dup("msgOnly");
+ namingContext->bind(name, benchObj.in());
+
+ objectID = portOnlyPOA->activate_object(&portOnly_i);
+ benchObj = portOnlyPOA->id_to_reference(objectID.in());
+ name[0].id = CORBA::string_dup("portOnly");
+ namingContext->bind(name, benchObj.in());
+
+ std::cout<<"Servants activated"<<std::endl;
+
+ // start ORB
+ orb->run();
+ std::cout<<"ORB ready"<<std::endl;
+
+ //destroy
+ rootPOA->destroy(1,1);
+ orb->destroy();
+ }catch(CORBA::Exception &any){
+ std::cout<<"Exception: "<<any<<std::endl;
+ }
+ return 0;
+}
+
diff --git a/quellcode/versuch5/bench.idl b/quellcode/versuch5/bench.idl
new file mode 100755
index 0000000..40385f4
--- /dev/null
+++ b/quellcode/versuch5/bench.idl
@@ -0,0 +1,29 @@
+module benchmark{
+
+ struct msg{
+ string sender;
+ string message;
+ };
+
+ exception invalidRequest{};
+
+ interface msgAndPort1{
+ void connect() raises(invalidRequest);
+ void setPorts( in short valPort1, in short valPort2, in short valPort3) raises(invalidRequest);
+ boolean sendMsg( in msg message) raises(invalidRequest);
+ };
+
+ interface msgAndPort2{
+ void connect() raises(invalidRequest);
+ void setPortsSendMsg( in short valPort1, in short valPort2, in short valPort3, in msg message) raises(invalidRequest);
+ };
+
+ interface msgOnly{
+ boolean sendMsg( in msg message) raises(invalidRequest);
+ };
+
+ interface setPortsOnly{
+ void connect() raises(invalidRequest);
+ void setPorts( in short valPort1, in short valPort2, in short valPort3) raises(invalidRequest);
+ };
+};
diff --git a/quellcode/versuch5/bench.mpc b/quellcode/versuch5/bench.mpc
new file mode 100755
index 0000000..8a91cb3
--- /dev/null
+++ b/quellcode/versuch5/bench.mpc
@@ -0,0 +1,25 @@
+project(*Server): rt_server, naming {
+ requires += exceptions
+ Source_Files {
+ Custom_Network_Priority_Mapping.cpp
+ cpx.cpp
+ bench_i.cpp
+ Server.cpp
+ }
+ Header_Files {
+ cpx.h
+ }
+}
+
+project(*Client): rt_client, naming {
+ requires += exceptions
+ Source_Files {
+ Custom_Network_Priority_Mapping.cpp
+ cpx.cpp
+ benchC.cpp
+ Client.cpp
+ }
+ Header_Files {
+ cpx.h
+ }
+}
diff --git a/quellcode/versuch5/benchC.cpp b/quellcode/versuch5/benchC.cpp
new file mode 100755
index 0000000..78802ea
--- /dev/null
+++ b/quellcode/versuch5/benchC.cpp
@@ -0,0 +1,2322 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:283
+
+
+#include "benchC.h"
+#include "tao/AnyTypeCode/Null_RefCount_Policy.h"
+#include "tao/AnyTypeCode/TypeCode_Constants.h"
+#include "tao/AnyTypeCode/Alias_TypeCode_Static.h"
+#include "tao/AnyTypeCode/Objref_TypeCode_Static.h"
+#include "tao/AnyTypeCode/String_TypeCode_Static.h"
+#include "tao/AnyTypeCode/Struct_TypeCode_Static.h"
+#include "tao/AnyTypeCode/TypeCode_Struct_Field.h"
+#include "tao/CDR.h"
+#include "tao/Exception_Data.h"
+#include "tao/Invocation_Adapter.h"
+#include "tao/Object_T.h"
+#include "tao/AnyTypeCode/Any.h"
+#include "tao/AnyTypeCode/Any_Impl_T.h"
+#include "tao/AnyTypeCode/Any_Dual_Impl_T.h"
+#include "tao/Basic_Arguments.h"
+#include "tao/Special_Basic_Arguments.h"
+#include "tao/Var_Size_Argument_T.h"
+#include "ace/OS_NS_string.h"
+
+#if !defined (__ACE_INLINE__)
+#include "benchC.inl"
+#endif /* !defined INLINE */
+
+// TAO_IDL - Generated from
+// be/be_visitor_arg_traits.cpp:71
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Arg traits specializations.
+namespace TAO
+{
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_arg_traits.cpp:893
+
+#if !defined (_BENCHMARK_MSG__ARG_TRAITS_)
+#define _BENCHMARK_MSG__ARG_TRAITS_
+
+ template<>
+ class Arg_Traits<benchmark::msg>
+ : public
+ Var_Size_Arg_Traits_T<
+ benchmark::msg,
+ benchmark::msg_var,
+ benchmark::msg_out,
+ TAO::Any_Insert_Policy_Stream <benchmark::msg>
+ >
+ {
+ };
+
+#endif /* end #if !defined */
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/struct_typecode.cpp:89
+
+static TAO::TypeCode::Struct_Field<char const *, ::CORBA::TypeCode_ptr const *> const _tao_fields_benchmark_msg[] =
+ {
+ { "sender", &CORBA::_tc_string },
+ { "message", &CORBA::_tc_string }
+
+ };
+static TAO::TypeCode::Struct<char const *,
+ ::CORBA::TypeCode_ptr const *,
+ TAO::TypeCode::Struct_Field<char const *, ::CORBA::TypeCode_ptr const *> const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_benchmark_msg (
+ ::CORBA::tk_struct,
+ "IDL:benchmark/msg:1.0",
+ "msg",
+ _tao_fields_benchmark_msg,
+ 2);
+
+namespace benchmark
+{
+ ::CORBA::TypeCode_ptr const _tc_msg =
+ &_tao_tc_benchmark_msg;
+}
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/structure_cs.cpp:66
+
+void
+benchmark::msg::_tao_any_destructor (
+ void *_tao_void_pointer
+ )
+{
+ msg *_tao_tmp_pointer =
+ static_cast<msg *> (_tao_void_pointer);
+ delete _tao_tmp_pointer;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/exception_cs.cpp:63
+
+benchmark::invalidRequest::invalidRequest (void)
+ : ::CORBA::UserException (
+ "IDL:benchmark/invalidRequest:1.0",
+ "invalidRequest"
+ )
+{
+}
+
+benchmark::invalidRequest::~invalidRequest (void)
+{
+}
+
+benchmark::invalidRequest::invalidRequest (const ::benchmark::invalidRequest &_tao_excp)
+ : ::CORBA::UserException (
+ _tao_excp._rep_id (),
+ _tao_excp._name ()
+ )
+{
+}
+
+benchmark::invalidRequest&
+benchmark::invalidRequest::operator= (const ::benchmark::invalidRequest &_tao_excp)
+{
+ this->ACE_NESTED_CLASS ( ::CORBA, UserException)::operator= (_tao_excp);
+ return *this;
+}
+
+void benchmark::invalidRequest::_tao_any_destructor (void *_tao_void_pointer)
+{
+ invalidRequest *_tao_tmp_pointer =
+ static_cast<invalidRequest *> (_tao_void_pointer);
+ delete _tao_tmp_pointer;
+}
+
+benchmark::invalidRequest *
+benchmark::invalidRequest::_downcast ( ::CORBA::Exception *_tao_excp)
+{
+ return dynamic_cast<invalidRequest *> (_tao_excp);
+}
+
+const benchmark::invalidRequest *
+benchmark::invalidRequest::_downcast ( ::CORBA::Exception const *_tao_excp)
+{
+ return dynamic_cast<const invalidRequest *> (_tao_excp);
+}
+
+::CORBA::Exception *benchmark::invalidRequest::_alloc (void)
+{
+ ::CORBA::Exception *retval = 0;
+ ACE_NEW_RETURN (retval, ::benchmark::invalidRequest, 0);
+ return retval;
+}
+
+::CORBA::Exception *
+benchmark::invalidRequest::_tao_duplicate (void) const
+{
+ ::CORBA::Exception *result = 0;
+ ACE_NEW_RETURN (
+ result,
+ ::benchmark::invalidRequest (*this),
+ 0
+ );
+ return result;
+}
+
+void benchmark::invalidRequest::_raise (void) const
+{
+ TAO_RAISE (*this);
+}
+
+void benchmark::invalidRequest::_tao_encode (
+ TAO_OutputCDR &cdr
+ ACE_ENV_ARG_DECL
+ ) const
+{
+ if (cdr << *this)
+ {
+ return;
+ }
+
+ ACE_THROW ( ::CORBA::MARSHAL ());
+}
+
+void benchmark::invalidRequest::_tao_decode (
+ TAO_InputCDR &cdr
+ ACE_ENV_ARG_DECL
+ )
+{
+ if (cdr >> *this)
+ {
+ return;
+ }
+
+ ACE_THROW ( ::CORBA::MARSHAL ());
+}
+
+// TAO extension - the virtual _type method.
+::CORBA::TypeCode_ptr benchmark::invalidRequest::_tao_type (void) const
+{
+ return ::benchmark::_tc_invalidRequest;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/struct_typecode.cpp:89
+
+static TAO::TypeCode::Struct_Field<char const *, ::CORBA::TypeCode_ptr const *> const * const _tao_fields_benchmark_invalidRequest = 0;
+static TAO::TypeCode::Struct<char const *,
+ ::CORBA::TypeCode_ptr const *,
+ TAO::TypeCode::Struct_Field<char const *, ::CORBA::TypeCode_ptr const *> const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_benchmark_invalidRequest (
+ ::CORBA::tk_except,
+ "IDL:benchmark/invalidRequest:1.0",
+ "invalidRequest",
+ _tao_fields_benchmark_invalidRequest,
+ 0);
+
+namespace benchmark
+{
+ ::CORBA::TypeCode_ptr const _tc_invalidRequest =
+ &_tao_tc_benchmark_invalidRequest;
+}
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_cs.cpp:60
+
+// Traits specializations for benchmark::msgAndPort1.
+
+benchmark::msgAndPort1_ptr
+TAO::Objref_Traits<benchmark::msgAndPort1>::duplicate (
+ benchmark::msgAndPort1_ptr p
+ )
+{
+ return benchmark::msgAndPort1::_duplicate (p);
+}
+
+void
+TAO::Objref_Traits<benchmark::msgAndPort1>::release (
+ benchmark::msgAndPort1_ptr p
+ )
+{
+ CORBA::release (p);
+}
+
+benchmark::msgAndPort1_ptr
+TAO::Objref_Traits<benchmark::msgAndPort1>::nil (void)
+{
+ return benchmark::msgAndPort1::_nil ();
+}
+
+::CORBA::Boolean
+TAO::Objref_Traits<benchmark::msgAndPort1>::marshal (
+ const benchmark::msgAndPort1_ptr p,
+ TAO_OutputCDR & cdr
+ )
+{
+ return ::CORBA::Object::marshal (p, cdr);
+}
+
+// Function pointer for collocation factory initialization.
+TAO::Collocation_Proxy_Broker *
+(*benchmark__TAO_msgAndPort1_Proxy_Broker_Factory_function_pointer) (
+ ::CORBA::Object_ptr obj
+ ) = 0;
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_cs.cpp:78
+
+void benchmark::msgAndPort1::connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ if (!this->is_evaluated ())
+ {
+ ACE_NESTED_CLASS ( ::CORBA, Object)::tao_object_initialize (this);
+ }
+
+ if (this->the_TAO_msgAndPort1_Proxy_Broker_ == 0)
+ {
+ benchmark_msgAndPort1_setup_collocation ();
+ }
+
+ TAO::Arg_Traits< void>::ret_val _tao_retval;
+
+ TAO::Argument *_the_tao_operation_signature [] =
+ {
+ &_tao_retval
+ };
+
+ static TAO::Exception_Data
+ _tao_benchmark_msgAndPort1_connect_exceptiondata [] =
+ {
+ {
+ "IDL:benchmark/invalidRequest:1.0",
+ benchmark::invalidRequest::_alloc
+#if TAO_HAS_INTERCEPTORS == 1
+ , benchmark::_tc_invalidRequest
+#endif /* TAO_HAS_INTERCEPTORS */
+ }
+ };
+
+ TAO::Invocation_Adapter _tao_call (
+ this,
+ _the_tao_operation_signature,
+ 1,
+ "connect",
+ 7,
+ this->the_TAO_msgAndPort1_Proxy_Broker_
+ );
+
+ _tao_call.invoke (
+ _tao_benchmark_msgAndPort1_connect_exceptiondata,
+ 1
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_cs.cpp:78
+
+void benchmark::msgAndPort1::setPorts (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ if (!this->is_evaluated ())
+ {
+ ACE_NESTED_CLASS ( ::CORBA, Object)::tao_object_initialize (this);
+ }
+
+ if (this->the_TAO_msgAndPort1_Proxy_Broker_ == 0)
+ {
+ benchmark_msgAndPort1_setup_collocation ();
+ }
+
+ TAO::Arg_Traits< void>::ret_val _tao_retval;
+ TAO::Arg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort1 (valPort1);
+ TAO::Arg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort2 (valPort2);
+ TAO::Arg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort3 (valPort3);
+
+ TAO::Argument *_the_tao_operation_signature [] =
+ {
+ &_tao_retval,
+ &_tao_valPort1,
+ &_tao_valPort2,
+ &_tao_valPort3
+ };
+
+ static TAO::Exception_Data
+ _tao_benchmark_msgAndPort1_setPorts_exceptiondata [] =
+ {
+ {
+ "IDL:benchmark/invalidRequest:1.0",
+ benchmark::invalidRequest::_alloc
+#if TAO_HAS_INTERCEPTORS == 1
+ , benchmark::_tc_invalidRequest
+#endif /* TAO_HAS_INTERCEPTORS */
+ }
+ };
+
+ TAO::Invocation_Adapter _tao_call (
+ this,
+ _the_tao_operation_signature,
+ 4,
+ "setPorts",
+ 8,
+ this->the_TAO_msgAndPort1_Proxy_Broker_
+ );
+
+ _tao_call.invoke (
+ _tao_benchmark_msgAndPort1_setPorts_exceptiondata,
+ 1
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_cs.cpp:78
+
+::CORBA::Boolean benchmark::msgAndPort1::sendMsg (
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ if (!this->is_evaluated ())
+ {
+ ACE_NESTED_CLASS ( ::CORBA, Object)::tao_object_initialize (this);
+ }
+
+ if (this->the_TAO_msgAndPort1_Proxy_Broker_ == 0)
+ {
+ benchmark_msgAndPort1_setup_collocation ();
+ }
+
+ TAO::Arg_Traits< ::ACE_InputCDR::to_boolean>::ret_val _tao_retval;
+ TAO::Arg_Traits< ::benchmark::msg>::in_arg_val _tao_message (message);
+
+ TAO::Argument *_the_tao_operation_signature [] =
+ {
+ &_tao_retval,
+ &_tao_message
+ };
+
+ static TAO::Exception_Data
+ _tao_benchmark_msgAndPort1_sendMsg_exceptiondata [] =
+ {
+ {
+ "IDL:benchmark/invalidRequest:1.0",
+ benchmark::invalidRequest::_alloc
+#if TAO_HAS_INTERCEPTORS == 1
+ , benchmark::_tc_invalidRequest
+#endif /* TAO_HAS_INTERCEPTORS */
+ }
+ };
+
+ TAO::Invocation_Adapter _tao_call (
+ this,
+ _the_tao_operation_signature,
+ 2,
+ "sendMsg",
+ 7,
+ this->the_TAO_msgAndPort1_Proxy_Broker_
+ );
+
+ _tao_call.invoke (
+ _tao_benchmark_msgAndPort1_sendMsg_exceptiondata,
+ 1
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval.excp ());
+
+ return _tao_retval.retn ();
+}
+
+benchmark::msgAndPort1::msgAndPort1 (void)
+ : the_TAO_msgAndPort1_Proxy_Broker_ (0)
+{
+ this->benchmark_msgAndPort1_setup_collocation ();
+}
+
+void
+benchmark::msgAndPort1::benchmark_msgAndPort1_setup_collocation ()
+{
+ if (::benchmark__TAO_msgAndPort1_Proxy_Broker_Factory_function_pointer)
+ {
+ this->the_TAO_msgAndPort1_Proxy_Broker_ =
+ ::benchmark__TAO_msgAndPort1_Proxy_Broker_Factory_function_pointer (this);
+ }
+}
+
+benchmark::msgAndPort1::~msgAndPort1 (void)
+{}
+
+void
+benchmark::msgAndPort1::_tao_any_destructor (void *_tao_void_pointer)
+{
+ msgAndPort1 *_tao_tmp_pointer =
+ static_cast<msgAndPort1 *> (_tao_void_pointer);
+ CORBA::release (_tao_tmp_pointer);
+}
+
+benchmark::msgAndPort1_ptr
+benchmark::msgAndPort1::_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL
+ )
+{
+ return
+ TAO::Narrow_Utils<msgAndPort1>::narrow (
+ _tao_objref,
+ "IDL:benchmark/msgAndPort1:1.0",
+ benchmark__TAO_msgAndPort1_Proxy_Broker_Factory_function_pointer
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+benchmark::msgAndPort1_ptr
+benchmark::msgAndPort1::_unchecked_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL
+ )
+{
+ return
+ TAO::Narrow_Utils<msgAndPort1>::unchecked_narrow (
+ _tao_objref,
+ "IDL:benchmark/msgAndPort1:1.0",
+ benchmark__TAO_msgAndPort1_Proxy_Broker_Factory_function_pointer
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+benchmark::msgAndPort1_ptr
+benchmark::msgAndPort1::_duplicate (msgAndPort1_ptr obj)
+{
+ if (! CORBA::is_nil (obj))
+ {
+ obj->_add_ref ();
+ }
+
+ return obj;
+}
+
+void
+benchmark::msgAndPort1::_tao_release (msgAndPort1_ptr obj)
+{
+ CORBA::release (obj);
+}
+
+::CORBA::Boolean
+benchmark::msgAndPort1::_is_a (
+ const char *value
+ ACE_ENV_ARG_DECL
+ )
+{
+ if (
+ !ACE_OS::strcmp (
+ value,
+ "IDL:benchmark/msgAndPort1:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/Object:1.0"
+ )
+ )
+ {
+ return true; // success using local knowledge
+ }
+ else
+ {
+ return this->ACE_NESTED_CLASS ( ::CORBA, Object)::_is_a (
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+ }
+}
+
+const char* benchmark::msgAndPort1::_interface_repository_id (void) const
+{
+ return "IDL:benchmark/msgAndPort1:1.0";
+}
+
+::CORBA::Boolean
+benchmark::msgAndPort1::marshal (TAO_OutputCDR &cdr)
+{
+ return (cdr << this);
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/objref_typecode.cpp:76
+
+static TAO::TypeCode::Objref<char const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_benchmark_msgAndPort1 (
+ ::CORBA::tk_objref,
+ "IDL:benchmark/msgAndPort1:1.0",
+ "msgAndPort1");
+
+namespace benchmark
+{
+ ::CORBA::TypeCode_ptr const _tc_msgAndPort1 =
+ &_tao_tc_benchmark_msgAndPort1;
+}
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_cs.cpp:60
+
+// Traits specializations for benchmark::msgAndPort2.
+
+benchmark::msgAndPort2_ptr
+TAO::Objref_Traits<benchmark::msgAndPort2>::duplicate (
+ benchmark::msgAndPort2_ptr p
+ )
+{
+ return benchmark::msgAndPort2::_duplicate (p);
+}
+
+void
+TAO::Objref_Traits<benchmark::msgAndPort2>::release (
+ benchmark::msgAndPort2_ptr p
+ )
+{
+ CORBA::release (p);
+}
+
+benchmark::msgAndPort2_ptr
+TAO::Objref_Traits<benchmark::msgAndPort2>::nil (void)
+{
+ return benchmark::msgAndPort2::_nil ();
+}
+
+::CORBA::Boolean
+TAO::Objref_Traits<benchmark::msgAndPort2>::marshal (
+ const benchmark::msgAndPort2_ptr p,
+ TAO_OutputCDR & cdr
+ )
+{
+ return ::CORBA::Object::marshal (p, cdr);
+}
+
+// Function pointer for collocation factory initialization.
+TAO::Collocation_Proxy_Broker *
+(*benchmark__TAO_msgAndPort2_Proxy_Broker_Factory_function_pointer) (
+ ::CORBA::Object_ptr obj
+ ) = 0;
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_cs.cpp:78
+
+void benchmark::msgAndPort2::connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ if (!this->is_evaluated ())
+ {
+ ACE_NESTED_CLASS ( ::CORBA, Object)::tao_object_initialize (this);
+ }
+
+ if (this->the_TAO_msgAndPort2_Proxy_Broker_ == 0)
+ {
+ benchmark_msgAndPort2_setup_collocation ();
+ }
+
+ TAO::Arg_Traits< void>::ret_val _tao_retval;
+
+ TAO::Argument *_the_tao_operation_signature [] =
+ {
+ &_tao_retval
+ };
+
+ static TAO::Exception_Data
+ _tao_benchmark_msgAndPort2_connect_exceptiondata [] =
+ {
+ {
+ "IDL:benchmark/invalidRequest:1.0",
+ benchmark::invalidRequest::_alloc
+#if TAO_HAS_INTERCEPTORS == 1
+ , benchmark::_tc_invalidRequest
+#endif /* TAO_HAS_INTERCEPTORS */
+ }
+ };
+
+ TAO::Invocation_Adapter _tao_call (
+ this,
+ _the_tao_operation_signature,
+ 1,
+ "connect",
+ 7,
+ this->the_TAO_msgAndPort2_Proxy_Broker_
+ );
+
+ _tao_call.invoke (
+ _tao_benchmark_msgAndPort2_connect_exceptiondata,
+ 1
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_cs.cpp:78
+
+void benchmark::msgAndPort2::setPortsSendMsg (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3,
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ if (!this->is_evaluated ())
+ {
+ ACE_NESTED_CLASS ( ::CORBA, Object)::tao_object_initialize (this);
+ }
+
+ if (this->the_TAO_msgAndPort2_Proxy_Broker_ == 0)
+ {
+ benchmark_msgAndPort2_setup_collocation ();
+ }
+
+ TAO::Arg_Traits< void>::ret_val _tao_retval;
+ TAO::Arg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort1 (valPort1);
+ TAO::Arg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort2 (valPort2);
+ TAO::Arg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort3 (valPort3);
+ TAO::Arg_Traits< ::benchmark::msg>::in_arg_val _tao_message (message);
+
+ TAO::Argument *_the_tao_operation_signature [] =
+ {
+ &_tao_retval,
+ &_tao_valPort1,
+ &_tao_valPort2,
+ &_tao_valPort3,
+ &_tao_message
+ };
+
+ static TAO::Exception_Data
+ _tao_benchmark_msgAndPort2_setPortsSendMsg_exceptiondata [] =
+ {
+ {
+ "IDL:benchmark/invalidRequest:1.0",
+ benchmark::invalidRequest::_alloc
+#if TAO_HAS_INTERCEPTORS == 1
+ , benchmark::_tc_invalidRequest
+#endif /* TAO_HAS_INTERCEPTORS */
+ }
+ };
+
+ TAO::Invocation_Adapter _tao_call (
+ this,
+ _the_tao_operation_signature,
+ 5,
+ "setPortsSendMsg",
+ 15,
+ this->the_TAO_msgAndPort2_Proxy_Broker_
+ );
+
+ _tao_call.invoke (
+ _tao_benchmark_msgAndPort2_setPortsSendMsg_exceptiondata,
+ 1
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+}
+
+benchmark::msgAndPort2::msgAndPort2 (void)
+ : the_TAO_msgAndPort2_Proxy_Broker_ (0)
+{
+ this->benchmark_msgAndPort2_setup_collocation ();
+}
+
+void
+benchmark::msgAndPort2::benchmark_msgAndPort2_setup_collocation ()
+{
+ if (::benchmark__TAO_msgAndPort2_Proxy_Broker_Factory_function_pointer)
+ {
+ this->the_TAO_msgAndPort2_Proxy_Broker_ =
+ ::benchmark__TAO_msgAndPort2_Proxy_Broker_Factory_function_pointer (this);
+ }
+}
+
+benchmark::msgAndPort2::~msgAndPort2 (void)
+{}
+
+void
+benchmark::msgAndPort2::_tao_any_destructor (void *_tao_void_pointer)
+{
+ msgAndPort2 *_tao_tmp_pointer =
+ static_cast<msgAndPort2 *> (_tao_void_pointer);
+ CORBA::release (_tao_tmp_pointer);
+}
+
+benchmark::msgAndPort2_ptr
+benchmark::msgAndPort2::_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL
+ )
+{
+ return
+ TAO::Narrow_Utils<msgAndPort2>::narrow (
+ _tao_objref,
+ "IDL:benchmark/msgAndPort2:1.0",
+ benchmark__TAO_msgAndPort2_Proxy_Broker_Factory_function_pointer
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+benchmark::msgAndPort2_ptr
+benchmark::msgAndPort2::_unchecked_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL
+ )
+{
+ return
+ TAO::Narrow_Utils<msgAndPort2>::unchecked_narrow (
+ _tao_objref,
+ "IDL:benchmark/msgAndPort2:1.0",
+ benchmark__TAO_msgAndPort2_Proxy_Broker_Factory_function_pointer
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+benchmark::msgAndPort2_ptr
+benchmark::msgAndPort2::_duplicate (msgAndPort2_ptr obj)
+{
+ if (! CORBA::is_nil (obj))
+ {
+ obj->_add_ref ();
+ }
+
+ return obj;
+}
+
+void
+benchmark::msgAndPort2::_tao_release (msgAndPort2_ptr obj)
+{
+ CORBA::release (obj);
+}
+
+::CORBA::Boolean
+benchmark::msgAndPort2::_is_a (
+ const char *value
+ ACE_ENV_ARG_DECL
+ )
+{
+ if (
+ !ACE_OS::strcmp (
+ value,
+ "IDL:benchmark/msgAndPort2:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/Object:1.0"
+ )
+ )
+ {
+ return true; // success using local knowledge
+ }
+ else
+ {
+ return this->ACE_NESTED_CLASS ( ::CORBA, Object)::_is_a (
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+ }
+}
+
+const char* benchmark::msgAndPort2::_interface_repository_id (void) const
+{
+ return "IDL:benchmark/msgAndPort2:1.0";
+}
+
+::CORBA::Boolean
+benchmark::msgAndPort2::marshal (TAO_OutputCDR &cdr)
+{
+ return (cdr << this);
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/objref_typecode.cpp:76
+
+static TAO::TypeCode::Objref<char const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_benchmark_msgAndPort2 (
+ ::CORBA::tk_objref,
+ "IDL:benchmark/msgAndPort2:1.0",
+ "msgAndPort2");
+
+namespace benchmark
+{
+ ::CORBA::TypeCode_ptr const _tc_msgAndPort2 =
+ &_tao_tc_benchmark_msgAndPort2;
+}
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_cs.cpp:60
+
+// Traits specializations for benchmark::msgOnly.
+
+benchmark::msgOnly_ptr
+TAO::Objref_Traits<benchmark::msgOnly>::duplicate (
+ benchmark::msgOnly_ptr p
+ )
+{
+ return benchmark::msgOnly::_duplicate (p);
+}
+
+void
+TAO::Objref_Traits<benchmark::msgOnly>::release (
+ benchmark::msgOnly_ptr p
+ )
+{
+ CORBA::release (p);
+}
+
+benchmark::msgOnly_ptr
+TAO::Objref_Traits<benchmark::msgOnly>::nil (void)
+{
+ return benchmark::msgOnly::_nil ();
+}
+
+::CORBA::Boolean
+TAO::Objref_Traits<benchmark::msgOnly>::marshal (
+ const benchmark::msgOnly_ptr p,
+ TAO_OutputCDR & cdr
+ )
+{
+ return ::CORBA::Object::marshal (p, cdr);
+}
+
+// Function pointer for collocation factory initialization.
+TAO::Collocation_Proxy_Broker *
+(*benchmark__TAO_msgOnly_Proxy_Broker_Factory_function_pointer) (
+ ::CORBA::Object_ptr obj
+ ) = 0;
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_cs.cpp:78
+
+::CORBA::Boolean benchmark::msgOnly::sendMsg (
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ if (!this->is_evaluated ())
+ {
+ ACE_NESTED_CLASS ( ::CORBA, Object)::tao_object_initialize (this);
+ }
+
+ if (this->the_TAO_msgOnly_Proxy_Broker_ == 0)
+ {
+ benchmark_msgOnly_setup_collocation ();
+ }
+
+ TAO::Arg_Traits< ::ACE_InputCDR::to_boolean>::ret_val _tao_retval;
+ TAO::Arg_Traits< ::benchmark::msg>::in_arg_val _tao_message (message);
+
+ TAO::Argument *_the_tao_operation_signature [] =
+ {
+ &_tao_retval,
+ &_tao_message
+ };
+
+ static TAO::Exception_Data
+ _tao_benchmark_msgOnly_sendMsg_exceptiondata [] =
+ {
+ {
+ "IDL:benchmark/invalidRequest:1.0",
+ benchmark::invalidRequest::_alloc
+#if TAO_HAS_INTERCEPTORS == 1
+ , benchmark::_tc_invalidRequest
+#endif /* TAO_HAS_INTERCEPTORS */
+ }
+ };
+
+ TAO::Invocation_Adapter _tao_call (
+ this,
+ _the_tao_operation_signature,
+ 2,
+ "sendMsg",
+ 7,
+ this->the_TAO_msgOnly_Proxy_Broker_
+ );
+
+ _tao_call.invoke (
+ _tao_benchmark_msgOnly_sendMsg_exceptiondata,
+ 1
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK_RETURN (_tao_retval.excp ());
+
+ return _tao_retval.retn ();
+}
+
+benchmark::msgOnly::msgOnly (void)
+ : the_TAO_msgOnly_Proxy_Broker_ (0)
+{
+ this->benchmark_msgOnly_setup_collocation ();
+}
+
+void
+benchmark::msgOnly::benchmark_msgOnly_setup_collocation ()
+{
+ if (::benchmark__TAO_msgOnly_Proxy_Broker_Factory_function_pointer)
+ {
+ this->the_TAO_msgOnly_Proxy_Broker_ =
+ ::benchmark__TAO_msgOnly_Proxy_Broker_Factory_function_pointer (this);
+ }
+}
+
+benchmark::msgOnly::~msgOnly (void)
+{}
+
+void
+benchmark::msgOnly::_tao_any_destructor (void *_tao_void_pointer)
+{
+ msgOnly *_tao_tmp_pointer =
+ static_cast<msgOnly *> (_tao_void_pointer);
+ CORBA::release (_tao_tmp_pointer);
+}
+
+benchmark::msgOnly_ptr
+benchmark::msgOnly::_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL
+ )
+{
+ return
+ TAO::Narrow_Utils<msgOnly>::narrow (
+ _tao_objref,
+ "IDL:benchmark/msgOnly:1.0",
+ benchmark__TAO_msgOnly_Proxy_Broker_Factory_function_pointer
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+benchmark::msgOnly_ptr
+benchmark::msgOnly::_unchecked_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL
+ )
+{
+ return
+ TAO::Narrow_Utils<msgOnly>::unchecked_narrow (
+ _tao_objref,
+ "IDL:benchmark/msgOnly:1.0",
+ benchmark__TAO_msgOnly_Proxy_Broker_Factory_function_pointer
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+benchmark::msgOnly_ptr
+benchmark::msgOnly::_duplicate (msgOnly_ptr obj)
+{
+ if (! CORBA::is_nil (obj))
+ {
+ obj->_add_ref ();
+ }
+
+ return obj;
+}
+
+void
+benchmark::msgOnly::_tao_release (msgOnly_ptr obj)
+{
+ CORBA::release (obj);
+}
+
+::CORBA::Boolean
+benchmark::msgOnly::_is_a (
+ const char *value
+ ACE_ENV_ARG_DECL
+ )
+{
+ if (
+ !ACE_OS::strcmp (
+ value,
+ "IDL:benchmark/msgOnly:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/Object:1.0"
+ )
+ )
+ {
+ return true; // success using local knowledge
+ }
+ else
+ {
+ return this->ACE_NESTED_CLASS ( ::CORBA, Object)::_is_a (
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+ }
+}
+
+const char* benchmark::msgOnly::_interface_repository_id (void) const
+{
+ return "IDL:benchmark/msgOnly:1.0";
+}
+
+::CORBA::Boolean
+benchmark::msgOnly::marshal (TAO_OutputCDR &cdr)
+{
+ return (cdr << this);
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/objref_typecode.cpp:76
+
+static TAO::TypeCode::Objref<char const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_benchmark_msgOnly (
+ ::CORBA::tk_objref,
+ "IDL:benchmark/msgOnly:1.0",
+ "msgOnly");
+
+namespace benchmark
+{
+ ::CORBA::TypeCode_ptr const _tc_msgOnly =
+ &_tao_tc_benchmark_msgOnly;
+}
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_cs.cpp:60
+
+// Traits specializations for benchmark::setPortsOnly.
+
+benchmark::setPortsOnly_ptr
+TAO::Objref_Traits<benchmark::setPortsOnly>::duplicate (
+ benchmark::setPortsOnly_ptr p
+ )
+{
+ return benchmark::setPortsOnly::_duplicate (p);
+}
+
+void
+TAO::Objref_Traits<benchmark::setPortsOnly>::release (
+ benchmark::setPortsOnly_ptr p
+ )
+{
+ CORBA::release (p);
+}
+
+benchmark::setPortsOnly_ptr
+TAO::Objref_Traits<benchmark::setPortsOnly>::nil (void)
+{
+ return benchmark::setPortsOnly::_nil ();
+}
+
+::CORBA::Boolean
+TAO::Objref_Traits<benchmark::setPortsOnly>::marshal (
+ const benchmark::setPortsOnly_ptr p,
+ TAO_OutputCDR & cdr
+ )
+{
+ return ::CORBA::Object::marshal (p, cdr);
+}
+
+// Function pointer for collocation factory initialization.
+TAO::Collocation_Proxy_Broker *
+(*benchmark__TAO_setPortsOnly_Proxy_Broker_Factory_function_pointer) (
+ ::CORBA::Object_ptr obj
+ ) = 0;
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_cs.cpp:78
+
+void benchmark::setPortsOnly::connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ if (!this->is_evaluated ())
+ {
+ ACE_NESTED_CLASS ( ::CORBA, Object)::tao_object_initialize (this);
+ }
+
+ if (this->the_TAO_setPortsOnly_Proxy_Broker_ == 0)
+ {
+ benchmark_setPortsOnly_setup_collocation ();
+ }
+
+ TAO::Arg_Traits< void>::ret_val _tao_retval;
+
+ TAO::Argument *_the_tao_operation_signature [] =
+ {
+ &_tao_retval
+ };
+
+ static TAO::Exception_Data
+ _tao_benchmark_setPortsOnly_connect_exceptiondata [] =
+ {
+ {
+ "IDL:benchmark/invalidRequest:1.0",
+ benchmark::invalidRequest::_alloc
+#if TAO_HAS_INTERCEPTORS == 1
+ , benchmark::_tc_invalidRequest
+#endif /* TAO_HAS_INTERCEPTORS */
+ }
+ };
+
+ TAO::Invocation_Adapter _tao_call (
+ this,
+ _the_tao_operation_signature,
+ 1,
+ "connect",
+ 7,
+ this->the_TAO_setPortsOnly_Proxy_Broker_
+ );
+
+ _tao_call.invoke (
+ _tao_benchmark_setPortsOnly_connect_exceptiondata,
+ 1
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_cs.cpp:78
+
+void benchmark::setPortsOnly::setPorts (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ if (!this->is_evaluated ())
+ {
+ ACE_NESTED_CLASS ( ::CORBA, Object)::tao_object_initialize (this);
+ }
+
+ if (this->the_TAO_setPortsOnly_Proxy_Broker_ == 0)
+ {
+ benchmark_setPortsOnly_setup_collocation ();
+ }
+
+ TAO::Arg_Traits< void>::ret_val _tao_retval;
+ TAO::Arg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort1 (valPort1);
+ TAO::Arg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort2 (valPort2);
+ TAO::Arg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort3 (valPort3);
+
+ TAO::Argument *_the_tao_operation_signature [] =
+ {
+ &_tao_retval,
+ &_tao_valPort1,
+ &_tao_valPort2,
+ &_tao_valPort3
+ };
+
+ static TAO::Exception_Data
+ _tao_benchmark_setPortsOnly_setPorts_exceptiondata [] =
+ {
+ {
+ "IDL:benchmark/invalidRequest:1.0",
+ benchmark::invalidRequest::_alloc
+#if TAO_HAS_INTERCEPTORS == 1
+ , benchmark::_tc_invalidRequest
+#endif /* TAO_HAS_INTERCEPTORS */
+ }
+ };
+
+ TAO::Invocation_Adapter _tao_call (
+ this,
+ _the_tao_operation_signature,
+ 4,
+ "setPorts",
+ 8,
+ this->the_TAO_setPortsOnly_Proxy_Broker_
+ );
+
+ _tao_call.invoke (
+ _tao_benchmark_setPortsOnly_setPorts_exceptiondata,
+ 1
+ ACE_ENV_ARG_PARAMETER
+ );
+ ACE_CHECK;
+}
+
+benchmark::setPortsOnly::setPortsOnly (void)
+ : the_TAO_setPortsOnly_Proxy_Broker_ (0)
+{
+ this->benchmark_setPortsOnly_setup_collocation ();
+}
+
+void
+benchmark::setPortsOnly::benchmark_setPortsOnly_setup_collocation ()
+{
+ if (::benchmark__TAO_setPortsOnly_Proxy_Broker_Factory_function_pointer)
+ {
+ this->the_TAO_setPortsOnly_Proxy_Broker_ =
+ ::benchmark__TAO_setPortsOnly_Proxy_Broker_Factory_function_pointer (this);
+ }
+}
+
+benchmark::setPortsOnly::~setPortsOnly (void)
+{}
+
+void
+benchmark::setPortsOnly::_tao_any_destructor (void *_tao_void_pointer)
+{
+ setPortsOnly *_tao_tmp_pointer =
+ static_cast<setPortsOnly *> (_tao_void_pointer);
+ CORBA::release (_tao_tmp_pointer);
+}
+
+benchmark::setPortsOnly_ptr
+benchmark::setPortsOnly::_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL
+ )
+{
+ return
+ TAO::Narrow_Utils<setPortsOnly>::narrow (
+ _tao_objref,
+ "IDL:benchmark/setPortsOnly:1.0",
+ benchmark__TAO_setPortsOnly_Proxy_Broker_Factory_function_pointer
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+benchmark::setPortsOnly_ptr
+benchmark::setPortsOnly::_unchecked_narrow (
+ ::CORBA::Object_ptr _tao_objref
+ ACE_ENV_ARG_DECL
+ )
+{
+ return
+ TAO::Narrow_Utils<setPortsOnly>::unchecked_narrow (
+ _tao_objref,
+ "IDL:benchmark/setPortsOnly:1.0",
+ benchmark__TAO_setPortsOnly_Proxy_Broker_Factory_function_pointer
+ ACE_ENV_ARG_PARAMETER
+ );
+}
+
+benchmark::setPortsOnly_ptr
+benchmark::setPortsOnly::_duplicate (setPortsOnly_ptr obj)
+{
+ if (! CORBA::is_nil (obj))
+ {
+ obj->_add_ref ();
+ }
+
+ return obj;
+}
+
+void
+benchmark::setPortsOnly::_tao_release (setPortsOnly_ptr obj)
+{
+ CORBA::release (obj);
+}
+
+::CORBA::Boolean
+benchmark::setPortsOnly::_is_a (
+ const char *value
+ ACE_ENV_ARG_DECL
+ )
+{
+ if (
+ !ACE_OS::strcmp (
+ value,
+ "IDL:benchmark/setPortsOnly:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/Object:1.0"
+ )
+ )
+ {
+ return true; // success using local knowledge
+ }
+ else
+ {
+ return this->ACE_NESTED_CLASS ( ::CORBA, Object)::_is_a (
+ value
+ ACE_ENV_ARG_PARAMETER
+ );
+ }
+}
+
+const char* benchmark::setPortsOnly::_interface_repository_id (void) const
+{
+ return "IDL:benchmark/setPortsOnly:1.0";
+}
+
+::CORBA::Boolean
+benchmark::setPortsOnly::marshal (TAO_OutputCDR &cdr)
+{
+ return (cdr << this);
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_typecode/objref_typecode.cpp:76
+
+static TAO::TypeCode::Objref<char const *,
+ TAO::Null_RefCount_Policy>
+ _tao_tc_benchmark_setPortsOnly (
+ ::CORBA::tk_objref,
+ "IDL:benchmark/setPortsOnly:1.0",
+ "setPortsOnly");
+
+namespace benchmark
+{
+ ::CORBA::TypeCode_ptr const _tc_setPortsOnly =
+ &_tao_tc_benchmark_setPortsOnly;
+}
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_cs.cpp:54
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+// Copying insertion.
+void operator<<= (
+ ::CORBA::Any &_tao_any,
+ const benchmark::msg &_tao_elem
+ )
+{
+ if (0 == &_tao_elem) // Trying to de-reference NULL object
+ _tao_any <<= static_cast<benchmark::msg *>( 0 ); // Use non-copying insertion of a NULL
+ else
+ TAO::Any_Dual_Impl_T<benchmark::msg>::insert_copy (
+ _tao_any,
+ benchmark::msg::_tao_any_destructor,
+ benchmark::_tc_msg,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ ::CORBA::Any &_tao_any,
+ benchmark::msg *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<benchmark::msg>::insert (
+ _tao_any,
+ benchmark::msg::_tao_any_destructor,
+ benchmark::_tc_msg,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+::CORBA::Boolean operator>>= (
+ const ::CORBA::Any &_tao_any,
+ benchmark::msg *&_tao_elem
+ )
+{
+ return _tao_any >>= const_cast<
+ const benchmark::msg *&> (
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+::CORBA::Boolean operator>>= (
+ const ::CORBA::Any &_tao_any,
+ const benchmark::msg *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<benchmark::msg>::extract (
+ _tao_any,
+ benchmark::msg::_tao_any_destructor,
+ benchmark::_tc_msg,
+ _tao_elem
+ );
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_cs.cpp:50
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+namespace TAO
+{
+ template<>
+ ::CORBA::Boolean
+ Any_Dual_Impl_T<benchmark::invalidRequest>::demarshal_value (
+ TAO_InputCDR & cdr
+ )
+ {
+ ::CORBA::String_var id;
+
+ if (!(cdr >> id.out ()))
+ {
+ return false;
+ }
+
+ ACE_TRY_NEW_ENV
+ {
+ this->value_->_tao_decode (cdr ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ return false;
+ }
+ ACE_ENDTRY;
+
+ return true;
+ }
+}
+
+// Copying insertion.
+void operator<<= (
+ ::CORBA::Any &_tao_any,
+ const benchmark::invalidRequest &_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<benchmark::invalidRequest>::insert_copy (
+ _tao_any,
+ benchmark::invalidRequest::_tao_any_destructor,
+ benchmark::_tc_invalidRequest,
+ _tao_elem
+ );
+}
+
+// Non-copying insertion.
+void operator<<= (
+ ::CORBA::Any &_tao_any,
+ benchmark::invalidRequest *_tao_elem
+ )
+{
+ TAO::Any_Dual_Impl_T<benchmark::invalidRequest>::insert (
+ _tao_any,
+ benchmark::invalidRequest::_tao_any_destructor,
+ benchmark::_tc_invalidRequest,
+ _tao_elem
+ );
+}
+
+// Extraction to non-const pointer (deprecated).
+::CORBA::Boolean operator>>= (
+ const ::CORBA::Any &_tao_any,
+ benchmark::invalidRequest *&_tao_elem
+ )
+{
+ return _tao_any >>= const_cast<
+ const benchmark::invalidRequest *&> (
+ _tao_elem
+ );
+}
+
+// Extraction to const pointer.
+::CORBA::Boolean operator>>= (
+ const ::CORBA::Any &_tao_any,
+ const benchmark::invalidRequest *&_tao_elem
+ )
+{
+ return
+ TAO::Any_Dual_Impl_T<benchmark::invalidRequest>::extract (
+ _tao_any,
+ benchmark::invalidRequest::_tao_any_destructor,
+ benchmark::_tc_invalidRequest,
+ _tao_elem
+ );
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:51
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+namespace TAO
+{
+ template<>
+ ::CORBA::Boolean
+ Any_Impl_T<benchmark::msgAndPort1>::to_object (
+ ::CORBA::Object_ptr &_tao_elem
+ ) const
+ {
+ _tao_elem = ::CORBA::Object::_duplicate (this->value_);
+ return true;
+ }
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+#if defined (ACE_ANY_OPS_USE_NAMESPACE)
+
+namespace benchmark
+{
+
+
+ // Copying insertion.
+ void
+ operator<<= (
+ ::CORBA::Any &_tao_any,
+ msgAndPort1_ptr _tao_elem
+ )
+ {
+ msgAndPort1_ptr _tao_objptr =
+ msgAndPort1::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+ }
+
+ // Non-copying insertion.
+ void
+ operator<<= (
+ ::CORBA::Any &_tao_any,
+ msgAndPort1_ptr *_tao_elem
+ )
+ {
+ TAO::Any_Impl_T<msgAndPort1>::insert (
+ _tao_any,
+ msgAndPort1::_tao_any_destructor,
+ _tc_msgAndPort1,
+ *_tao_elem
+ );
+ }
+
+ ::CORBA::Boolean
+ operator>>= (
+ const ::CORBA::Any &_tao_any,
+ msgAndPort1_ptr &_tao_elem
+ )
+ {
+ return
+ TAO::Any_Impl_T<msgAndPort1>::extract (
+ _tao_any,
+ msgAndPort1::_tao_any_destructor,
+ _tc_msgAndPort1,
+ _tao_elem
+ );
+ }
+}
+
+#else
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Copying insertion.
+void
+operator<<= (
+ ::CORBA::Any &_tao_any,
+ benchmark::msgAndPort1_ptr _tao_elem
+ )
+{
+ benchmark::msgAndPort1_ptr _tao_objptr =
+ benchmark::msgAndPort1::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ ::CORBA::Any &_tao_any,
+ benchmark::msgAndPort1_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<benchmark::msgAndPort1>::insert (
+ _tao_any,
+ benchmark::msgAndPort1::_tao_any_destructor,
+ benchmark::_tc_msgAndPort1,
+ *_tao_elem
+ );
+}
+
+::CORBA::Boolean
+operator>>= (
+ const ::CORBA::Any &_tao_any,
+ benchmark::msgAndPort1_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<benchmark::msgAndPort1>::extract (
+ _tao_any,
+ benchmark::msgAndPort1::_tao_any_destructor,
+ benchmark::_tc_msgAndPort1,
+ _tao_elem
+ );
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+#endif
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:51
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+namespace TAO
+{
+ template<>
+ ::CORBA::Boolean
+ Any_Impl_T<benchmark::msgAndPort2>::to_object (
+ ::CORBA::Object_ptr &_tao_elem
+ ) const
+ {
+ _tao_elem = ::CORBA::Object::_duplicate (this->value_);
+ return true;
+ }
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+#if defined (ACE_ANY_OPS_USE_NAMESPACE)
+
+namespace benchmark
+{
+
+
+ // Copying insertion.
+ void
+ operator<<= (
+ ::CORBA::Any &_tao_any,
+ msgAndPort2_ptr _tao_elem
+ )
+ {
+ msgAndPort2_ptr _tao_objptr =
+ msgAndPort2::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+ }
+
+ // Non-copying insertion.
+ void
+ operator<<= (
+ ::CORBA::Any &_tao_any,
+ msgAndPort2_ptr *_tao_elem
+ )
+ {
+ TAO::Any_Impl_T<msgAndPort2>::insert (
+ _tao_any,
+ msgAndPort2::_tao_any_destructor,
+ _tc_msgAndPort2,
+ *_tao_elem
+ );
+ }
+
+ ::CORBA::Boolean
+ operator>>= (
+ const ::CORBA::Any &_tao_any,
+ msgAndPort2_ptr &_tao_elem
+ )
+ {
+ return
+ TAO::Any_Impl_T<msgAndPort2>::extract (
+ _tao_any,
+ msgAndPort2::_tao_any_destructor,
+ _tc_msgAndPort2,
+ _tao_elem
+ );
+ }
+}
+
+#else
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Copying insertion.
+void
+operator<<= (
+ ::CORBA::Any &_tao_any,
+ benchmark::msgAndPort2_ptr _tao_elem
+ )
+{
+ benchmark::msgAndPort2_ptr _tao_objptr =
+ benchmark::msgAndPort2::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ ::CORBA::Any &_tao_any,
+ benchmark::msgAndPort2_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<benchmark::msgAndPort2>::insert (
+ _tao_any,
+ benchmark::msgAndPort2::_tao_any_destructor,
+ benchmark::_tc_msgAndPort2,
+ *_tao_elem
+ );
+}
+
+::CORBA::Boolean
+operator>>= (
+ const ::CORBA::Any &_tao_any,
+ benchmark::msgAndPort2_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<benchmark::msgAndPort2>::extract (
+ _tao_any,
+ benchmark::msgAndPort2::_tao_any_destructor,
+ benchmark::_tc_msgAndPort2,
+ _tao_elem
+ );
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+#endif
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:51
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+namespace TAO
+{
+ template<>
+ ::CORBA::Boolean
+ Any_Impl_T<benchmark::msgOnly>::to_object (
+ ::CORBA::Object_ptr &_tao_elem
+ ) const
+ {
+ _tao_elem = ::CORBA::Object::_duplicate (this->value_);
+ return true;
+ }
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+#if defined (ACE_ANY_OPS_USE_NAMESPACE)
+
+namespace benchmark
+{
+
+
+ // Copying insertion.
+ void
+ operator<<= (
+ ::CORBA::Any &_tao_any,
+ msgOnly_ptr _tao_elem
+ )
+ {
+ msgOnly_ptr _tao_objptr =
+ msgOnly::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+ }
+
+ // Non-copying insertion.
+ void
+ operator<<= (
+ ::CORBA::Any &_tao_any,
+ msgOnly_ptr *_tao_elem
+ )
+ {
+ TAO::Any_Impl_T<msgOnly>::insert (
+ _tao_any,
+ msgOnly::_tao_any_destructor,
+ _tc_msgOnly,
+ *_tao_elem
+ );
+ }
+
+ ::CORBA::Boolean
+ operator>>= (
+ const ::CORBA::Any &_tao_any,
+ msgOnly_ptr &_tao_elem
+ )
+ {
+ return
+ TAO::Any_Impl_T<msgOnly>::extract (
+ _tao_any,
+ msgOnly::_tao_any_destructor,
+ _tc_msgOnly,
+ _tao_elem
+ );
+ }
+}
+
+#else
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Copying insertion.
+void
+operator<<= (
+ ::CORBA::Any &_tao_any,
+ benchmark::msgOnly_ptr _tao_elem
+ )
+{
+ benchmark::msgOnly_ptr _tao_objptr =
+ benchmark::msgOnly::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ ::CORBA::Any &_tao_any,
+ benchmark::msgOnly_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<benchmark::msgOnly>::insert (
+ _tao_any,
+ benchmark::msgOnly::_tao_any_destructor,
+ benchmark::_tc_msgOnly,
+ *_tao_elem
+ );
+}
+
+::CORBA::Boolean
+operator>>= (
+ const ::CORBA::Any &_tao_any,
+ benchmark::msgOnly_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<benchmark::msgOnly>::extract (
+ _tao_any,
+ benchmark::msgOnly::_tao_any_destructor,
+ benchmark::_tc_msgOnly,
+ _tao_elem
+ );
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+#endif
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_cs.cpp:51
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+namespace TAO
+{
+ template<>
+ ::CORBA::Boolean
+ Any_Impl_T<benchmark::setPortsOnly>::to_object (
+ ::CORBA::Object_ptr &_tao_elem
+ ) const
+ {
+ _tao_elem = ::CORBA::Object::_duplicate (this->value_);
+ return true;
+ }
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+#if defined (ACE_ANY_OPS_USE_NAMESPACE)
+
+namespace benchmark
+{
+
+
+ // Copying insertion.
+ void
+ operator<<= (
+ ::CORBA::Any &_tao_any,
+ setPortsOnly_ptr _tao_elem
+ )
+ {
+ setPortsOnly_ptr _tao_objptr =
+ setPortsOnly::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+ }
+
+ // Non-copying insertion.
+ void
+ operator<<= (
+ ::CORBA::Any &_tao_any,
+ setPortsOnly_ptr *_tao_elem
+ )
+ {
+ TAO::Any_Impl_T<setPortsOnly>::insert (
+ _tao_any,
+ setPortsOnly::_tao_any_destructor,
+ _tc_setPortsOnly,
+ *_tao_elem
+ );
+ }
+
+ ::CORBA::Boolean
+ operator>>= (
+ const ::CORBA::Any &_tao_any,
+ setPortsOnly_ptr &_tao_elem
+ )
+ {
+ return
+ TAO::Any_Impl_T<setPortsOnly>::extract (
+ _tao_any,
+ setPortsOnly::_tao_any_destructor,
+ _tc_setPortsOnly,
+ _tao_elem
+ );
+ }
+}
+
+#else
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Copying insertion.
+void
+operator<<= (
+ ::CORBA::Any &_tao_any,
+ benchmark::setPortsOnly_ptr _tao_elem
+ )
+{
+ benchmark::setPortsOnly_ptr _tao_objptr =
+ benchmark::setPortsOnly::_duplicate (_tao_elem);
+ _tao_any <<= &_tao_objptr;
+}
+
+// Non-copying insertion.
+void
+operator<<= (
+ ::CORBA::Any &_tao_any,
+ benchmark::setPortsOnly_ptr *_tao_elem
+ )
+{
+ TAO::Any_Impl_T<benchmark::setPortsOnly>::insert (
+ _tao_any,
+ benchmark::setPortsOnly::_tao_any_destructor,
+ benchmark::_tc_setPortsOnly,
+ *_tao_elem
+ );
+}
+
+::CORBA::Boolean
+operator>>= (
+ const ::CORBA::Any &_tao_any,
+ benchmark::setPortsOnly_ptr &_tao_elem
+ )
+{
+ return
+ TAO::Any_Impl_T<benchmark::setPortsOnly>::extract (
+ _tao_any,
+ benchmark::setPortsOnly::_tao_any_destructor,
+ benchmark::_tc_setPortsOnly,
+ _tao_elem
+ );
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+#endif
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/cdr_op_cs.cpp:61
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+::CORBA::Boolean operator<< (
+ TAO_OutputCDR &strm,
+ const benchmark::msg &_tao_aggregate
+ )
+{
+ return
+ (strm << _tao_aggregate.sender.in ()) &&
+ (strm << _tao_aggregate.message.in ());
+}
+
+::CORBA::Boolean operator>> (
+ TAO_InputCDR &strm,
+ benchmark::msg &_tao_aggregate
+ )
+{
+ return
+ (strm >> _tao_aggregate.sender.out ()) &&
+ (strm >> _tao_aggregate.message.out ());
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/cdr_op_cs.cpp:60
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+::CORBA::Boolean operator<< (
+ TAO_OutputCDR &strm,
+ const benchmark::invalidRequest &_tao_aggregate
+ )
+{
+ // Marshal the repository ID.
+ return (strm << _tao_aggregate._rep_id ());
+}
+
+::CORBA::Boolean operator>> (
+ TAO_InputCDR &,
+ benchmark::invalidRequest&
+ )
+{
+ return true;
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/cdr_op_cs.cpp:63
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+::CORBA::Boolean operator<< (
+ TAO_OutputCDR &strm,
+ const benchmark::msgAndPort1_ptr _tao_objref
+ )
+{
+ ::CORBA::Object_ptr _tao_corba_obj = _tao_objref;
+ return (strm << _tao_corba_obj);
+}
+
+::CORBA::Boolean operator>> (
+ TAO_InputCDR &strm,
+ benchmark::msgAndPort1_ptr &_tao_objref
+ )
+{
+ ::CORBA::Object_var obj;
+
+ if (!(strm >> obj.inout ()))
+ {
+ return false;
+ }
+
+ typedef ::benchmark::msgAndPort1 RHS_SCOPED_NAME;
+
+ // Narrow to the right type.
+ _tao_objref =
+ TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
+ obj.in (),
+ benchmark__TAO_msgAndPort1_Proxy_Broker_Factory_function_pointer
+ );
+
+ return 1;
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/cdr_op_cs.cpp:63
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+::CORBA::Boolean operator<< (
+ TAO_OutputCDR &strm,
+ const benchmark::msgAndPort2_ptr _tao_objref
+ )
+{
+ ::CORBA::Object_ptr _tao_corba_obj = _tao_objref;
+ return (strm << _tao_corba_obj);
+}
+
+::CORBA::Boolean operator>> (
+ TAO_InputCDR &strm,
+ benchmark::msgAndPort2_ptr &_tao_objref
+ )
+{
+ ::CORBA::Object_var obj;
+
+ if (!(strm >> obj.inout ()))
+ {
+ return false;
+ }
+
+ typedef ::benchmark::msgAndPort2 RHS_SCOPED_NAME;
+
+ // Narrow to the right type.
+ _tao_objref =
+ TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
+ obj.in (),
+ benchmark__TAO_msgAndPort2_Proxy_Broker_Factory_function_pointer
+ );
+
+ return 1;
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/cdr_op_cs.cpp:63
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+::CORBA::Boolean operator<< (
+ TAO_OutputCDR &strm,
+ const benchmark::msgOnly_ptr _tao_objref
+ )
+{
+ ::CORBA::Object_ptr _tao_corba_obj = _tao_objref;
+ return (strm << _tao_corba_obj);
+}
+
+::CORBA::Boolean operator>> (
+ TAO_InputCDR &strm,
+ benchmark::msgOnly_ptr &_tao_objref
+ )
+{
+ ::CORBA::Object_var obj;
+
+ if (!(strm >> obj.inout ()))
+ {
+ return false;
+ }
+
+ typedef ::benchmark::msgOnly RHS_SCOPED_NAME;
+
+ // Narrow to the right type.
+ _tao_objref =
+ TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
+ obj.in (),
+ benchmark__TAO_msgOnly_Proxy_Broker_Factory_function_pointer
+ );
+
+ return 1;
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/cdr_op_cs.cpp:63
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+::CORBA::Boolean operator<< (
+ TAO_OutputCDR &strm,
+ const benchmark::setPortsOnly_ptr _tao_objref
+ )
+{
+ ::CORBA::Object_ptr _tao_corba_obj = _tao_objref;
+ return (strm << _tao_corba_obj);
+}
+
+::CORBA::Boolean operator>> (
+ TAO_InputCDR &strm,
+ benchmark::setPortsOnly_ptr &_tao_objref
+ )
+{
+ ::CORBA::Object_var obj;
+
+ if (!(strm >> obj.inout ()))
+ {
+ return false;
+ }
+
+ typedef ::benchmark::setPortsOnly RHS_SCOPED_NAME;
+
+ // Narrow to the right type.
+ _tao_objref =
+ TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
+ obj.in (),
+ benchmark__TAO_setPortsOnly_Proxy_Broker_Factory_function_pointer
+ );
+
+ return 1;
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
diff --git a/quellcode/versuch5/benchC.h b/quellcode/versuch5/benchC.h
new file mode 100755
index 0000000..655e0cb
--- /dev/null
+++ b/quellcode/versuch5/benchC.h
@@ -0,0 +1,1046 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:155
+
+#ifndef _TAO_IDL_BENCHC_H_
+#define _TAO_IDL_BENCHC_H_
+
+
+#include "ace/config-all.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/AnyTypeCode/AnyTypeCode_methods.h"
+#include "tao/ORB.h"
+#include "tao/SystemException.h"
+#include "tao/Environment.h"
+#include "tao/Object.h"
+#include "tao/Managed_Types.h"
+#include "tao/Objref_VarOut_T.h"
+#include "tao/VarOut_T.h"
+#include "tao/Versioned_Namespace.h"
+
+#if defined (TAO_EXPORT_MACRO)
+#undef TAO_EXPORT_MACRO
+#endif
+#define TAO_EXPORT_MACRO
+
+// TAO_IDL - Generated from
+// be/be_visitor_root/root_ch.cpp:62
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+namespace TAO
+{
+ class Collocation_Proxy_Broker;
+ template<typename T> class Narrow_Utils;
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_module/module_ch.cpp:49
+
+namespace benchmark
+{
+
+ // TAO_IDL - Generated from
+ // be/be_type.cpp:258
+
+ struct msg;
+
+ typedef
+ TAO_Var_Var_T<
+ msg
+ >
+ msg_var;
+
+ typedef
+ TAO_Out_T<
+ msg,
+ msg_var
+ >
+ msg_out;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_structure/structure_ch.cpp:57
+
+ struct msg
+ {
+ typedef msg_var _var_type;
+
+ static void _tao_any_destructor (void *);
+ TAO_String_Manager sender;
+ TAO_String_Manager message;
+ };
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_typecode/typecode_decl.cpp:49
+
+ extern ::CORBA::TypeCode_ptr const _tc_msg;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_exception/exception_ch.cpp:53
+
+#if !defined (_BENCHMARK_INVALIDREQUEST_CH_)
+#define _BENCHMARK_INVALIDREQUEST_CH_
+
+ class invalidRequest : public ::CORBA::UserException
+ {
+ public:
+
+ invalidRequest (void);
+ invalidRequest (const invalidRequest &);
+ ~invalidRequest (void);
+
+ invalidRequest &operator= (const invalidRequest &);
+
+ static void _tao_any_destructor (void *);
+
+ static invalidRequest *_downcast ( ::CORBA::Exception *);
+ static const invalidRequest *_downcast ( ::CORBA::Exception const *);
+
+ static ::CORBA::Exception *_alloc (void);
+
+ virtual ::CORBA::Exception *_tao_duplicate (void) const;
+
+ virtual void _raise (void) const;
+
+ virtual void _tao_encode (
+ TAO_OutputCDR &
+ ACE_ENV_ARG_DECL
+ ) const;
+
+ virtual void _tao_decode (
+ TAO_InputCDR &
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual ::CORBA::TypeCode_ptr _tao_type (void) const;
+ };
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_typecode/typecode_decl.cpp:49
+
+ extern ::CORBA::TypeCode_ptr const _tc_invalidRequest;
+
+#endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+ // be/be_interface.cpp:646
+
+#if !defined (_BENCHMARK_MSGANDPORT1__VAR_OUT_CH_)
+#define _BENCHMARK_MSGANDPORT1__VAR_OUT_CH_
+
+ class msgAndPort1;
+ typedef msgAndPort1 *msgAndPort1_ptr;
+
+ typedef
+ TAO_Objref_Var_T<
+ msgAndPort1
+ >
+ msgAndPort1_var;
+
+ typedef
+ TAO_Objref_Out_T<
+ msgAndPort1
+ >
+ msgAndPort1_out;
+
+#endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_ch.cpp:54
+
+#if !defined (_BENCHMARK_MSGANDPORT1_CH_)
+#define _BENCHMARK_MSGANDPORT1_CH_
+
+ class msgAndPort1
+ : public virtual ::CORBA::Object
+ {
+ public:
+ friend class TAO::Narrow_Utils<msgAndPort1>;
+ typedef msgAndPort1_ptr _ptr_type;
+ typedef msgAndPort1_var _var_type;
+
+ // The static operations.
+ static msgAndPort1_ptr _duplicate (msgAndPort1_ptr obj);
+
+ static void _tao_release (msgAndPort1_ptr obj);
+
+ static msgAndPort1_ptr _narrow (
+ ::CORBA::Object_ptr obj
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static msgAndPort1_ptr _unchecked_narrow (
+ ::CORBA::Object_ptr obj
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static msgAndPort1_ptr _nil (void)
+ {
+ return static_cast<msgAndPort1_ptr> (0);
+ }
+
+ static void _tao_any_destructor (void *);
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual void connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual void setPorts (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual ::CORBA::Boolean sendMsg (
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_ch.cpp:210
+
+ virtual ::CORBA::Boolean _is_a (
+ const char *type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+ virtual ::CORBA::Boolean marshal (TAO_OutputCDR &cdr);
+ private:
+ TAO::Collocation_Proxy_Broker *the_TAO_msgAndPort1_Proxy_Broker_;
+
+ protected:
+ // Concrete interface only.
+ msgAndPort1 (void);
+
+ // These methods travese the inheritance tree and set the
+ // parents piece of the given class in the right mode.
+ virtual void benchmark_msgAndPort1_setup_collocation (void);
+
+ // Concrete non-local interface only.
+ msgAndPort1 (
+ IOP::IOR *ior,
+ TAO_ORB_Core *orb_core = 0
+ );
+
+ // Non-local interface only.
+ msgAndPort1 (
+ TAO_Stub *objref,
+ ::CORBA::Boolean _tao_collocated = 0,
+ TAO_Abstract_ServantBase *servant = 0,
+ TAO_ORB_Core *orb_core = 0
+ );
+
+ virtual ~msgAndPort1 (void);
+
+ private:
+ // Private and unimplemented for concrete interfaces.
+ msgAndPort1 (const msgAndPort1 &);
+
+ void operator= (const msgAndPort1 &);
+ };
+
+#endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_typecode/typecode_decl.cpp:49
+
+ extern ::CORBA::TypeCode_ptr const _tc_msgAndPort1;
+
+ // TAO_IDL - Generated from
+ // be/be_interface.cpp:646
+
+#if !defined (_BENCHMARK_MSGANDPORT2__VAR_OUT_CH_)
+#define _BENCHMARK_MSGANDPORT2__VAR_OUT_CH_
+
+ class msgAndPort2;
+ typedef msgAndPort2 *msgAndPort2_ptr;
+
+ typedef
+ TAO_Objref_Var_T<
+ msgAndPort2
+ >
+ msgAndPort2_var;
+
+ typedef
+ TAO_Objref_Out_T<
+ msgAndPort2
+ >
+ msgAndPort2_out;
+
+#endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_ch.cpp:54
+
+#if !defined (_BENCHMARK_MSGANDPORT2_CH_)
+#define _BENCHMARK_MSGANDPORT2_CH_
+
+ class msgAndPort2
+ : public virtual ::CORBA::Object
+ {
+ public:
+ friend class TAO::Narrow_Utils<msgAndPort2>;
+ typedef msgAndPort2_ptr _ptr_type;
+ typedef msgAndPort2_var _var_type;
+
+ // The static operations.
+ static msgAndPort2_ptr _duplicate (msgAndPort2_ptr obj);
+
+ static void _tao_release (msgAndPort2_ptr obj);
+
+ static msgAndPort2_ptr _narrow (
+ ::CORBA::Object_ptr obj
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static msgAndPort2_ptr _unchecked_narrow (
+ ::CORBA::Object_ptr obj
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static msgAndPort2_ptr _nil (void)
+ {
+ return static_cast<msgAndPort2_ptr> (0);
+ }
+
+ static void _tao_any_destructor (void *);
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual void connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual void setPortsSendMsg (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3,
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_ch.cpp:210
+
+ virtual ::CORBA::Boolean _is_a (
+ const char *type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+ virtual ::CORBA::Boolean marshal (TAO_OutputCDR &cdr);
+ private:
+ TAO::Collocation_Proxy_Broker *the_TAO_msgAndPort2_Proxy_Broker_;
+
+ protected:
+ // Concrete interface only.
+ msgAndPort2 (void);
+
+ // These methods travese the inheritance tree and set the
+ // parents piece of the given class in the right mode.
+ virtual void benchmark_msgAndPort2_setup_collocation (void);
+
+ // Concrete non-local interface only.
+ msgAndPort2 (
+ IOP::IOR *ior,
+ TAO_ORB_Core *orb_core = 0
+ );
+
+ // Non-local interface only.
+ msgAndPort2 (
+ TAO_Stub *objref,
+ ::CORBA::Boolean _tao_collocated = 0,
+ TAO_Abstract_ServantBase *servant = 0,
+ TAO_ORB_Core *orb_core = 0
+ );
+
+ virtual ~msgAndPort2 (void);
+
+ private:
+ // Private and unimplemented for concrete interfaces.
+ msgAndPort2 (const msgAndPort2 &);
+
+ void operator= (const msgAndPort2 &);
+ };
+
+#endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_typecode/typecode_decl.cpp:49
+
+ extern ::CORBA::TypeCode_ptr const _tc_msgAndPort2;
+
+ // TAO_IDL - Generated from
+ // be/be_interface.cpp:646
+
+#if !defined (_BENCHMARK_MSGONLY__VAR_OUT_CH_)
+#define _BENCHMARK_MSGONLY__VAR_OUT_CH_
+
+ class msgOnly;
+ typedef msgOnly *msgOnly_ptr;
+
+ typedef
+ TAO_Objref_Var_T<
+ msgOnly
+ >
+ msgOnly_var;
+
+ typedef
+ TAO_Objref_Out_T<
+ msgOnly
+ >
+ msgOnly_out;
+
+#endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_ch.cpp:54
+
+#if !defined (_BENCHMARK_MSGONLY_CH_)
+#define _BENCHMARK_MSGONLY_CH_
+
+ class msgOnly
+ : public virtual ::CORBA::Object
+ {
+ public:
+ friend class TAO::Narrow_Utils<msgOnly>;
+ typedef msgOnly_ptr _ptr_type;
+ typedef msgOnly_var _var_type;
+
+ // The static operations.
+ static msgOnly_ptr _duplicate (msgOnly_ptr obj);
+
+ static void _tao_release (msgOnly_ptr obj);
+
+ static msgOnly_ptr _narrow (
+ ::CORBA::Object_ptr obj
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static msgOnly_ptr _unchecked_narrow (
+ ::CORBA::Object_ptr obj
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static msgOnly_ptr _nil (void)
+ {
+ return static_cast<msgOnly_ptr> (0);
+ }
+
+ static void _tao_any_destructor (void *);
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual ::CORBA::Boolean sendMsg (
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_ch.cpp:210
+
+ virtual ::CORBA::Boolean _is_a (
+ const char *type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+ virtual ::CORBA::Boolean marshal (TAO_OutputCDR &cdr);
+ private:
+ TAO::Collocation_Proxy_Broker *the_TAO_msgOnly_Proxy_Broker_;
+
+ protected:
+ // Concrete interface only.
+ msgOnly (void);
+
+ // These methods travese the inheritance tree and set the
+ // parents piece of the given class in the right mode.
+ virtual void benchmark_msgOnly_setup_collocation (void);
+
+ // Concrete non-local interface only.
+ msgOnly (
+ IOP::IOR *ior,
+ TAO_ORB_Core *orb_core = 0
+ );
+
+ // Non-local interface only.
+ msgOnly (
+ TAO_Stub *objref,
+ ::CORBA::Boolean _tao_collocated = 0,
+ TAO_Abstract_ServantBase *servant = 0,
+ TAO_ORB_Core *orb_core = 0
+ );
+
+ virtual ~msgOnly (void);
+
+ private:
+ // Private and unimplemented for concrete interfaces.
+ msgOnly (const msgOnly &);
+
+ void operator= (const msgOnly &);
+ };
+
+#endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_typecode/typecode_decl.cpp:49
+
+ extern ::CORBA::TypeCode_ptr const _tc_msgOnly;
+
+ // TAO_IDL - Generated from
+ // be/be_interface.cpp:646
+
+#if !defined (_BENCHMARK_SETPORTSONLY__VAR_OUT_CH_)
+#define _BENCHMARK_SETPORTSONLY__VAR_OUT_CH_
+
+ class setPortsOnly;
+ typedef setPortsOnly *setPortsOnly_ptr;
+
+ typedef
+ TAO_Objref_Var_T<
+ setPortsOnly
+ >
+ setPortsOnly_var;
+
+ typedef
+ TAO_Objref_Out_T<
+ setPortsOnly
+ >
+ setPortsOnly_out;
+
+#endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_ch.cpp:54
+
+#if !defined (_BENCHMARK_SETPORTSONLY_CH_)
+#define _BENCHMARK_SETPORTSONLY_CH_
+
+ class setPortsOnly
+ : public virtual ::CORBA::Object
+ {
+ public:
+ friend class TAO::Narrow_Utils<setPortsOnly>;
+ typedef setPortsOnly_ptr _ptr_type;
+ typedef setPortsOnly_var _var_type;
+
+ // The static operations.
+ static setPortsOnly_ptr _duplicate (setPortsOnly_ptr obj);
+
+ static void _tao_release (setPortsOnly_ptr obj);
+
+ static setPortsOnly_ptr _narrow (
+ ::CORBA::Object_ptr obj
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static setPortsOnly_ptr _unchecked_narrow (
+ ::CORBA::Object_ptr obj
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static setPortsOnly_ptr _nil (void)
+ {
+ return static_cast<setPortsOnly_ptr> (0);
+ }
+
+ static void _tao_any_destructor (void *);
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual void connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_ch.cpp:46
+
+ virtual void setPorts (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_ch.cpp:210
+
+ virtual ::CORBA::Boolean _is_a (
+ const char *type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+ virtual ::CORBA::Boolean marshal (TAO_OutputCDR &cdr);
+ private:
+ TAO::Collocation_Proxy_Broker *the_TAO_setPortsOnly_Proxy_Broker_;
+
+ protected:
+ // Concrete interface only.
+ setPortsOnly (void);
+
+ // These methods travese the inheritance tree and set the
+ // parents piece of the given class in the right mode.
+ virtual void benchmark_setPortsOnly_setup_collocation (void);
+
+ // Concrete non-local interface only.
+ setPortsOnly (
+ IOP::IOR *ior,
+ TAO_ORB_Core *orb_core = 0
+ );
+
+ // Non-local interface only.
+ setPortsOnly (
+ TAO_Stub *objref,
+ ::CORBA::Boolean _tao_collocated = 0,
+ TAO_Abstract_ServantBase *servant = 0,
+ TAO_ORB_Core *orb_core = 0
+ );
+
+ virtual ~setPortsOnly (void);
+
+ private:
+ // Private and unimplemented for concrete interfaces.
+ setPortsOnly (const setPortsOnly &);
+
+ void operator= (const setPortsOnly &);
+ };
+
+#endif /* end #if !defined */
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_typecode/typecode_decl.cpp:49
+
+ extern ::CORBA::TypeCode_ptr const _tc_setPortsOnly;
+
+// TAO_IDL - Generated from
+// be/be_visitor_module/module_ch.cpp:78
+
+} // module benchmark
+
+// Proxy Broker Factory function pointer declarations.
+
+// TAO_IDL - Generated from
+// be/be_visitor_root/root.cpp:139
+
+extern
+TAO::Collocation_Proxy_Broker *
+(*benchmark__TAO_msgAndPort1_Proxy_Broker_Factory_function_pointer) (
+ ::CORBA::Object_ptr obj
+ );
+
+extern
+TAO::Collocation_Proxy_Broker *
+(*benchmark__TAO_msgAndPort2_Proxy_Broker_Factory_function_pointer) (
+ ::CORBA::Object_ptr obj
+ );
+
+extern
+TAO::Collocation_Proxy_Broker *
+(*benchmark__TAO_msgOnly_Proxy_Broker_Factory_function_pointer) (
+ ::CORBA::Object_ptr obj
+ );
+
+extern
+TAO::Collocation_Proxy_Broker *
+(*benchmark__TAO_setPortsOnly_Proxy_Broker_Factory_function_pointer) (
+ ::CORBA::Object_ptr obj
+ );
+
+// TAO_IDL - Generated from
+// be/be_visitor_traits.cpp:62
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Traits specializations.
+namespace TAO
+{
+
+#if !defined (_BENCHMARK_MSGANDPORT1__TRAITS_)
+#define _BENCHMARK_MSGANDPORT1__TRAITS_
+
+ template<>
+ struct Objref_Traits< ::benchmark::msgAndPort1>
+ {
+ static ::benchmark::msgAndPort1_ptr duplicate (
+ ::benchmark::msgAndPort1_ptr
+ );
+ static void release (
+ ::benchmark::msgAndPort1_ptr
+ );
+ static ::benchmark::msgAndPort1_ptr nil (void);
+ static ::CORBA::Boolean marshal (
+ const ::benchmark::msgAndPort1_ptr p,
+ TAO_OutputCDR & cdr
+ );
+ };
+
+#endif /* end #if !defined */
+
+#if !defined (_BENCHMARK_MSGANDPORT2__TRAITS_)
+#define _BENCHMARK_MSGANDPORT2__TRAITS_
+
+ template<>
+ struct Objref_Traits< ::benchmark::msgAndPort2>
+ {
+ static ::benchmark::msgAndPort2_ptr duplicate (
+ ::benchmark::msgAndPort2_ptr
+ );
+ static void release (
+ ::benchmark::msgAndPort2_ptr
+ );
+ static ::benchmark::msgAndPort2_ptr nil (void);
+ static ::CORBA::Boolean marshal (
+ const ::benchmark::msgAndPort2_ptr p,
+ TAO_OutputCDR & cdr
+ );
+ };
+
+#endif /* end #if !defined */
+
+#if !defined (_BENCHMARK_MSGONLY__TRAITS_)
+#define _BENCHMARK_MSGONLY__TRAITS_
+
+ template<>
+ struct Objref_Traits< ::benchmark::msgOnly>
+ {
+ static ::benchmark::msgOnly_ptr duplicate (
+ ::benchmark::msgOnly_ptr
+ );
+ static void release (
+ ::benchmark::msgOnly_ptr
+ );
+ static ::benchmark::msgOnly_ptr nil (void);
+ static ::CORBA::Boolean marshal (
+ const ::benchmark::msgOnly_ptr p,
+ TAO_OutputCDR & cdr
+ );
+ };
+
+#endif /* end #if !defined */
+
+#if !defined (_BENCHMARK_SETPORTSONLY__TRAITS_)
+#define _BENCHMARK_SETPORTSONLY__TRAITS_
+
+ template<>
+ struct Objref_Traits< ::benchmark::setPortsOnly>
+ {
+ static ::benchmark::setPortsOnly_ptr duplicate (
+ ::benchmark::setPortsOnly_ptr
+ );
+ static void release (
+ ::benchmark::setPortsOnly_ptr
+ );
+ static ::benchmark::setPortsOnly_ptr nil (void);
+ static ::CORBA::Boolean marshal (
+ const ::benchmark::setPortsOnly_ptr p,
+ TAO_OutputCDR & cdr
+ );
+ };
+
+#endif /* end #if !defined */
+}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/any_op_ch.cpp:53
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ void operator<<= (::CORBA::Any &, const benchmark::msg &); // copying version
+ void operator<<= (::CORBA::Any &, benchmark::msg*); // noncopying version
+ ::CORBA::Boolean operator>>= (const ::CORBA::Any &, benchmark::msg *&); // deprecated
+ ::CORBA::Boolean operator>>= (const ::CORBA::Any &, const benchmark::msg *&);
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/any_op_ch.cpp:53
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+ void operator<<= (::CORBA::Any &, const benchmark::invalidRequest &); // copying version
+ void operator<<= (::CORBA::Any &, benchmark::invalidRequest*); // noncopying version
+ ::CORBA::Boolean operator>>= (const ::CORBA::Any &, benchmark::invalidRequest *&); // deprecated
+ ::CORBA::Boolean operator>>= (const ::CORBA::Any &, const benchmark::invalidRequest *&);
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:54
+
+
+
+#if defined (ACE_ANY_OPS_USE_NAMESPACE)
+
+namespace benchmark
+{
+ void operator<<= ( ::CORBA::Any &, msgAndPort1_ptr); // copying
+ void operator<<= ( ::CORBA::Any &, msgAndPort1_ptr *); // non-copying
+ ::CORBA::Boolean operator>>= (const ::CORBA::Any &, msgAndPort1_ptr &);
+}
+
+#else
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ void operator<<= (::CORBA::Any &, benchmark::msgAndPort1_ptr); // copying
+ void operator<<= (::CORBA::Any &, benchmark::msgAndPort1_ptr *); // non-copying
+ ::CORBA::Boolean operator>>= (const ::CORBA::Any &, benchmark::msgAndPort1_ptr &);
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+#endif
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:54
+
+
+
+#if defined (ACE_ANY_OPS_USE_NAMESPACE)
+
+namespace benchmark
+{
+ void operator<<= ( ::CORBA::Any &, msgAndPort2_ptr); // copying
+ void operator<<= ( ::CORBA::Any &, msgAndPort2_ptr *); // non-copying
+ ::CORBA::Boolean operator>>= (const ::CORBA::Any &, msgAndPort2_ptr &);
+}
+
+#else
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ void operator<<= (::CORBA::Any &, benchmark::msgAndPort2_ptr); // copying
+ void operator<<= (::CORBA::Any &, benchmark::msgAndPort2_ptr *); // non-copying
+ ::CORBA::Boolean operator>>= (const ::CORBA::Any &, benchmark::msgAndPort2_ptr &);
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+#endif
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:54
+
+
+
+#if defined (ACE_ANY_OPS_USE_NAMESPACE)
+
+namespace benchmark
+{
+ void operator<<= ( ::CORBA::Any &, msgOnly_ptr); // copying
+ void operator<<= ( ::CORBA::Any &, msgOnly_ptr *); // non-copying
+ ::CORBA::Boolean operator>>= (const ::CORBA::Any &, msgOnly_ptr &);
+}
+
+#else
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ void operator<<= (::CORBA::Any &, benchmark::msgOnly_ptr); // copying
+ void operator<<= (::CORBA::Any &, benchmark::msgOnly_ptr *); // non-copying
+ ::CORBA::Boolean operator>>= (const ::CORBA::Any &, benchmark::msgOnly_ptr &);
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+#endif
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/any_op_ch.cpp:54
+
+
+
+#if defined (ACE_ANY_OPS_USE_NAMESPACE)
+
+namespace benchmark
+{
+ void operator<<= ( ::CORBA::Any &, setPortsOnly_ptr); // copying
+ void operator<<= ( ::CORBA::Any &, setPortsOnly_ptr *); // non-copying
+ ::CORBA::Boolean operator>>= (const ::CORBA::Any &, setPortsOnly_ptr &);
+}
+
+#else
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ void operator<<= (::CORBA::Any &, benchmark::setPortsOnly_ptr); // copying
+ void operator<<= (::CORBA::Any &, benchmark::setPortsOnly_ptr *); // non-copying
+ ::CORBA::Boolean operator>>= (const ::CORBA::Any &, benchmark::setPortsOnly_ptr &);
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+#endif
+
+// TAO_IDL - Generated from
+// be/be_visitor_structure/cdr_op_ch.cpp:54
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ ::CORBA::Boolean operator<< (TAO_OutputCDR &, const benchmark::msg &);
+ ::CORBA::Boolean operator>> (TAO_InputCDR &, benchmark::msg &);
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_exception/cdr_op_ch.cpp:52
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+ ::CORBA::Boolean operator<< (TAO_OutputCDR &, const benchmark::invalidRequest &);
+ ::CORBA::Boolean operator>> (TAO_InputCDR &, benchmark::invalidRequest &);
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/cdr_op_ch.cpp:55
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ ::CORBA::Boolean operator<< (TAO_OutputCDR &, const benchmark::msgAndPort1_ptr );
+ ::CORBA::Boolean operator>> (TAO_InputCDR &, benchmark::msgAndPort1_ptr &);
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/cdr_op_ch.cpp:55
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ ::CORBA::Boolean operator<< (TAO_OutputCDR &, const benchmark::msgAndPort2_ptr );
+ ::CORBA::Boolean operator>> (TAO_InputCDR &, benchmark::msgAndPort2_ptr &);
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/cdr_op_ch.cpp:55
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ ::CORBA::Boolean operator<< (TAO_OutputCDR &, const benchmark::msgOnly_ptr );
+ ::CORBA::Boolean operator>> (TAO_InputCDR &, benchmark::msgOnly_ptr &);
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/cdr_op_ch.cpp:55
+
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ ::CORBA::Boolean operator<< (TAO_OutputCDR &, const benchmark::setPortsOnly_ptr );
+ ::CORBA::Boolean operator>> (TAO_InputCDR &, benchmark::setPortsOnly_ptr &);
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:1093
+#if defined (__ACE_INLINE__)
+#include "benchC.inl"
+#endif /* defined INLINE */
+
+#endif /* ifndef */
+
+
diff --git a/quellcode/versuch5/benchC.inl b/quellcode/versuch5/benchC.inl
new file mode 100755
index 0000000..a389f4a
--- /dev/null
+++ b/quellcode/versuch5/benchC.inl
@@ -0,0 +1,172 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ci.cpp:70
+
+#if !defined (_BENCHMARK_MSGANDPORT1___CI_)
+#define _BENCHMARK_MSGANDPORT1___CI_
+
+ACE_INLINE
+benchmark::msgAndPort1::msgAndPort1 (
+ TAO_Stub *objref,
+ ::CORBA::Boolean _tao_collocated,
+ TAO_Abstract_ServantBase *servant,
+ TAO_ORB_Core *oc
+ )
+ : ACE_NESTED_CLASS (CORBA, Object) (
+ objref,
+ _tao_collocated,
+ servant,
+ oc
+ ),
+ the_TAO_msgAndPort1_Proxy_Broker_ (0)
+{
+ this->benchmark_msgAndPort1_setup_collocation ();
+}
+
+ACE_INLINE
+benchmark::msgAndPort1::msgAndPort1 (
+ IOP::IOR *ior,
+ TAO_ORB_Core *oc
+ )
+ : ACE_NESTED_CLASS ( ::CORBA, Object) (ior, oc),
+ the_TAO_msgAndPort1_Proxy_Broker_ (0)
+{
+}
+
+#endif /* end #if !defined */
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ci.cpp:70
+
+#if !defined (_BENCHMARK_MSGANDPORT2___CI_)
+#define _BENCHMARK_MSGANDPORT2___CI_
+
+ACE_INLINE
+benchmark::msgAndPort2::msgAndPort2 (
+ TAO_Stub *objref,
+ ::CORBA::Boolean _tao_collocated,
+ TAO_Abstract_ServantBase *servant,
+ TAO_ORB_Core *oc
+ )
+ : ACE_NESTED_CLASS (CORBA, Object) (
+ objref,
+ _tao_collocated,
+ servant,
+ oc
+ ),
+ the_TAO_msgAndPort2_Proxy_Broker_ (0)
+{
+ this->benchmark_msgAndPort2_setup_collocation ();
+}
+
+ACE_INLINE
+benchmark::msgAndPort2::msgAndPort2 (
+ IOP::IOR *ior,
+ TAO_ORB_Core *oc
+ )
+ : ACE_NESTED_CLASS ( ::CORBA, Object) (ior, oc),
+ the_TAO_msgAndPort2_Proxy_Broker_ (0)
+{
+}
+
+#endif /* end #if !defined */
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ci.cpp:70
+
+#if !defined (_BENCHMARK_MSGONLY___CI_)
+#define _BENCHMARK_MSGONLY___CI_
+
+ACE_INLINE
+benchmark::msgOnly::msgOnly (
+ TAO_Stub *objref,
+ ::CORBA::Boolean _tao_collocated,
+ TAO_Abstract_ServantBase *servant,
+ TAO_ORB_Core *oc
+ )
+ : ACE_NESTED_CLASS (CORBA, Object) (
+ objref,
+ _tao_collocated,
+ servant,
+ oc
+ ),
+ the_TAO_msgOnly_Proxy_Broker_ (0)
+{
+ this->benchmark_msgOnly_setup_collocation ();
+}
+
+ACE_INLINE
+benchmark::msgOnly::msgOnly (
+ IOP::IOR *ior,
+ TAO_ORB_Core *oc
+ )
+ : ACE_NESTED_CLASS ( ::CORBA, Object) (ior, oc),
+ the_TAO_msgOnly_Proxy_Broker_ (0)
+{
+}
+
+#endif /* end #if !defined */
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ci.cpp:70
+
+#if !defined (_BENCHMARK_SETPORTSONLY___CI_)
+#define _BENCHMARK_SETPORTSONLY___CI_
+
+ACE_INLINE
+benchmark::setPortsOnly::setPortsOnly (
+ TAO_Stub *objref,
+ ::CORBA::Boolean _tao_collocated,
+ TAO_Abstract_ServantBase *servant,
+ TAO_ORB_Core *oc
+ )
+ : ACE_NESTED_CLASS (CORBA, Object) (
+ objref,
+ _tao_collocated,
+ servant,
+ oc
+ ),
+ the_TAO_setPortsOnly_Proxy_Broker_ (0)
+{
+ this->benchmark_setPortsOnly_setup_collocation ();
+}
+
+ACE_INLINE
+benchmark::setPortsOnly::setPortsOnly (
+ IOP::IOR *ior,
+ TAO_ORB_Core *oc
+ )
+ : ACE_NESTED_CLASS ( ::CORBA, Object) (ior, oc),
+ the_TAO_setPortsOnly_Proxy_Broker_ (0)
+{
+}
+
+#endif /* end #if !defined */
+
diff --git a/quellcode/versuch5/benchS.cpp b/quellcode/versuch5/benchS.cpp
new file mode 100755
index 0000000..2028988
--- /dev/null
+++ b/quellcode/versuch5/benchS.cpp
@@ -0,0 +1,3366 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:577
+
+#ifndef _TAO_IDL_BENCHS_CPP_
+#define _TAO_IDL_BENCHS_CPP_
+
+
+#include "benchS.h"
+#include "tao/PortableServer/Operation_Table_Perfect_Hash.h"
+#include "tao/PortableServer/Upcall_Command.h"
+#include "tao/PortableServer/Upcall_Wrapper.h"
+#include "tao/PortableServer/Basic_SArguments.h"
+#include "tao/PortableServer/Object_SArgument_T.h"
+#include "tao/PortableServer/Special_Basic_SArguments.h"
+#include "tao/PortableServer/UB_String_SArguments.h"
+#include "tao/PortableServer/Var_Size_SArgument_T.h"
+#include "tao/PortableServer/TypeCode_SArg_Traits.h"
+#include "tao/PortableServer/Object_SArg_Traits.h"
+#include "tao/PortableServer/get_arg.h"
+#include "tao/Special_Basic_Arguments.h"
+#include "tao/UB_String_Arguments.h"
+#include "tao/TAO_Server_Request.h"
+#include "tao/ORB_Core.h"
+#include "tao/Profile.h"
+#include "tao/Stub.h"
+#include "tao/IFR_Client_Adapter.h"
+#include "tao/Object_T.h"
+#include "tao/AnyTypeCode/TypeCode.h"
+#include "tao/AnyTypeCode/DynamicC.h"
+#include "tao/CDR.h"
+#include "tao/operation_details.h"
+#include "tao/PortableInterceptor.h"
+#include "tao/Basic_Arguments.h"
+#include "tao/Special_Basic_Arguments.h"
+#include "tao/Var_Size_Argument_T.h"
+#include "ace/Dynamic_Service.h"
+#include "ace/Malloc_Allocator.h"
+
+#if !defined (__ACE_INLINE__)
+#include "benchS.inl"
+#endif /* !defined INLINE */
+
+// TAO_IDL - Generated from
+// be/be_visitor_arg_traits.cpp:71
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Arg traits specializations.
+namespace TAO
+{
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_arg_traits.cpp:893
+
+#if !defined (_BENCHMARK_MSG__SARG_TRAITS_)
+#define _BENCHMARK_MSG__SARG_TRAITS_
+
+ template<>
+ class SArg_Traits<benchmark::msg>
+ : public
+ Var_Size_SArg_Traits_T<
+ benchmark::msg,
+ benchmark::msg_var,
+ benchmark::msg_out,
+ TAO::Any_Insert_Policy_Stream <benchmark::msg>
+ >
+ {
+ };
+
+#endif /* end #if !defined */
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_arg_traits.cpp:71
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+
+
+// Arg traits specializations.
+namespace TAO
+{
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_arg_traits.cpp:893
+
+#if !defined (_BENCHMARK_MSG__ARG_TRAITS_)
+#define _BENCHMARK_MSG__ARG_TRAITS_
+
+ template<>
+ class Arg_Traits<benchmark::msg>
+ : public
+ Var_Size_Arg_Traits_T<
+ benchmark::msg,
+ benchmark::msg_var,
+ benchmark::msg_out,
+ TAO::Any_Insert_Policy_Stream <benchmark::msg>
+ >
+ {
+ };
+
+#endif /* end #if !defined */
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL
+
+
+
+// TAO_IDL - Generated from
+// be/be_interface.cpp:1511
+
+class TAO_benchmark_msgAndPort1_Perfect_Hash_OpTable
+ : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: /home/trautma/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_benchmark_msgAndPort1_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_benchmark_msgAndPort1_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 0,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 0,
+ 16, 5, 0, 5, 16, 0, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 0, 0, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16,
+#else
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 0, 16, 0, 16, 5,
+ 0, 5, 16, 0, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 0, 0, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
+}
+
+const TAO_operation_db_entry *
+TAO_benchmark_msgAndPort1_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 8,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 14,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 15,
+ HASH_VALUE_RANGE = 11,
+ DUPLICATES = 0,
+ WORDLIST_SIZE = 13
+ };
+
+ static const TAO_operation_db_entry wordlist[] =
+ {
+ {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},
+ {"_is_a", &POA_benchmark::msgAndPort1::_is_a_skel, 0},
+ {"",0,0},
+ {"sendMsg", &POA_benchmark::msgAndPort1::sendMsg_skel, 0},
+ {"setPorts", &POA_benchmark::msgAndPort1::setPorts_skel, 0},
+ {"",0,0},
+ {"_component", &POA_benchmark::msgAndPort1::_component_skel, 0},
+ {"",0,0},
+ {"connect", &POA_benchmark::msgAndPort1::connect_skel, 0},
+ {"_non_existent", &POA_benchmark::msgAndPort1::_non_existent_skel, 0},
+ {"_repository_id", &POA_benchmark::msgAndPort1::_repository_id_skel, 0},
+ {"_interface", &POA_benchmark::msgAndPort1::_interface_skel, 0},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ const char *s = wordlist[key].opname;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[key];
+ }
+ }
+ return 0;
+}
+
+static TAO_benchmark_msgAndPort1_Perfect_Hash_OpTable tao_benchmark_msgAndPort1_optable;
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:930
+
+TAO::Collocation_Proxy_Broker *
+benchmark__TAO_msgAndPort1_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr)
+{
+ return reinterpret_cast<TAO::Collocation_Proxy_Broker *> (0xdead); // Dummy
+}
+
+int
+benchmark__TAO_msgAndPort1_Proxy_Broker_Factory_Initializer (size_t)
+{
+ benchmark__TAO_msgAndPort1_Proxy_Broker_Factory_function_pointer =
+ benchmark__TAO_msgAndPort1_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int
+benchmark__TAO_msgAndPort1_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ benchmark__TAO_msgAndPort1_Proxy_Broker_Factory_Initializer (
+ reinterpret_cast<size_t> (benchmark__TAO_msgAndPort1_Proxy_Broker_Factory_Initializer)
+ );
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:103
+
+POA_benchmark::msgAndPort1::msgAndPort1 (void)
+ : TAO_ServantBase ()
+{
+ this->optable_ = &tao_benchmark_msgAndPort1_optable;
+}
+
+POA_benchmark::msgAndPort1::msgAndPort1 (const msgAndPort1& rhs)
+ : TAO_Abstract_ServantBase (rhs),
+ TAO_ServantBase (rhs)
+{
+}
+
+POA_benchmark::msgAndPort1::~msgAndPort1 (void)
+{
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class connect_msgAndPort1
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline connect_msgAndPort1 (
+ POA_benchmark::msgAndPort1 * servant)
+ : servant_ (servant)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ this->servant_->connect (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgAndPort1 * const servant_;
+ };
+}
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_ss.cpp:190
+
+void POA_benchmark::msgAndPort1::connect_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const exceptions[] =
+ {
+ benchmark::_tc_invalidRequest
+ };
+ static ::CORBA::ULong const nexceptions = 1;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< void>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_benchmark::msgAndPort1 * const impl =
+ static_cast<POA_benchmark::msgAndPort1 *> (servant);
+
+ connect_msgAndPort1 command (
+ impl);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class setPorts_msgAndPort1
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline setPorts_msgAndPort1 (
+ POA_benchmark::msgAndPort1 * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_type arg_1 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Short, TAO::SArg_Traits< ::CORBA::Short>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 1);
+
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_type arg_2 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Short, TAO::SArg_Traits< ::CORBA::Short>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 2);
+
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_type arg_3 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Short, TAO::SArg_Traits< ::CORBA::Short>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 3);
+
+ this->servant_->setPorts (
+ arg_1
+ , arg_2
+ , arg_3
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgAndPort1 * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_ss.cpp:190
+
+void POA_benchmark::msgAndPort1::setPorts_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const exceptions[] =
+ {
+ benchmark::_tc_invalidRequest
+ };
+ static ::CORBA::ULong const nexceptions = 1;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< void>::ret_val retval;
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort1;
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort2;
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort3;
+
+ TAO::Argument * const args[] =
+ {
+ &retval,
+ &_tao_valPort1,
+ &_tao_valPort2,
+ &_tao_valPort3
+ };
+
+ static size_t const nargs = 4;
+
+ POA_benchmark::msgAndPort1 * const impl =
+ static_cast<POA_benchmark::msgAndPort1 *> (servant);
+
+ setPorts_msgAndPort1 command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class sendMsg_msgAndPort1
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline sendMsg_msgAndPort1 (
+ POA_benchmark::msgAndPort1 * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ TAO::SArg_Traits< ::benchmark::msg>::in_arg_type arg_1 =
+ TAO::Portable_Server::get_in_arg< ::benchmark::msg, TAO::SArg_Traits< ::benchmark::msg>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 1);
+
+ retval =
+ this->servant_->sendMsg (
+ arg_1
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgAndPort1 * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_ss.cpp:190
+
+void POA_benchmark::msgAndPort1::sendMsg_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const exceptions[] =
+ {
+ benchmark::_tc_invalidRequest
+ };
+ static ::CORBA::ULong const nexceptions = 1;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
+ TAO::SArg_Traits< ::benchmark::msg>::in_arg_val _tao_message;
+
+ TAO::Argument * const args[] =
+ {
+ &retval,
+ &_tao_message
+ };
+
+ static size_t const nargs = 2;
+
+ POA_benchmark::msgAndPort1 * const impl =
+ static_cast<POA_benchmark::msgAndPort1 *> (servant);
+
+ sendMsg_msgAndPort1 command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:169
+
+namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _is_a_msgAndPort1_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _is_a_msgAndPort1_Upcall_Command (
+ POA_benchmark::msgAndPort1 * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Char *, TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 1);
+
+ retval =
+ this->servant_-> _is_a (
+ arg_1
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgAndPort1 * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_benchmark::msgAndPort1::_is_a_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
+ TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id;
+
+ TAO::Argument * const args[] =
+ {
+ &retval,
+ &_tao_repository_id
+ };
+
+ static size_t const nargs = 2;
+
+ POA_benchmark::msgAndPort1 * const impl =
+ static_cast<POA_benchmark::msgAndPort1 *> (servant);
+
+ _is_a_msgAndPort1_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _non_existent_msgAndPort1_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _non_existent_msgAndPort1_Upcall_Command (
+ POA_benchmark::msgAndPort1 * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ retval =
+ this->servant_-> _non_existent (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgAndPort1 * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_benchmark::msgAndPort1::_non_existent_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_benchmark::msgAndPort1 * const impl =
+ static_cast<POA_benchmark::msgAndPort1 *> (servant);
+
+ _non_existent_msgAndPort1_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _repository_id_msgAndPort1_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _repository_id_msgAndPort1_Upcall_Command (
+ POA_benchmark::msgAndPort1 * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::CORBA::Char *, TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ retval =
+ this->servant_-> _repository_id (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgAndPort1 * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_benchmark::msgAndPort1::_repository_id_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_benchmark::msgAndPort1 * const impl =
+ static_cast<POA_benchmark::msgAndPort1 *> (servant);
+
+ _repository_id_msgAndPort1_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:502
+
+void POA_benchmark::msgAndPort1::_interface_skel (
+ TAO_ServerRequest & server_request,
+ void * /* servant_upcall */,
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1,
+ ::CORBA::COMPLETED_NO));
+ }
+
+ POA_benchmark::msgAndPort1 * const impl =
+ static_cast<POA_benchmark::msgAndPort1 *> (servant);
+ ::CORBA::InterfaceDef_ptr _tao_retval =
+ impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = *server_request.outgoing ();
+
+ ::CORBA::Boolean const _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+
+ _tao_adapter->dispose (_tao_retval);
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW ( ::CORBA::MARSHAL ());
+ }
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _get_component_msgAndPort1_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _get_component_msgAndPort1_Upcall_Command (
+ POA_benchmark::msgAndPort1 * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::CORBA::Object, TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ retval =
+ this->servant_-> _get_component (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgAndPort1 * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_benchmark::msgAndPort1::_component_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::CORBA::Object>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_benchmark::msgAndPort1 * const impl =
+ static_cast<POA_benchmark::msgAndPort1 *> (servant);
+
+ _get_component_msgAndPort1_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+::CORBA::Boolean POA_benchmark::msgAndPort1::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ return
+ (
+ !ACE_OS::strcmp (
+ value,
+ "IDL:benchmark/msgAndPort1:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/Object:1.0"
+ )
+ );
+}
+
+const char* POA_benchmark::msgAndPort1::_interface_repository_id (void) const
+{
+ return "IDL:benchmark/msgAndPort1:1.0";
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:867
+
+void POA_benchmark::msgAndPort1::_dispatch (
+ TAO_ServerRequest & req,
+ void * servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:815
+
+benchmark::msgAndPort1 *
+POA_benchmark::msgAndPort1::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+ ::CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ ::CORBA::Boolean _tao_opt_colloc =
+ stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ();
+
+ ACE_NEW_RETURN (
+ tmp,
+ ::CORBA::Object (stub, _tao_opt_colloc, this),
+ 0
+ );
+
+ ::CORBA::Object_var obj = tmp;
+ (void) safe_stub.release ();
+
+ typedef ::benchmark::msgAndPort1 STUB_SCOPED_NAME;
+ return
+ TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
+ obj.in (),
+ benchmark__TAO_msgAndPort1_Proxy_Broker_Factory_function_pointer
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_interface.cpp:1511
+
+class TAO_benchmark_msgAndPort2_Perfect_Hash_OpTable
+ : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: /home/trautma/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_benchmark_msgAndPort2_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_benchmark_msgAndPort2_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 0,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 0,
+ 16, 0, 0, 2, 16, 0, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 0, 0, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16,
+#else
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 0, 16, 0, 16, 0,
+ 0, 2, 16, 0, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 0, 0, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
+}
+
+const TAO_operation_db_entry *
+TAO_benchmark_msgAndPort2_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 7,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 15,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 15,
+ HASH_VALUE_RANGE = 11,
+ DUPLICATES = 0,
+ WORDLIST_SIZE = 12
+ };
+
+ static const TAO_operation_db_entry wordlist[] =
+ {
+ {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},
+ {"_is_a", &POA_benchmark::msgAndPort2::_is_a_skel, 0},
+ {"",0,0},
+ {"connect", &POA_benchmark::msgAndPort2::connect_skel, 0},
+ {"",0,0},{"",0,0},
+ {"_component", &POA_benchmark::msgAndPort2::_component_skel, 0},
+ {"",0,0},
+ {"_interface", &POA_benchmark::msgAndPort2::_interface_skel, 0},
+ {"_non_existent", &POA_benchmark::msgAndPort2::_non_existent_skel, 0},
+ {"_repository_id", &POA_benchmark::msgAndPort2::_repository_id_skel, 0},
+ {"setPortsSendMsg", &POA_benchmark::msgAndPort2::setPortsSendMsg_skel, 0},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ const char *s = wordlist[key].opname;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[key];
+ }
+ }
+ return 0;
+}
+
+static TAO_benchmark_msgAndPort2_Perfect_Hash_OpTable tao_benchmark_msgAndPort2_optable;
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:930
+
+TAO::Collocation_Proxy_Broker *
+benchmark__TAO_msgAndPort2_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr)
+{
+ return reinterpret_cast<TAO::Collocation_Proxy_Broker *> (0xdead); // Dummy
+}
+
+int
+benchmark__TAO_msgAndPort2_Proxy_Broker_Factory_Initializer (size_t)
+{
+ benchmark__TAO_msgAndPort2_Proxy_Broker_Factory_function_pointer =
+ benchmark__TAO_msgAndPort2_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int
+benchmark__TAO_msgAndPort2_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ benchmark__TAO_msgAndPort2_Proxy_Broker_Factory_Initializer (
+ reinterpret_cast<size_t> (benchmark__TAO_msgAndPort2_Proxy_Broker_Factory_Initializer)
+ );
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:103
+
+POA_benchmark::msgAndPort2::msgAndPort2 (void)
+ : TAO_ServantBase ()
+{
+ this->optable_ = &tao_benchmark_msgAndPort2_optable;
+}
+
+POA_benchmark::msgAndPort2::msgAndPort2 (const msgAndPort2& rhs)
+ : TAO_Abstract_ServantBase (rhs),
+ TAO_ServantBase (rhs)
+{
+}
+
+POA_benchmark::msgAndPort2::~msgAndPort2 (void)
+{
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class connect_msgAndPort2
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline connect_msgAndPort2 (
+ POA_benchmark::msgAndPort2 * servant)
+ : servant_ (servant)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ this->servant_->connect (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgAndPort2 * const servant_;
+ };
+}
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_ss.cpp:190
+
+void POA_benchmark::msgAndPort2::connect_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const exceptions[] =
+ {
+ benchmark::_tc_invalidRequest
+ };
+ static ::CORBA::ULong const nexceptions = 1;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< void>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_benchmark::msgAndPort2 * const impl =
+ static_cast<POA_benchmark::msgAndPort2 *> (servant);
+
+ connect_msgAndPort2 command (
+ impl);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class setPortsSendMsg_msgAndPort2
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline setPortsSendMsg_msgAndPort2 (
+ POA_benchmark::msgAndPort2 * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_type arg_1 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Short, TAO::SArg_Traits< ::CORBA::Short>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 1);
+
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_type arg_2 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Short, TAO::SArg_Traits< ::CORBA::Short>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 2);
+
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_type arg_3 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Short, TAO::SArg_Traits< ::CORBA::Short>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 3);
+
+ TAO::SArg_Traits< ::benchmark::msg>::in_arg_type arg_4 =
+ TAO::Portable_Server::get_in_arg< ::benchmark::msg, TAO::SArg_Traits< ::benchmark::msg>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 4);
+
+ this->servant_->setPortsSendMsg (
+ arg_1
+ , arg_2
+ , arg_3
+ , arg_4
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgAndPort2 * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_ss.cpp:190
+
+void POA_benchmark::msgAndPort2::setPortsSendMsg_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const exceptions[] =
+ {
+ benchmark::_tc_invalidRequest
+ };
+ static ::CORBA::ULong const nexceptions = 1;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< void>::ret_val retval;
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort1;
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort2;
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort3;
+ TAO::SArg_Traits< ::benchmark::msg>::in_arg_val _tao_message;
+
+ TAO::Argument * const args[] =
+ {
+ &retval,
+ &_tao_valPort1,
+ &_tao_valPort2,
+ &_tao_valPort3,
+ &_tao_message
+ };
+
+ static size_t const nargs = 5;
+
+ POA_benchmark::msgAndPort2 * const impl =
+ static_cast<POA_benchmark::msgAndPort2 *> (servant);
+
+ setPortsSendMsg_msgAndPort2 command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:169
+
+namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _is_a_msgAndPort2_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _is_a_msgAndPort2_Upcall_Command (
+ POA_benchmark::msgAndPort2 * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Char *, TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 1);
+
+ retval =
+ this->servant_-> _is_a (
+ arg_1
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgAndPort2 * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_benchmark::msgAndPort2::_is_a_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
+ TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id;
+
+ TAO::Argument * const args[] =
+ {
+ &retval,
+ &_tao_repository_id
+ };
+
+ static size_t const nargs = 2;
+
+ POA_benchmark::msgAndPort2 * const impl =
+ static_cast<POA_benchmark::msgAndPort2 *> (servant);
+
+ _is_a_msgAndPort2_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _non_existent_msgAndPort2_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _non_existent_msgAndPort2_Upcall_Command (
+ POA_benchmark::msgAndPort2 * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ retval =
+ this->servant_-> _non_existent (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgAndPort2 * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_benchmark::msgAndPort2::_non_existent_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_benchmark::msgAndPort2 * const impl =
+ static_cast<POA_benchmark::msgAndPort2 *> (servant);
+
+ _non_existent_msgAndPort2_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _repository_id_msgAndPort2_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _repository_id_msgAndPort2_Upcall_Command (
+ POA_benchmark::msgAndPort2 * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::CORBA::Char *, TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ retval =
+ this->servant_-> _repository_id (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgAndPort2 * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_benchmark::msgAndPort2::_repository_id_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_benchmark::msgAndPort2 * const impl =
+ static_cast<POA_benchmark::msgAndPort2 *> (servant);
+
+ _repository_id_msgAndPort2_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:502
+
+void POA_benchmark::msgAndPort2::_interface_skel (
+ TAO_ServerRequest & server_request,
+ void * /* servant_upcall */,
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1,
+ ::CORBA::COMPLETED_NO));
+ }
+
+ POA_benchmark::msgAndPort2 * const impl =
+ static_cast<POA_benchmark::msgAndPort2 *> (servant);
+ ::CORBA::InterfaceDef_ptr _tao_retval =
+ impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = *server_request.outgoing ();
+
+ ::CORBA::Boolean const _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+
+ _tao_adapter->dispose (_tao_retval);
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW ( ::CORBA::MARSHAL ());
+ }
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _get_component_msgAndPort2_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _get_component_msgAndPort2_Upcall_Command (
+ POA_benchmark::msgAndPort2 * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::CORBA::Object, TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ retval =
+ this->servant_-> _get_component (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgAndPort2 * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_benchmark::msgAndPort2::_component_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::CORBA::Object>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_benchmark::msgAndPort2 * const impl =
+ static_cast<POA_benchmark::msgAndPort2 *> (servant);
+
+ _get_component_msgAndPort2_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+::CORBA::Boolean POA_benchmark::msgAndPort2::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ return
+ (
+ !ACE_OS::strcmp (
+ value,
+ "IDL:benchmark/msgAndPort2:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/Object:1.0"
+ )
+ );
+}
+
+const char* POA_benchmark::msgAndPort2::_interface_repository_id (void) const
+{
+ return "IDL:benchmark/msgAndPort2:1.0";
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:867
+
+void POA_benchmark::msgAndPort2::_dispatch (
+ TAO_ServerRequest & req,
+ void * servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:815
+
+benchmark::msgAndPort2 *
+POA_benchmark::msgAndPort2::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+ ::CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ ::CORBA::Boolean _tao_opt_colloc =
+ stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ();
+
+ ACE_NEW_RETURN (
+ tmp,
+ ::CORBA::Object (stub, _tao_opt_colloc, this),
+ 0
+ );
+
+ ::CORBA::Object_var obj = tmp;
+ (void) safe_stub.release ();
+
+ typedef ::benchmark::msgAndPort2 STUB_SCOPED_NAME;
+ return
+ TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
+ obj.in (),
+ benchmark__TAO_msgAndPort2_Proxy_Broker_Factory_function_pointer
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_interface.cpp:1511
+
+class TAO_benchmark_msgOnly_Perfect_Hash_OpTable
+ : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: /home/trautma/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_benchmark_msgOnly_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_benchmark_msgOnly_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 0,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 0,
+ 16, 16, 0, 5, 16, 0, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 0, 0, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16,
+#else
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 0, 16, 0, 16, 16,
+ 0, 5, 16, 0, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 0, 0, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
+}
+
+const TAO_operation_db_entry *
+TAO_benchmark_msgOnly_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 6,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 14,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 15,
+ HASH_VALUE_RANGE = 11,
+ DUPLICATES = 0,
+ WORDLIST_SIZE = 11
+ };
+
+ static const TAO_operation_db_entry wordlist[] =
+ {
+ {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},
+ {"_is_a", &POA_benchmark::msgOnly::_is_a_skel, 0},
+ {"",0,0},
+ {"sendMsg", &POA_benchmark::msgOnly::sendMsg_skel, 0},
+ {"",0,0},{"",0,0},
+ {"_component", &POA_benchmark::msgOnly::_component_skel, 0},
+ {"",0,0},{"",0,0},
+ {"_non_existent", &POA_benchmark::msgOnly::_non_existent_skel, 0},
+ {"_repository_id", &POA_benchmark::msgOnly::_repository_id_skel, 0},
+ {"_interface", &POA_benchmark::msgOnly::_interface_skel, 0},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ const char *s = wordlist[key].opname;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[key];
+ }
+ }
+ return 0;
+}
+
+static TAO_benchmark_msgOnly_Perfect_Hash_OpTable tao_benchmark_msgOnly_optable;
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:930
+
+TAO::Collocation_Proxy_Broker *
+benchmark__TAO_msgOnly_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr)
+{
+ return reinterpret_cast<TAO::Collocation_Proxy_Broker *> (0xdead); // Dummy
+}
+
+int
+benchmark__TAO_msgOnly_Proxy_Broker_Factory_Initializer (size_t)
+{
+ benchmark__TAO_msgOnly_Proxy_Broker_Factory_function_pointer =
+ benchmark__TAO_msgOnly_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int
+benchmark__TAO_msgOnly_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ benchmark__TAO_msgOnly_Proxy_Broker_Factory_Initializer (
+ reinterpret_cast<size_t> (benchmark__TAO_msgOnly_Proxy_Broker_Factory_Initializer)
+ );
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:103
+
+POA_benchmark::msgOnly::msgOnly (void)
+ : TAO_ServantBase ()
+{
+ this->optable_ = &tao_benchmark_msgOnly_optable;
+}
+
+POA_benchmark::msgOnly::msgOnly (const msgOnly& rhs)
+ : TAO_Abstract_ServantBase (rhs),
+ TAO_ServantBase (rhs)
+{
+}
+
+POA_benchmark::msgOnly::~msgOnly (void)
+{
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class sendMsg_msgOnly
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline sendMsg_msgOnly (
+ POA_benchmark::msgOnly * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ TAO::SArg_Traits< ::benchmark::msg>::in_arg_type arg_1 =
+ TAO::Portable_Server::get_in_arg< ::benchmark::msg, TAO::SArg_Traits< ::benchmark::msg>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 1);
+
+ retval =
+ this->servant_->sendMsg (
+ arg_1
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgOnly * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_ss.cpp:190
+
+void POA_benchmark::msgOnly::sendMsg_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const exceptions[] =
+ {
+ benchmark::_tc_invalidRequest
+ };
+ static ::CORBA::ULong const nexceptions = 1;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
+ TAO::SArg_Traits< ::benchmark::msg>::in_arg_val _tao_message;
+
+ TAO::Argument * const args[] =
+ {
+ &retval,
+ &_tao_message
+ };
+
+ static size_t const nargs = 2;
+
+ POA_benchmark::msgOnly * const impl =
+ static_cast<POA_benchmark::msgOnly *> (servant);
+
+ sendMsg_msgOnly command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:169
+
+namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _is_a_msgOnly_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _is_a_msgOnly_Upcall_Command (
+ POA_benchmark::msgOnly * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Char *, TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 1);
+
+ retval =
+ this->servant_-> _is_a (
+ arg_1
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgOnly * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_benchmark::msgOnly::_is_a_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
+ TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id;
+
+ TAO::Argument * const args[] =
+ {
+ &retval,
+ &_tao_repository_id
+ };
+
+ static size_t const nargs = 2;
+
+ POA_benchmark::msgOnly * const impl =
+ static_cast<POA_benchmark::msgOnly *> (servant);
+
+ _is_a_msgOnly_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _non_existent_msgOnly_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _non_existent_msgOnly_Upcall_Command (
+ POA_benchmark::msgOnly * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ retval =
+ this->servant_-> _non_existent (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgOnly * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_benchmark::msgOnly::_non_existent_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_benchmark::msgOnly * const impl =
+ static_cast<POA_benchmark::msgOnly *> (servant);
+
+ _non_existent_msgOnly_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _repository_id_msgOnly_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _repository_id_msgOnly_Upcall_Command (
+ POA_benchmark::msgOnly * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::CORBA::Char *, TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ retval =
+ this->servant_-> _repository_id (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgOnly * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_benchmark::msgOnly::_repository_id_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_benchmark::msgOnly * const impl =
+ static_cast<POA_benchmark::msgOnly *> (servant);
+
+ _repository_id_msgOnly_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:502
+
+void POA_benchmark::msgOnly::_interface_skel (
+ TAO_ServerRequest & server_request,
+ void * /* servant_upcall */,
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1,
+ ::CORBA::COMPLETED_NO));
+ }
+
+ POA_benchmark::msgOnly * const impl =
+ static_cast<POA_benchmark::msgOnly *> (servant);
+ ::CORBA::InterfaceDef_ptr _tao_retval =
+ impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = *server_request.outgoing ();
+
+ ::CORBA::Boolean const _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+
+ _tao_adapter->dispose (_tao_retval);
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW ( ::CORBA::MARSHAL ());
+ }
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _get_component_msgOnly_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _get_component_msgOnly_Upcall_Command (
+ POA_benchmark::msgOnly * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::CORBA::Object, TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ retval =
+ this->servant_-> _get_component (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::msgOnly * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_benchmark::msgOnly::_component_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::CORBA::Object>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_benchmark::msgOnly * const impl =
+ static_cast<POA_benchmark::msgOnly *> (servant);
+
+ _get_component_msgOnly_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+::CORBA::Boolean POA_benchmark::msgOnly::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ return
+ (
+ !ACE_OS::strcmp (
+ value,
+ "IDL:benchmark/msgOnly:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/Object:1.0"
+ )
+ );
+}
+
+const char* POA_benchmark::msgOnly::_interface_repository_id (void) const
+{
+ return "IDL:benchmark/msgOnly:1.0";
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:867
+
+void POA_benchmark::msgOnly::_dispatch (
+ TAO_ServerRequest & req,
+ void * servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:815
+
+benchmark::msgOnly *
+POA_benchmark::msgOnly::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+ ::CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ ::CORBA::Boolean _tao_opt_colloc =
+ stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ();
+
+ ACE_NEW_RETURN (
+ tmp,
+ ::CORBA::Object (stub, _tao_opt_colloc, this),
+ 0
+ );
+
+ ::CORBA::Object_var obj = tmp;
+ (void) safe_stub.release ();
+
+ typedef ::benchmark::msgOnly STUB_SCOPED_NAME;
+ return
+ TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
+ obj.in (),
+ benchmark__TAO_msgOnly_Proxy_Broker_Factory_function_pointer
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_interface.cpp:1511
+
+class TAO_benchmark_setPortsOnly_Perfect_Hash_OpTable
+ : public TAO_Perfect_Hash_OpTable
+{
+private:
+ unsigned int hash (const char *str, unsigned int len);
+
+public:
+ const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
+};
+
+/* C++ code produced by gperf version 2.8 (ACE version) */
+/* Command-line: /home/trautma/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0 -a -o -t -p -K opname -L C++ -Z TAO_benchmark_setPortsOnly_Perfect_Hash_OpTable -N lookup */
+unsigned int
+TAO_benchmark_setPortsOnly_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
+{
+ static const unsigned char asso_values[] =
+ {
+#if defined (ACE_MVS)
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 0,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 0,
+ 16, 0, 0, 5, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 0, 0, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16,
+#else
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 0, 16, 0, 16, 0,
+ 0, 5, 16, 16, 16, 16, 16, 16, 16, 16,
+ 16, 16, 16, 16, 16, 0, 0, 16, 16, 16,
+ 16, 16, 16, 16, 16, 16, 16, 16,
+#endif /* ACE_MVS */
+ };
+ return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
+}
+
+const TAO_operation_db_entry *
+TAO_benchmark_setPortsOnly_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
+{
+ enum
+ {
+ TOTAL_KEYWORDS = 7,
+ MIN_WORD_LENGTH = 5,
+ MAX_WORD_LENGTH = 14,
+ MIN_HASH_VALUE = 5,
+ MAX_HASH_VALUE = 15,
+ HASH_VALUE_RANGE = 11,
+ DUPLICATES = 0,
+ WORDLIST_SIZE = 12
+ };
+
+ static const TAO_operation_db_entry wordlist[] =
+ {
+ {"",0,0},{"",0,0},{"",0,0},{"",0,0},{"",0,0},
+ {"_is_a", &POA_benchmark::setPortsOnly::_is_a_skel, 0},
+ {"",0,0},
+ {"connect", &POA_benchmark::setPortsOnly::connect_skel, 0},
+ {"setPorts", &POA_benchmark::setPortsOnly::setPorts_skel, 0},
+ {"",0,0},
+ {"_component", &POA_benchmark::setPortsOnly::_component_skel, 0},
+ {"",0,0},{"",0,0},
+ {"_non_existent", &POA_benchmark::setPortsOnly::_non_existent_skel, 0},
+ {"_repository_id", &POA_benchmark::setPortsOnly::_repository_id_skel, 0},
+ {"_interface", &POA_benchmark::setPortsOnly::_interface_skel, 0},
+ };
+
+ if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+ {
+ unsigned int key = hash (str, len);
+
+ if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
+ {
+ const char *s = wordlist[key].opname;
+
+ if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
+ return &wordlist[key];
+ }
+ }
+ return 0;
+}
+
+static TAO_benchmark_setPortsOnly_Perfect_Hash_OpTable tao_benchmark_setPortsOnly_optable;
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:930
+
+TAO::Collocation_Proxy_Broker *
+benchmark__TAO_setPortsOnly_Proxy_Broker_Factory_function ( ::CORBA::Object_ptr)
+{
+ return reinterpret_cast<TAO::Collocation_Proxy_Broker *> (0xdead); // Dummy
+}
+
+int
+benchmark__TAO_setPortsOnly_Proxy_Broker_Factory_Initializer (size_t)
+{
+ benchmark__TAO_setPortsOnly_Proxy_Broker_Factory_function_pointer =
+ benchmark__TAO_setPortsOnly_Proxy_Broker_Factory_function;
+
+ return 0;
+}
+
+static int
+benchmark__TAO_setPortsOnly_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
+ benchmark__TAO_setPortsOnly_Proxy_Broker_Factory_Initializer (
+ reinterpret_cast<size_t> (benchmark__TAO_setPortsOnly_Proxy_Broker_Factory_Initializer)
+ );
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:103
+
+POA_benchmark::setPortsOnly::setPortsOnly (void)
+ : TAO_ServantBase ()
+{
+ this->optable_ = &tao_benchmark_setPortsOnly_optable;
+}
+
+POA_benchmark::setPortsOnly::setPortsOnly (const setPortsOnly& rhs)
+ : TAO_Abstract_ServantBase (rhs),
+ TAO_ServantBase (rhs)
+{
+}
+
+POA_benchmark::setPortsOnly::~setPortsOnly (void)
+{
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class connect_setPortsOnly
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline connect_setPortsOnly (
+ POA_benchmark::setPortsOnly * servant)
+ : servant_ (servant)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ this->servant_->connect (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::setPortsOnly * const servant_;
+ };
+}
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_ss.cpp:190
+
+void POA_benchmark::setPortsOnly::connect_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const exceptions[] =
+ {
+ benchmark::_tc_invalidRequest
+ };
+ static ::CORBA::ULong const nexceptions = 1;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< void>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_benchmark::setPortsOnly * const impl =
+ static_cast<POA_benchmark::setPortsOnly *> (servant);
+
+ connect_setPortsOnly command (
+ impl);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class setPorts_setPortsOnly
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline setPorts_setPortsOnly (
+ POA_benchmark::setPortsOnly * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_type arg_1 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Short, TAO::SArg_Traits< ::CORBA::Short>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 1);
+
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_type arg_2 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Short, TAO::SArg_Traits< ::CORBA::Short>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 2);
+
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_type arg_3 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Short, TAO::SArg_Traits< ::CORBA::Short>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 3);
+
+ this->servant_->setPorts (
+ arg_1
+ , arg_2
+ , arg_3
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::setPortsOnly * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/operation_ss.cpp:190
+
+void POA_benchmark::setPortsOnly::setPorts_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const exceptions[] =
+ {
+ benchmark::_tc_invalidRequest
+ };
+ static ::CORBA::ULong const nexceptions = 1;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< void>::ret_val retval;
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort1;
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort2;
+ TAO::SArg_Traits< ::CORBA::Short>::in_arg_val _tao_valPort3;
+
+ TAO::Argument * const args[] =
+ {
+ &retval,
+ &_tao_valPort1,
+ &_tao_valPort2,
+ &_tao_valPort3
+ };
+
+ static size_t const nargs = 4;
+
+ POA_benchmark::setPortsOnly * const impl =
+ static_cast<POA_benchmark::setPortsOnly *> (servant);
+
+ setPorts_setPortsOnly command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:169
+
+namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _is_a_setPortsOnly_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _is_a_setPortsOnly_Upcall_Command (
+ POA_benchmark::setPortsOnly * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type arg_1 =
+ TAO::Portable_Server::get_in_arg< ::CORBA::Char *, TAO::SArg_Traits< ::CORBA::Char *>::in_arg_type> (
+ this->operation_details_,
+ this->args_,
+ 1);
+
+ retval =
+ this->servant_-> _is_a (
+ arg_1
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::setPortsOnly * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_benchmark::setPortsOnly::_is_a_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
+ TAO::SArg_Traits< ::CORBA::Char *>::in_arg_val _tao_repository_id;
+
+ TAO::Argument * const args[] =
+ {
+ &retval,
+ &_tao_repository_id
+ };
+
+ static size_t const nargs = 2;
+
+ POA_benchmark::setPortsOnly * const impl =
+ static_cast<POA_benchmark::setPortsOnly *> (servant);
+
+ _is_a_setPortsOnly_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _non_existent_setPortsOnly_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _non_existent_setPortsOnly_Upcall_Command (
+ POA_benchmark::setPortsOnly * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::ACE_InputCDR::to_boolean, TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ retval =
+ this->servant_-> _non_existent (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::setPortsOnly * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_benchmark::setPortsOnly::_non_existent_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::ACE_InputCDR::to_boolean>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_benchmark::setPortsOnly * const impl =
+ static_cast<POA_benchmark::setPortsOnly *> (servant);
+
+ _non_existent_setPortsOnly_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _repository_id_setPortsOnly_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _repository_id_setPortsOnly_Upcall_Command (
+ POA_benchmark::setPortsOnly * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::CORBA::Char *, TAO::SArg_Traits< ::CORBA::Char *>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ retval =
+ this->servant_-> _repository_id (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::setPortsOnly * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_benchmark::setPortsOnly::_repository_id_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::CORBA::Char *>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_benchmark::setPortsOnly * const impl =
+ static_cast<POA_benchmark::setPortsOnly *> (servant);
+
+ _repository_id_setPortsOnly_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:502
+
+void POA_benchmark::setPortsOnly::_interface_skel (
+ TAO_ServerRequest & server_request,
+ void * /* servant_upcall */,
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+ TAO_IFR_Client_Adapter *_tao_adapter =
+ ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
+ TAO_ORB_Core::ifr_client_adapter_name ()
+ );
+
+ if (_tao_adapter == 0)
+ {
+ ACE_THROW ( ::CORBA::INTF_REPOS ( ::CORBA::OMGVMCID | 1,
+ ::CORBA::COMPLETED_NO));
+ }
+
+ POA_benchmark::setPortsOnly * const impl =
+ static_cast<POA_benchmark::setPortsOnly *> (servant);
+ ::CORBA::InterfaceDef_ptr _tao_retval =
+ impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+
+ server_request.init_reply ();
+ TAO_OutputCDR &_tao_out = *server_request.outgoing ();
+
+ ::CORBA::Boolean const _tao_result =
+ _tao_adapter->interfacedef_cdr_insert (
+ _tao_out,
+ _tao_retval
+ );
+
+ _tao_adapter->dispose (_tao_retval);
+
+ if (_tao_result == 0)
+ {
+ ACE_THROW ( ::CORBA::MARSHAL ());
+ }
+}namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/upcall_command_ss.cpp:127
+
+ class _get_component_setPortsOnly_Upcall_Command
+ : public TAO::Upcall_Command
+ {
+ public:
+ inline _get_component_setPortsOnly_Upcall_Command (
+ POA_benchmark::setPortsOnly * servant,
+ TAO_Operation_Details const * operation_details,
+ TAO::Argument * const args[])
+ : servant_ (servant)
+ , operation_details_ (operation_details)
+ , args_ (args)
+ {
+ }
+
+ virtual void execute (ACE_ENV_SINGLE_ARG_DECL)
+ {
+ TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type retval =
+ TAO::Portable_Server::get_ret_arg< ::CORBA::Object, TAO::SArg_Traits< ::CORBA::Object>::ret_arg_type> (
+ this->operation_details_,
+ this->args_);
+
+ retval =
+ this->servant_-> _get_component (
+ ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK;
+ }
+
+ private:
+ POA_benchmark::setPortsOnly * const servant_;
+ TAO_Operation_Details const * const operation_details_;
+ TAO::Argument * const * const args_;
+ };
+}
+
+
+void POA_benchmark::setPortsOnly::_component_skel (
+ TAO_ServerRequest & server_request,
+ void * TAO_INTERCEPTOR (servant_upcall),
+ void * servant
+ ACE_ENV_ARG_DECL
+ )
+{
+#if TAO_HAS_INTERCEPTORS == 1
+ static ::CORBA::TypeCode_ptr const * const exceptions = 0;
+ static ::CORBA::ULong const nexceptions = 0;
+#endif /* TAO_HAS_INTERCEPTORS */
+
+ TAO::SArg_Traits< ::CORBA::Object>::ret_val retval;
+
+ TAO::Argument * const args[] =
+ {
+ &retval
+ };
+
+ static size_t const nargs = 1;
+
+ POA_benchmark::setPortsOnly * const impl =
+ static_cast<POA_benchmark::setPortsOnly *> (servant);
+
+ _get_component_setPortsOnly_Upcall_Command command (
+ impl,
+ server_request.operation_details (),
+ args);
+
+ TAO::Upcall_Wrapper upcall_wrapper;
+ upcall_wrapper.upcall (server_request
+ , args
+ , nargs
+ , command
+#if TAO_HAS_INTERCEPTORS == 1
+ , servant_upcall
+ , exceptions
+ , nexceptions
+#endif /* TAO_HAS_INTERCEPTORS == 1 */
+ ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK;
+}
+
+::CORBA::Boolean POA_benchmark::setPortsOnly::_is_a (
+ const char* value
+ ACE_ENV_ARG_DECL_NOT_USED
+ )
+{
+ return
+ (
+ !ACE_OS::strcmp (
+ value,
+ "IDL:benchmark/setPortsOnly:1.0"
+ ) ||
+ !ACE_OS::strcmp (
+ value,
+ "IDL:omg.org/CORBA/Object:1.0"
+ )
+ );
+}
+
+const char* POA_benchmark::setPortsOnly::_interface_repository_id (void) const
+{
+ return "IDL:benchmark/setPortsOnly:1.0";
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:867
+
+void POA_benchmark::setPortsOnly::_dispatch (
+ TAO_ServerRequest & req,
+ void * servant_upcall
+ ACE_ENV_ARG_DECL
+ )
+{
+ this->synchronous_upcall_dispatch (req,
+ servant_upcall,
+ this
+ ACE_ENV_ARG_PARAMETER);
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/interface_ss.cpp:815
+
+benchmark::setPortsOnly *
+POA_benchmark::setPortsOnly::_this (ACE_ENV_SINGLE_ARG_DECL)
+{
+ TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+
+ TAO_Stub_Auto_Ptr safe_stub (stub);
+ ::CORBA::Object_ptr tmp = CORBA::Object::_nil ();
+
+ ::CORBA::Boolean _tao_opt_colloc =
+ stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ();
+
+ ACE_NEW_RETURN (
+ tmp,
+ ::CORBA::Object (stub, _tao_opt_colloc, this),
+ 0
+ );
+
+ ::CORBA::Object_var obj = tmp;
+ (void) safe_stub.release ();
+
+ typedef ::benchmark::setPortsOnly STUB_SCOPED_NAME;
+ return
+ TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
+ obj.in (),
+ benchmark__TAO_setPortsOnly_Proxy_Broker_Factory_function_pointer
+ );
+}
+
+#endif /* ifndef */
+
diff --git a/quellcode/versuch5/benchS.h b/quellcode/versuch5/benchS.h
new file mode 100755
index 0000000..f47741c
--- /dev/null
+++ b/quellcode/versuch5/benchS.h
@@ -0,0 +1,518 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:387
+
+#ifndef _TAO_IDL_BENCHS_H_
+#define _TAO_IDL_BENCHS_H_
+
+
+#include "benchC.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#include "tao/Collocation_Proxy_Broker.h"
+#include "tao/PortableServer/PortableServer.h"
+#include "tao/PortableServer/Servant_Base.h"
+
+// TAO_IDL - Generated from
+// be/be_visitor_module/module_sh.cpp:49
+
+namespace POA_benchmark
+{
+
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_sh.cpp:87
+
+ class msgAndPort1;
+ typedef msgAndPort1 *msgAndPort1_ptr;
+
+ class msgAndPort1
+ : public virtual PortableServer::ServantBase
+ {
+ protected:
+ msgAndPort1 (void);
+
+ public:
+ // Useful for template programming.
+ typedef ::benchmark::msgAndPort1 _stub_type;
+ typedef ::benchmark::msgAndPort1_ptr _stub_ptr_type;
+ typedef ::benchmark::msgAndPort1_var _stub_var_type;
+
+ msgAndPort1 (const msgAndPort1& rhs);
+ virtual ~msgAndPort1 (void);
+
+ virtual ::CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _component_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _repository_id_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest & req,
+ void * servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::benchmark::msgAndPort1 *_this (
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_sh.cpp:45
+
+ virtual void connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ )) = 0;
+
+ static void connect_skel (
+ TAO_ServerRequest & server_request,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_sh.cpp:45
+
+ virtual void setPorts (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ )) = 0;
+
+ static void setPorts_skel (
+ TAO_ServerRequest & server_request,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_sh.cpp:45
+
+ virtual ::CORBA::Boolean sendMsg (
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ )) = 0;
+
+ static void sendMsg_skel (
+ TAO_ServerRequest & server_request,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+ };
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_sh.cpp:87
+
+ class msgAndPort2;
+ typedef msgAndPort2 *msgAndPort2_ptr;
+
+ class msgAndPort2
+ : public virtual PortableServer::ServantBase
+ {
+ protected:
+ msgAndPort2 (void);
+
+ public:
+ // Useful for template programming.
+ typedef ::benchmark::msgAndPort2 _stub_type;
+ typedef ::benchmark::msgAndPort2_ptr _stub_ptr_type;
+ typedef ::benchmark::msgAndPort2_var _stub_var_type;
+
+ msgAndPort2 (const msgAndPort2& rhs);
+ virtual ~msgAndPort2 (void);
+
+ virtual ::CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _component_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _repository_id_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest & req,
+ void * servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::benchmark::msgAndPort2 *_this (
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_sh.cpp:45
+
+ virtual void connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ )) = 0;
+
+ static void connect_skel (
+ TAO_ServerRequest & server_request,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_sh.cpp:45
+
+ virtual void setPortsSendMsg (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3,
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ )) = 0;
+
+ static void setPortsSendMsg_skel (
+ TAO_ServerRequest & server_request,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+ };
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_sh.cpp:87
+
+ class msgOnly;
+ typedef msgOnly *msgOnly_ptr;
+
+ class msgOnly
+ : public virtual PortableServer::ServantBase
+ {
+ protected:
+ msgOnly (void);
+
+ public:
+ // Useful for template programming.
+ typedef ::benchmark::msgOnly _stub_type;
+ typedef ::benchmark::msgOnly_ptr _stub_ptr_type;
+ typedef ::benchmark::msgOnly_var _stub_var_type;
+
+ msgOnly (const msgOnly& rhs);
+ virtual ~msgOnly (void);
+
+ virtual ::CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _component_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _repository_id_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest & req,
+ void * servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::benchmark::msgOnly *_this (
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_sh.cpp:45
+
+ virtual ::CORBA::Boolean sendMsg (
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ )) = 0;
+
+ static void sendMsg_skel (
+ TAO_ServerRequest & server_request,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+ };
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/interface_sh.cpp:87
+
+ class setPortsOnly;
+ typedef setPortsOnly *setPortsOnly_ptr;
+
+ class setPortsOnly
+ : public virtual PortableServer::ServantBase
+ {
+ protected:
+ setPortsOnly (void);
+
+ public:
+ // Useful for template programming.
+ typedef ::benchmark::setPortsOnly _stub_type;
+ typedef ::benchmark::setPortsOnly_ptr _stub_ptr_type;
+ typedef ::benchmark::setPortsOnly_var _stub_var_type;
+
+ setPortsOnly (const setPortsOnly& rhs);
+ virtual ~setPortsOnly (void);
+
+ virtual ::CORBA::Boolean _is_a (
+ const char* logical_type_id
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ static void _is_a_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _non_existent_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _interface_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _component_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ static void _repository_id_skel (
+ TAO_ServerRequest & req,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ virtual void _dispatch (
+ TAO_ServerRequest & req,
+ void * servant_upcall
+ ACE_ENV_ARG_DECL
+ );
+
+ ::benchmark::setPortsOnly *_this (
+
+ ACE_ENV_ARG_DECL_WITH_DEFAULTS
+ );
+
+ virtual const char* _interface_repository_id (void) const;
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_sh.cpp:45
+
+ virtual void connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ )) = 0;
+
+ static void connect_skel (
+ TAO_ServerRequest & server_request,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/operation_sh.cpp:45
+
+ virtual void setPorts (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ )) = 0;
+
+ static void setPorts_skel (
+ TAO_ServerRequest & server_request,
+ void * servant_upcall,
+ void * servant
+ ACE_ENV_ARG_DECL
+ );
+ };
+
+// TAO_IDL - Generated from
+// be/be_visitor_module/module_sh.cpp:80
+
+} // module benchmark
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:1148
+
+#include "benchS_T.h"
+
+#if defined (__ACE_INLINE__)
+#include "benchS.inl"
+#endif /* defined INLINE */
+
+#endif /* ifndef */
+
diff --git a/quellcode/versuch5/benchS.inl b/quellcode/versuch5/benchS.inl
new file mode 100755
index 0000000..38aa325
--- /dev/null
+++ b/quellcode/versuch5/benchS.inl
@@ -0,0 +1,28 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+
diff --git a/quellcode/versuch5/benchS_T.cpp b/quellcode/versuch5/benchS_T.cpp
new file mode 100755
index 0000000..e100665
--- /dev/null
+++ b/quellcode/versuch5/benchS_T.cpp
@@ -0,0 +1,41 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:656
+
+#ifndef _TAO_IDL_BENCHS_T_CPP_
+#define _TAO_IDL_BENCHS_T_CPP_
+
+#include "benchS_T.h"
+
+#if !defined (__ACE_INLINE__)
+#include "benchS_T.inl"
+#endif /* !defined INLINE */
+
+
+#endif /* ifndef */
diff --git a/quellcode/versuch5/benchS_T.h b/quellcode/versuch5/benchS_T.h
new file mode 100755
index 0000000..6a447cb
--- /dev/null
+++ b/quellcode/versuch5/benchS_T.h
@@ -0,0 +1,353 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:520
+
+#ifndef _TAO_IDL_BENCHS_T_H_
+#define _TAO_IDL_BENCHS_T_H_
+
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_root/root_sth.cpp:116
+
+namespace POA_benchmark
+{
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/tie_sh.cpp:87
+
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class msgAndPort1_tie : public msgAndPort1
+ {
+ public:
+ msgAndPort1_tie (T &t);
+ // the T& ctor
+ msgAndPort1_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ msgAndPort1_tie (T *tp, ::CORBA::Boolean release = 1);
+ // ctor taking pointer and an ownership flag
+ msgAndPort1_tie (
+ T *tp,
+ PortableServer::POA_ptr poa,
+ ::CORBA::Boolean release = 1
+ );
+ // ctor with T*, ownership flag and a POA
+ ~msgAndPort1_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, ::CORBA::Boolean release = 1);
+ // set the underlying object and the ownership flag
+ ::CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner ( ::CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ );
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/tie_sh.cpp:60
+
+ void connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/tie_sh.cpp:60
+
+ void setPorts (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/tie_sh.cpp:60
+
+ ::CORBA::Boolean sendMsg (
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ ::CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ msgAndPort1_tie (const msgAndPort1_tie &);
+ void operator= (const msgAndPort1_tie &);
+ };
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/tie_sh.cpp:87
+
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class msgAndPort2_tie : public msgAndPort2
+ {
+ public:
+ msgAndPort2_tie (T &t);
+ // the T& ctor
+ msgAndPort2_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ msgAndPort2_tie (T *tp, ::CORBA::Boolean release = 1);
+ // ctor taking pointer and an ownership flag
+ msgAndPort2_tie (
+ T *tp,
+ PortableServer::POA_ptr poa,
+ ::CORBA::Boolean release = 1
+ );
+ // ctor with T*, ownership flag and a POA
+ ~msgAndPort2_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, ::CORBA::Boolean release = 1);
+ // set the underlying object and the ownership flag
+ ::CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner ( ::CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ );
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/tie_sh.cpp:60
+
+ void connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/tie_sh.cpp:60
+
+ void setPortsSendMsg (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3,
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ ::CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ msgAndPort2_tie (const msgAndPort2_tie &);
+ void operator= (const msgAndPort2_tie &);
+ };
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/tie_sh.cpp:87
+
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class msgOnly_tie : public msgOnly
+ {
+ public:
+ msgOnly_tie (T &t);
+ // the T& ctor
+ msgOnly_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ msgOnly_tie (T *tp, ::CORBA::Boolean release = 1);
+ // ctor taking pointer and an ownership flag
+ msgOnly_tie (
+ T *tp,
+ PortableServer::POA_ptr poa,
+ ::CORBA::Boolean release = 1
+ );
+ // ctor with T*, ownership flag and a POA
+ ~msgOnly_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, ::CORBA::Boolean release = 1);
+ // set the underlying object and the ownership flag
+ ::CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner ( ::CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ );
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/tie_sh.cpp:60
+
+ ::CORBA::Boolean sendMsg (
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ ::CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ msgOnly_tie (const msgOnly_tie &);
+ void operator= (const msgOnly_tie &);
+ };
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_interface/tie_sh.cpp:87
+
+ // TIE class: Refer to CORBA v2.2, Section 20.34.4
+ template <class T>
+ class setPortsOnly_tie : public setPortsOnly
+ {
+ public:
+ setPortsOnly_tie (T &t);
+ // the T& ctor
+ setPortsOnly_tie (T &t, PortableServer::POA_ptr poa);
+ // ctor taking a POA
+ setPortsOnly_tie (T *tp, ::CORBA::Boolean release = 1);
+ // ctor taking pointer and an ownership flag
+ setPortsOnly_tie (
+ T *tp,
+ PortableServer::POA_ptr poa,
+ ::CORBA::Boolean release = 1
+ );
+ // ctor with T*, ownership flag and a POA
+ ~setPortsOnly_tie (void);
+ // dtor
+
+ // TIE specific functions
+ T *_tied_object (void);
+ // return the underlying object
+ void _tied_object (T &obj);
+ // set the underlying object
+ void _tied_object (T *obj, ::CORBA::Boolean release = 1);
+ // set the underlying object and the ownership flag
+ ::CORBA::Boolean _is_owner (void);
+ // do we own it
+ void _is_owner ( ::CORBA::Boolean b);
+ // set the ownership
+
+ // overridden ServantBase operations
+ PortableServer::POA_ptr _default_POA (
+ ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
+ );
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/tie_sh.cpp:60
+
+ void connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ // TAO_IDL - Generated from
+ // be/be_visitor_operation/tie_sh.cpp:60
+
+ void setPorts (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ private:
+ T *ptr_;
+ PortableServer::POA_var poa_;
+ ::CORBA::Boolean rel_;
+
+ // copy and assignment are not allowed
+ setPortsOnly_tie (const setPortsOnly_tie &);
+ void operator= (const setPortsOnly_tie &);
+ };
+} // module benchmark
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:1251
+#if defined (__ACE_INLINE__)
+#include "benchS_T.inl"
+#endif /* defined INLINE */
+
+#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
+#include "benchS_T.cpp"
+#endif /* defined REQUIRED SOURCE */
+
+#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
+#pragma implementation ("benchS_T.cpp")
+#endif /* defined REQUIRED PRAGMA */
+
+#endif /* ifndef */
+
diff --git a/quellcode/versuch5/benchS_T.inl b/quellcode/versuch5/benchS_T.inl
new file mode 100755
index 0000000..e9f7c6e
--- /dev/null
+++ b/quellcode/versuch5/benchS_T.inl
@@ -0,0 +1,546 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/tie_si.cpp:96
+
+template <class T> ACE_INLINE
+POA_benchmark::msgAndPort1_tie<T>::msgAndPort1_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_benchmark::msgAndPort1_tie<T>::msgAndPort1_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_benchmark::msgAndPort1_tie<T>::msgAndPort1_tie (T *tp, ::CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_benchmark::msgAndPort1_tie<T>::msgAndPort1_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_benchmark::msgAndPort1_tie<T>::~msgAndPort1_tie (void)
+{
+ if (this->rel_)
+ {
+ delete this->ptr_;
+ }
+}
+
+template <class T> ACE_INLINE T *
+POA_benchmark::msgAndPort1_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_benchmark::msgAndPort1_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_)
+ {
+ delete this->ptr_;
+ }
+
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_benchmark::msgAndPort1_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
+{
+ if (this->rel_)
+ {
+ delete this->ptr_;
+ }
+
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE ::CORBA::Boolean
+POA_benchmark::msgAndPort1_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_benchmark::msgAndPort1_tie<T>::_is_owner ( ::CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_benchmark::msgAndPort1_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (! CORBA::is_nil (this->poa_.in ()))
+ {
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+ }
+
+ return this->msgAndPort1::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/tie_si.cpp:101
+
+template <class T> ACE_INLINE
+void POA_benchmark::msgAndPort1_tie<T>::connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ this->ptr_->connect (
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/tie_si.cpp:101
+
+template <class T> ACE_INLINE
+void POA_benchmark::msgAndPort1_tie<T>::setPorts (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ this->ptr_->setPorts (
+ valPort1,
+ valPort2,
+ valPort3
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/tie_si.cpp:101
+
+template <class T> ACE_INLINE
+::CORBA::Boolean POA_benchmark::msgAndPort1_tie<T>::sendMsg (
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ return this->ptr_->sendMsg (
+ message
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/tie_si.cpp:96
+
+template <class T> ACE_INLINE
+POA_benchmark::msgAndPort2_tie<T>::msgAndPort2_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_benchmark::msgAndPort2_tie<T>::msgAndPort2_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_benchmark::msgAndPort2_tie<T>::msgAndPort2_tie (T *tp, ::CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_benchmark::msgAndPort2_tie<T>::msgAndPort2_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_benchmark::msgAndPort2_tie<T>::~msgAndPort2_tie (void)
+{
+ if (this->rel_)
+ {
+ delete this->ptr_;
+ }
+}
+
+template <class T> ACE_INLINE T *
+POA_benchmark::msgAndPort2_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_benchmark::msgAndPort2_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_)
+ {
+ delete this->ptr_;
+ }
+
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_benchmark::msgAndPort2_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
+{
+ if (this->rel_)
+ {
+ delete this->ptr_;
+ }
+
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE ::CORBA::Boolean
+POA_benchmark::msgAndPort2_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_benchmark::msgAndPort2_tie<T>::_is_owner ( ::CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_benchmark::msgAndPort2_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (! CORBA::is_nil (this->poa_.in ()))
+ {
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+ }
+
+ return this->msgAndPort2::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/tie_si.cpp:101
+
+template <class T> ACE_INLINE
+void POA_benchmark::msgAndPort2_tie<T>::connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ this->ptr_->connect (
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/tie_si.cpp:101
+
+template <class T> ACE_INLINE
+void POA_benchmark::msgAndPort2_tie<T>::setPortsSendMsg (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3,
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ this->ptr_->setPortsSendMsg (
+ valPort1,
+ valPort2,
+ valPort3,
+ message
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/tie_si.cpp:96
+
+template <class T> ACE_INLINE
+POA_benchmark::msgOnly_tie<T>::msgOnly_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_benchmark::msgOnly_tie<T>::msgOnly_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_benchmark::msgOnly_tie<T>::msgOnly_tie (T *tp, ::CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_benchmark::msgOnly_tie<T>::msgOnly_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_benchmark::msgOnly_tie<T>::~msgOnly_tie (void)
+{
+ if (this->rel_)
+ {
+ delete this->ptr_;
+ }
+}
+
+template <class T> ACE_INLINE T *
+POA_benchmark::msgOnly_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_benchmark::msgOnly_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_)
+ {
+ delete this->ptr_;
+ }
+
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_benchmark::msgOnly_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
+{
+ if (this->rel_)
+ {
+ delete this->ptr_;
+ }
+
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE ::CORBA::Boolean
+POA_benchmark::msgOnly_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_benchmark::msgOnly_tie<T>::_is_owner ( ::CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_benchmark::msgOnly_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (! CORBA::is_nil (this->poa_.in ()))
+ {
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+ }
+
+ return this->msgOnly::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/tie_si.cpp:101
+
+template <class T> ACE_INLINE
+::CORBA::Boolean POA_benchmark::msgOnly_tie<T>::sendMsg (
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ return this->ptr_->sendMsg (
+ message
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_interface/tie_si.cpp:96
+
+template <class T> ACE_INLINE
+POA_benchmark::setPortsOnly_tie<T>::setPortsOnly_tie (T &t)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_benchmark::setPortsOnly_tie<T>::setPortsOnly_tie (T &t, PortableServer::POA_ptr poa)
+ : ptr_ (&t),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (0)
+{}
+
+template <class T> ACE_INLINE
+POA_benchmark::setPortsOnly_tie<T>::setPortsOnly_tie (T *tp, ::CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_nil ()),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_benchmark::setPortsOnly_tie<T>::setPortsOnly_tie (T *tp, PortableServer::POA_ptr poa, ::CORBA::Boolean release)
+ : ptr_ (tp),
+ poa_ (PortableServer::POA::_duplicate (poa)),
+ rel_ (release)
+{}
+
+template <class T> ACE_INLINE
+POA_benchmark::setPortsOnly_tie<T>::~setPortsOnly_tie (void)
+{
+ if (this->rel_)
+ {
+ delete this->ptr_;
+ }
+}
+
+template <class T> ACE_INLINE T *
+POA_benchmark::setPortsOnly_tie<T>::_tied_object (void)
+{
+ return this->ptr_;
+}
+
+template <class T> ACE_INLINE void
+POA_benchmark::setPortsOnly_tie<T>::_tied_object (T &obj)
+{
+ if (this->rel_)
+ {
+ delete this->ptr_;
+ }
+
+ this->ptr_ = &obj;
+ this->rel_ = 0;
+}
+
+template <class T> ACE_INLINE void
+POA_benchmark::setPortsOnly_tie<T>::_tied_object (T *obj, ::CORBA::Boolean release)
+{
+ if (this->rel_)
+ {
+ delete this->ptr_;
+ }
+
+ this->ptr_ = obj;
+ this->rel_ = release;
+}
+
+template <class T> ACE_INLINE ::CORBA::Boolean
+POA_benchmark::setPortsOnly_tie<T>::_is_owner (void)
+{
+ return this->rel_;
+}
+
+template <class T> ACE_INLINE void
+POA_benchmark::setPortsOnly_tie<T>::_is_owner ( ::CORBA::Boolean b)
+{
+ this->rel_ = b;
+}
+
+template <class T> ACE_INLINE PortableServer::POA_ptr
+POA_benchmark::setPortsOnly_tie<T>::_default_POA (ACE_ENV_SINGLE_ARG_DECL)
+{
+ if (! CORBA::is_nil (this->poa_.in ()))
+ {
+ return PortableServer::POA::_duplicate (this->poa_.in ());
+ }
+
+ return this->setPortsOnly::_default_POA (ACE_ENV_SINGLE_ARG_PARAMETER);
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/tie_si.cpp:101
+
+template <class T> ACE_INLINE
+void POA_benchmark::setPortsOnly_tie<T>::connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ this->ptr_->connect (
+ );
+}
+
+// TAO_IDL - Generated from
+// be/be_visitor_operation/tie_si.cpp:101
+
+template <class T> ACE_INLINE
+void POA_benchmark::setPortsOnly_tie<T>::setPorts (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ this->ptr_->setPorts (
+ valPort1,
+ valPort2,
+ valPort3
+ );
+}
diff --git a/quellcode/versuch5/bench_i.cpp b/quellcode/versuch5/bench_i.cpp
new file mode 100755
index 0000000..92c544e
--- /dev/null
+++ b/quellcode/versuch5/bench_i.cpp
@@ -0,0 +1,224 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:1063
+
+#include "bench_i.h"
+#include <ace/Thread.h>
+
+// Implementation skeleton constructor
+benchmark_msgAndPort1_i::benchmark_msgAndPort1_i (CORBA::ORB_ptr orb)
+{
+ CORBA::Object_var obj = orb->resolve_initial_references("RTCurrent");
+ rt_current_ = RTCORBA::Current::_narrow(obj.in());
+}
+
+// Implementation skeleton destructor
+benchmark_msgAndPort1_i::~benchmark_msgAndPort1_i (void)
+{
+}
+
+void benchmark_msgAndPort1_i::connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ // Add your implementation here
+ cpx = new CPX();
+}
+
+void benchmark_msgAndPort1_i::setPorts (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ // Add your implementation here
+
+ CORBA::Short priority = rt_current_->the_priority();
+
+ ACE_hthread_t current;
+ ACE_Thread::self (current);
+ int native_priority;
+
+ cpx->set(1, valPort1);
+ cpx->set(2, valPort2);
+ cpx->set(3, valPort3);
+
+ if (ACE_Thread::getprio (current, native_priority) != -1) {
+ std::cout << "Port: Native Priority: " << ACE_Thread::getprio (current, native_priority) << std::endl;
+ }
+
+}
+
+::CORBA::Boolean benchmark_msgAndPort1_i::sendMsg (
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ // Add your implementation here
+
+ CORBA::Short priority = rt_current_->the_priority();
+
+ ACE_hthread_t current;
+ ACE_Thread::self (current);
+ int native_priority;
+
+ lastString = message.sender;
+ lastString += ": ";
+ lastString += message.message;
+
+ if (ACE_Thread::getprio (current, native_priority) != -1) {
+ std::cout << "Message: Native Priority: " << ACE_Thread::getprio (current, native_priority) << std::endl;
+ }
+
+ return true;
+}
+
+// Implementation skeleton constructor
+benchmark_msgAndPort2_i::benchmark_msgAndPort2_i (CORBA::ORB_ptr orb)
+{
+ CORBA::Object_var obj = orb->resolve_initial_references("RTCurrent");
+ rt_current_ = RTCORBA::Current::_narrow(obj.in());
+}
+
+// Implementation skeleton destructor
+benchmark_msgAndPort2_i::~benchmark_msgAndPort2_i (void)
+{
+}
+
+void benchmark_msgAndPort2_i::connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ // Add your implementation here
+ cpx = new CPX();
+}
+
+void benchmark_msgAndPort2_i::setPortsSendMsg (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3,
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ // Add your implementation here
+ cpx->set(1, valPort1);
+ cpx->set(2, valPort2);
+ cpx->set(3, valPort3);
+ lastString = message.sender;
+ lastString += ": ";
+ lastString += message.message;
+}
+
+// Implementation skeleton constructor
+benchmark_msgOnly_i::benchmark_msgOnly_i (CORBA::ORB_ptr orb)
+{
+}
+
+// Implementation skeleton destructor
+benchmark_msgOnly_i::~benchmark_msgOnly_i (void)
+{
+}
+
+::CORBA::Boolean benchmark_msgOnly_i::sendMsg (
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ // Add your implementation here
+ lastString = message.sender;
+ lastString += ": ";
+ lastString += message.message;
+
+ return true;
+}
+
+// Implementation skeleton constructor
+benchmark_setPortsOnly_i::benchmark_setPortsOnly_i (CORBA::ORB_ptr orb)
+{
+ CORBA::Object_var obj = orb->resolve_initial_references("RTCurrent");
+ rt_current_ = RTCORBA::Current::_narrow(obj.in());
+}
+
+// Implementation skeleton destructor
+benchmark_setPortsOnly_i::~benchmark_setPortsOnly_i (void)
+{
+}
+
+void benchmark_setPortsOnly_i::connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ // Add your implementation here
+ cpx = new CPX();
+}
+
+void benchmark_setPortsOnly_i::setPorts (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ))
+{
+ // Add your implementation here
+ cpx->set(1, valPort1);
+ cpx->set(2, valPort2);
+ cpx->set(3, valPort3);
+
+}
+
+
diff --git a/quellcode/versuch5/bench_i.h b/quellcode/versuch5/bench_i.h
new file mode 100755
index 0000000..d7943c0
--- /dev/null
+++ b/quellcode/versuch5/bench_i.h
@@ -0,0 +1,193 @@
+// -*- C++ -*-
+//
+// $Id$
+
+// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
+// TAO and the TAO IDL Compiler have been developed by:
+// Center for Distributed Object Computing
+// Washington University
+// St. Louis, MO
+// USA
+// http://www.cs.wustl.edu/~schmidt/doc-center.html
+// and
+// Distributed Object Computing Laboratory
+// University of California at Irvine
+// Irvine, CA
+// USA
+// http://doc.ece.uci.edu/
+// and
+// Institute for Software Integrated Systems
+// Vanderbilt University
+// Nashville, TN
+// USA
+// http://www.isis.vanderbilt.edu/
+//
+// Information about TAO is available at:
+// http://www.cs.wustl.edu/~schmidt/TAO.html
+
+// TAO_IDL - Generated from
+// be/be_codegen.cpp:1001
+
+#ifndef BENCHI_H_
+#define BENCHI_H_
+
+#include "benchS.h"
+
+#include "cpx.h"
+#include <string.h>
+#include <tao/RTCORBA/RTCORBA.h>
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+#pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class benchmark_msgAndPort1_i
+ : public virtual POA_benchmark::msgAndPort1
+{
+
+private:
+ CPX* cpx;
+ std::string lastString;
+ RTCORBA::Current_var rt_current_;
+
+public:
+ // Constructor
+ benchmark_msgAndPort1_i (CORBA::ORB_ptr orb);
+
+ // Destructor
+ virtual ~benchmark_msgAndPort1_i (void);
+
+ virtual
+ void connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ virtual
+ void setPorts (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ virtual
+ ::CORBA::Boolean sendMsg (
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+};
+
+class benchmark_msgAndPort2_i
+ : public virtual POA_benchmark::msgAndPort2
+{
+
+private:
+ CPX* cpx;
+ std::string lastString;
+ RTCORBA::Current_var rt_current_;
+
+public:
+ // Constructor
+ benchmark_msgAndPort2_i (CORBA::ORB_ptr orb);
+
+ // Destructor
+ virtual ~benchmark_msgAndPort2_i (void);
+
+ virtual
+ void connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ virtual
+ void setPortsSendMsg (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3,
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+};
+
+class benchmark_msgOnly_i
+ : public virtual POA_benchmark::msgOnly
+{
+
+private:
+ CPX* cpx;
+ std::string lastString;
+ RTCORBA::Current_var rt_current_;
+
+public:
+ // Constructor
+ benchmark_msgOnly_i (CORBA::ORB_ptr orb);
+
+ // Destructor
+ virtual ~benchmark_msgOnly_i (void);
+
+ virtual
+ ::CORBA::Boolean sendMsg (
+ const ::benchmark::msg & message
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+};
+
+class benchmark_setPortsOnly_i
+ : public virtual POA_benchmark::setPortsOnly
+{
+
+private:
+ CPX* cpx;
+ std::string lastString;
+ RTCORBA::Current_var rt_current_;
+
+public:
+ // Constructor
+ benchmark_setPortsOnly_i (CORBA::ORB_ptr orb);
+
+ // Destructor
+ virtual ~benchmark_setPortsOnly_i (void);
+
+ virtual
+ void connect (
+
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+
+ virtual
+ void setPorts (
+ ::CORBA::Short valPort1,
+ ::CORBA::Short valPort2,
+ ::CORBA::Short valPort3
+ )
+ ACE_THROW_SPEC ((
+ ::CORBA::SystemException,
+ ::benchmark::invalidRequest
+ ));
+};
+
+
+#endif /* BENCHI_H_ */
+
diff --git a/quellcode/versuch5/cpx.cpp b/quellcode/versuch5/cpx.cpp
new file mode 100755
index 0000000..eebdc65
--- /dev/null
+++ b/quellcode/versuch5/cpx.cpp
@@ -0,0 +1,85 @@
+/**
+ *
+ * \file cpx.cpp
+ * \brief read and write DIO
+ *
+ * \author Manuel Traut
+ * \version 2006-10-06
+ *
+ */
+
+#include "cpx.h"
+
+CPX::CPX(){
+ init();
+ std::cout<<"\n\n init ok\n\n";
+}
+
+int CPX::init(){
+
+ int fd_out = open(CPX_Input, O_RDWR | O_SYNC);
+ if (fd_out == -1){
+ std::cout<<"PBCIO: open failed"<<std::endl;
+ return(-1);
+ }
+ std::cout<<"CPX_Output_1 opened\n";
+
+ /* setup signal on interrupt */
+ param.signal = 1001;
+ param.pid = getpid();
+
+ if (ioctl(fd_out, CPX_DIO_IOCTL_ADD_SIG, (void *) &param) == -1) {
+ std::cout<<"signal map failed\n";
+ close(fd_out);
+ return(-1);
+ } else std::cout<<"signal map ok\n";
+
+ mapped_out = (u_char*) mmap (NULL, 0x10000, PROT_READ | PROT_WRITE, MAP_SHARED, fd_out, 0);
+ if (mapped_out == MAP_FAILED) {
+ std::cout<<"PBCIO: mmap failed\n";
+ close (fd_out);
+ return(-2);
+ }
+ std::cout<<"mmap ok\n";
+
+ DOUT = (u_char *) mapped_out;
+ DIN = (u_char *) mapped_out;
+
+ return 0;
+}
+
+short CPX::get(short port){
+ unsigned char value = 0;
+
+ switch(port){
+ case 1:
+ value = DIN[PORT1_IN];
+ break;
+ case 2:
+ value = DIN[PORT1_IN];
+ break;
+ case 3:
+ value = DIN[PORT1_IN];
+ break;
+ default:
+ std::cout<<"portNo: "<<port<<" incorrect\n";
+ }
+
+ return (short) value;
+}
+
+void CPX::set(short port, short value){
+ switch(port){
+ case 1:
+ DOUT[PORT1_OUT] = value;
+ break;
+ case 2:
+ DOUT[PORT2_OUT] = value;
+ break;
+ case 3:
+ DOUT[PORT3_OUT] = value;
+ break;
+ default:
+ std::cout<<"portNo: "<<port<<" incorrect\n";
+ }
+}
diff --git a/quellcode/versuch5/cpx.h b/quellcode/versuch5/cpx.h
new file mode 100755
index 0000000..7b4545a
--- /dev/null
+++ b/quellcode/versuch5/cpx.h
@@ -0,0 +1,73 @@
+/**
+ *
+ * \file cpx.h
+ * \brief read and write DIO
+ *
+ * \author Manuel Traut
+ * \version 2006-10-06
+ *
+ */
+
+#ifndef CPX_H
+#define CPX_H
+
+#include <iostream>
+
+#include <sys/mman.h>
+#include <sys/ioctl.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#define CPX_Input "/dev/iio2"
+#define CPX_Input_1 "/dev/iio2_in"
+#define CPX_Output_1 "/dev/iio2_out"
+
+#define PORT1_OUT 0x2c00
+#define PORT2_OUT 0x3c00
+#define PORT3_OUT 0x4c00
+
+#define PORT1_IN 0x5c00
+#define PORT2_IN 0x6c00
+#define PORT3_IN 0x7c00
+
+# ifndef PROT_READ
+# define PROT_READ 0x01
+# endif
+# ifndef PROT_WRITE
+# define PROT_WRITE 0x02
+# endif
+# ifndef MAP_SHARED
+# define MAP_SHARED 0x01
+# endif
+# ifndef MAP_PRIVATE
+# define MAP_PRIVATE 0x02
+# endif
+
+// ioctl (file descriptor, CPX_DIO_IOCTL_SET_SIGNAL, irq_send_signal_param*)
+// enable sending signal on interrupt
+// cpx_dio_set_signal_param.signal = signal to be sent to process
+#define CPX_DIO_IOCTL_BASE 0xCD
+
+typedef struct{
+ int signal; /* IN parameter: LINUX signal to be sent */
+ int pid; /* IN parameter: process id where signal should be sent to */
+}cpx_dio_set_signal_param;
+
+#define CPX_DIO_IOCTL_ADD_SIG _IOW(CPX_DIO_IOCTL_BASE, 3, cpx_dio_set_signal_param)
+#define CPX_DIO_IOCTL_DEL_SIG _IOW(CPX_DIO_IOCTL_BASE, 4, cpx_dio_set_signal_param)
+
+class CPX{
+ public:
+ CPX();
+ void set(short port, short value);
+ short get(short port);
+ private:
+ int init();
+ unsigned char *mapped_in;
+ unsigned char *mapped_out;
+ volatile u_char *DOUT;
+ volatile u_char *DIN;
+ cpx_dio_set_signal_param param;
+};
+
+#endif
diff --git a/quellcode/versuch5/svc.conf b/quellcode/versuch5/svc.conf
new file mode 100755
index 0000000..4f1cfb2
--- /dev/null
+++ b/quellcode/versuch5/svc.conf
@@ -0,0 +1 @@
+static RT_ORB_Loader "-ORBPriorityMapping linear -ORBSchedPolicy SCHED_RR -ORBScopePolicy SYSTEM"