diff options
Diffstat (limited to 'TAO/performance-tests/Cubit/CORBAplus')
20 files changed, 0 insertions, 2775 deletions
diff --git a/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/Makefile b/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/Makefile deleted file mode 100644 index f89dc1b2eb2..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/Makefile +++ /dev/null @@ -1,87 +0,0 @@ -#---------------------------------------------------------------------------- -# $Id$ -# -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -LDLIBS = -lcorba -lunixsvc -lpbroker -lboadc -lnaming -llifecycl -lfsstream - -IDL_SRC = cubit.cpp cubit_s.cpp -PROG_SRCS = $(IDL_SRC) svr.cpp clnt.cpp - -LSRC = $(PROG_SRCS) - -CUBIT_SVR_OBJS = cubit.o cubit_s.o svr.o cubit_i.o -CUBIT_CLT_OBJS = cubit.o clnt.o - -BIN = svr clnt -BUILD = $(BIN) -VLDLIBS = $(LDLIBS:%=%$(VAR)) -VBIN = $(BIN:%=%$(VAR)) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -exceptions = 1 - -#include $(PBHOME)/make/make.cfg - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -#include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -#$(VDIR)%.o: %.C -#VOBJS = $(LSRC:%.C=$(VDIR)%.o) - -LDFLAGS += -L$(PBHOME)/lib -CPPFLAGS += -I$(PBHOME)/include - -$(IDL_SRC): cubit.idl - $(PBHOME)/bin/idlc cubit.idl - -mv cubit.C cubit.cpp - -mv cubit_s.C cubit_s.cpp - -svr: $(addprefix $(VDIR),$(CUBIT_SVR_OBJS)) - $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) - -clnt: $(addprefix $(VDIR),$(CUBIT_CLT_OBJS)) - $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) - -######## -# Sanity check builds by running basic functionality tests. -# -# "sleep 5" in the server startup is usually enough to get the -# objref into the file so the client can read it. -# -check: $(TESTS) - @echo "testing with 'cube' calls, stub + DII, IOR strings" - @./svr -i30 -o non-internet > obj.1 & sleep 5 - @./clnt -n250 -O `cat obj.1` -x - @echo '' - @echo "testing request forwarding with 'cube' calls, stub + DII" - @./svr -f -i30 > obj.2 & sleep 5 - @./clnt -n250 -O `cat obj.2` -x - @echo '' - @echo "testing transmission of primitive data types" - @./test1_svr -i30 > obj.3 & sleep 5 - @./test1_clnt -n50 -O `cat obj.3` -x - @echo '' -# @echo "testing echo of primitive data values" -# @./echo_svr -i30 > obj.4 & sleep 5 -# @./echo_clnt -O `cat obj.4` -x -# @echo '' - @echo "testing with 'cube' calls, MT-ized (no forwarding)" - @./svr -t -i30 -o non-internet > obj.5 & sleep 5 - @./clnt -n250 -O `cat obj.5` -x - @echo '' - -realclean: - -$(RM) *.o cubit.cpp cubit.h cubit_s.cpp cubit_s.h $(CUBIT_SVR_OBJS) $(CUBIT_CLT_OBJS) $(BIN) core - diff --git a/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/README b/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/README deleted file mode 100644 index 7e3219a7d4c..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/README +++ /dev/null @@ -1,54 +0,0 @@ -This is the cubit example that uses the CORBAplus IDL compiler to generate -the stubs and skeletons. Additional features include presence of a -factory to create Cubit objects. - -You can either run the server in the background in the same window as -the client or open a separate window for the client and server. - -server: -------- - -% svr [-d] [-n <number-of-cubit-objects>] [-pbtrace] - -The server cubit factory maintained num_of_cubit objects (default = -1). They are assigned keys that look like "key0", "key1", ... - -When the server is started and you have used the -d flag, you should -see a line of output that looks something like: -XpsIiopServerProfileFactory::XpsIiopServerProfileFactory() : new tcp server listening at port 45372 - -Using -d turns on debugging messages. It is additive, i.e., the more --d options provided, the more debugging you can get. At the moment, -only 2 levels of debugging are implemented, and more than 2 -d options -are ignored. - -NOTE: - -0. $PBHOME is the directory where CORBAplus is installed. - -1. Set the appropriate environment variables for CORBAplus to work. Look at the example script at -$PBHOME/.cshrc_pb You can append this script to your .cshrc.mine file assuming you run a csh shell. -You can also execute it, like: - - source $PBHOME/.cshrc_pb - -2. Make sure the CORBAplus BOA server is running, before trying to run the server example. - - To run the BOA server execute: - - $PBHOME/bin/pbboad -pbtrace - -client: -------- - -% clnt [-d] [-k <cubit key>] [-n <iterations>] -pbinit Cubit_Factory iiop://<host>:<port>/cubit_factory - - where - <host> is the machine where the server is running. - <port> is the port number that was displayed when the server was run. See example output above. - -<cubit_key> corresponds to "key0", "key1", ... - -<iterations> are the number of times you want to execute a call. - --d : see same option for server above.
\ No newline at end of file diff --git a/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/clnt.cpp b/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/clnt.cpp deleted file mode 100644 index a6f07896f86..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/clnt.cpp +++ /dev/null @@ -1,727 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/tests/Cubit/CORBAplus/IDL_Cubit -// -// = FILENAME -// clnt.cpp -// -// = DESCRIPTION -// This class implements a simple "cube" CORBA client for the Cubit -// example using stubs generated by the CORBAplus ORB IDL compiler. -// -// = AUTHORS -// Andy Gokhale, Sumedh Mungee, and Sergio Flores-Gaitan -// -// ============================================================================ - -#include "pbroker/pberr.h" -//#include <pbroker/corba/ifr/ifrc.h> -#include "ace/Profile_Timer.h" -#include "clnt.h" - -ACE_RCSID(IDL_Cubit, clnt, "$Id$") - -int _debug_level = 1; - -// Constructor. - -Cubit_Client::Cubit_Client (void) - : cubit_factory_key_ ("cubit_factory"), - cubit_key_ ("key0"), - hostname_ (ACE_DEFAULT_SERVER_HOST), - portnum_ (ACE_DEFAULT_SERVER_PORT), - loop_count_ (250), - exit_later_ (0), - factory_ (Cubit_Factory::_nil ()), - objref_ (CORBA::Object::_nil ()), - cubit_ (Cubit::_nil ()), - orb_ptr_ (0), - call_count_ (0), - error_count_ (0) -{ -} - -// Simple function that returns the substraction of 117 from the -// parameter. - -int -Cubit_Client::func (u_int i) -{ - return i - 117; -} - -// Parses the command line arguments and returns an error status. - -int -Cubit_Client::parse_args (void) -{ - ACE_Get_Opt get_opts (argc_, argv_, "dn:k:xp:"); - int c; - - while ((c = get_opts ()) != -1) - switch (c) - { - case 'd': // debug flag - _debug_level++; - break; - case 'n': // loop count - loop_count_ = (u_int) ACE_OS::atoi (get_opts.optarg); - break; - case 'h': - hostname_ = ACE_OS::strdup (get_opts.optarg); - break; - case 'p': - portnum_ = ACE_OS::atoi (get_opts.optarg); - break; - case 'k': // stringified objref - cubit_key_ = ACE_OS::strdup (get_opts.optarg); - break; - case 'x': - this->exit_later_++; - break; - case '?': - default: - ACE_ERROR_RETURN ((LM_ERROR, - "usage: %s" - " [-d]" - " [-n loopcount]" - " [-k cubit-obj-ref-key]" - " [-x]" - " [-pbtrace]" - " -pbinit Cubit_Factory <Object_Reference>" - "\n", - this->argv_ [0]), - -1); - } - - // Indicates successful parsing of command line. - return 0; -} - -// Exercise the union. Cube a union. - -void -Cubit_Client::cube_union_stub (void) -{ - CORBA::Environment env; - Cubit::oneof u, r; - - this->call_count_++; - - u.l (3); // use the long union branch - - // Cube a "union" ... - // @@ Put exception handling here !!! - r = this->cubit_->cube_union (u); - - if (this->env_.exception () != 0) - { - // this->env_.print_exception ("from cube_union"); - this->error_count_++; - } - else - { - dmsg1 ((LM_DEBUG, "cube union ...\n")); - u.l (u.l () * u.l () * u.l ()) ; - - if (u.l () != r.l ()) - { - ACE_DEBUG ((LM_DEBUG, "** cube_union ERROR\n")); - this->error_count_++; - } - - } - - this->call_count_++; - - u._d (Cubit::e_3rd); -#if 0 - u.cm ().l = this->func (i); - u.cm ().s = this->func (i); - u.cm ().o = this->func (i); -#endif - - u.cm ().l = 7; - u.cm ().s = 5; - u.cm ().o = 3; - - // Cube another "union" which uses the default arm ... NOT tested yet - r = this->cubit_->cube_union (u); -//, this->env_); @@ put exception handling here !! - - if (this->env_.exception () != 0) - { - // this->env_.print_exception ("from cube_union"); - this->error_count_++; - } - else - { - dmsg1 ((LM_DEBUG, "cube union ...\n")); - u.cm ().l = u.cm ().l * u.cm ().l * u.cm ().l; - u.cm ().s = u.cm ().s * u.cm ().s * u.cm ().s; - u.cm ().o = u.cm ().o * u.cm ().o * u.cm ().o; - - if (u.cm ().l != r.cm ().l - || u.cm ().s != r.cm ().s - || u.cm ().o != r.cm ().o) - { - ACE_DEBUG ((LM_DEBUG, "** cube_union ERROR\n")); - this->error_count_++; - } - } -} - -// Exercise the union using dii. - -void -Cubit_Client::cube_union_dii (void) -{ - // Create the request ... - CORBA::Request_ptr req; - - this->call_count_++; - - req = this->cubit_->_request ((CORBA::String) "cube_union"); - //, this->env_); @@ put exception handling here !! - - if (this->env_.exception () != 0) - { - this->error_count_++; - - // this->env_.print_exception ("cube_union_dii request create"); - return; - } - - // ... initialise the argument list and result ... - Cubit::oneof *u, r; - - u = new Cubit::oneof; - u->_d (Cubit::e_3rd); - - u->cm ().l = 5; - u->cm ().s = -7; - u->cm ().o = 3; - - CORBA::Any tmp_arg (Cubit::_tc_oneof, u, CORBA_FALSE); - - req->arguments ()->add_value ("values", tmp_arg, CORBA::ARG_IN); - //, this->env_); @@ put exception handling here !! - - if (this->env_.exception () != 0) - { - this->error_count_++; - // this->env_.print_exception ("cube_union_dii request arg add"); - CORBA::release (req); - return; - } - - req->result ()->value ()->replace (Cubit::_tc_oneof, 0, CORBA_TRUE); - //, this->env_); @@ put exception handling here !! - - if (this->env_.exception () != 0) - { - this->error_count_++; - // this->env_.print_exception ("cube_union_dii result type"); - CORBA::release (req); - return; - } - - // Make the invocation, verify the result. - - req->invoke (); - - if (req->env ()->exception () != 0) - { - this->error_count_++; - // req->env ()->print_exception ("cube_union_dii invoke"); - CORBA::release (req); - return; - } - - r = *(Cubit::oneof *) req->result ()->value ()->value (); - - if (r.cm ().o != 27 || r.cm ().l != 125 || r.cm ().s != -343) - { - this->error_count_++; - ACE_ERROR ((LM_ERROR, "cube_union_dii -- bad results\n")); - } - else - dmsg1 ((LM_DEBUG, "cube_union_dii ... success!!\n")); - - CORBA::release (req); - delete u; -} - -// Cube a short. - -void -Cubit_Client::cube_short (int i) -{ - CORBA::Short arg_short = this->func (i); - // Cube a short. - CORBA::Short ret_short = cubit_->cube_short (arg_short); - //, this->env_); @@ put exception handling here !! - - this->call_count_++; - - if (this->env_.exception () != 0) - { - // this->env_.print_exception ("from cube_short"); - this->error_count_++; - } - else - { - dmsg2 ((LM_DEBUG, "cube short: %d --> %d\n", - arg_short, - ret_short)); - - arg_short = arg_short * arg_short * arg_short; - - if (arg_short != ret_short) - { - ACE_ERROR ((LM_ERROR, "** cube_short (%d) ERROR (--> %d)\n", - (CORBA::Short) this->func (i), - ret_short)); - this->error_count_++; - } - } -} - -// Cube an octet - -void -Cubit_Client::cube_octet (int i) -{ - CORBA::Octet arg_octet = this->func (i); - - // Cube an octet. - CORBA::Octet ret_octet = this->cubit_->cube_octet (arg_octet); - //, this->env_); @@ put exception handling here !! - - this->call_count_++; - - if (this->env_.exception () != 0) - { - // this->env_.print_exception ("from cube_octet"); - this->error_count_++; - } - else - { - dmsg2 ((LM_DEBUG, "cube octet: %d --> %d\n", - arg_octet, - ret_octet)); - arg_octet = arg_octet * arg_octet * arg_octet; - if (arg_octet != ret_octet) { - ACE_DEBUG ((LM_DEBUG, - "** cube_octet (%d) ERROR (--> %d)\n", - (CORBA::Octet) this->func (i), - ret_octet)); - this->error_count_++; - } - } -} - -// calculate the cube from a long - -void -Cubit_Client::cube_long (int i) -{ - CORBA::Long arg_long = this->func (i); - - // Cube a long. - CORBA::Long ret_long = this->cubit_->cube_long (arg_long); - //, this->env_);; @@ put exception handling here !! - - this->call_count_++; - - if (this->env_.exception () != 0) - { - // this->env_.print_exception ("from cube_long"); - this->error_count_++; - } - else - { - dmsg2 ((LM_DEBUG, "cube long: %d --> %d\n", - arg_long, - ret_long)); - arg_long = arg_long * arg_long * arg_long; - if (arg_long != ret_long) { - ACE_ERROR ((LM_ERROR, - "** cube_long (%ld) ERROR (--> %ld)\n", - (CORBA::Long) this->func (i), - ret_long)); - this->error_count_++; - } - } -} - -// Cube the numbers in a struct - -void -Cubit_Client::cube_struct (int i) -{ - Cubit::Many arg_struct; - Cubit::Many ret_struct; - - this->call_count_++; - - arg_struct.l = this->func (i); - arg_struct.s = this->func (i); - arg_struct.o = this->func (i); - - // Cube a "struct" ... - ret_struct = this->cubit_->cube_struct (arg_struct); - //, this->env_); @@ put exception handling here !! - - if (this->env_.exception () != 0) - { - // this->env_.print_exception ("from cube_struct"); - this->error_count_++; - } - else - { - dmsg1 ((LM_DEBUG, "cube struct ...\n")); - arg_struct.l = arg_struct.l * arg_struct.l * arg_struct.l; - arg_struct.s = arg_struct.s * arg_struct.s * arg_struct.s; - arg_struct.o = arg_struct.o * arg_struct.o * arg_struct.o; - - if (arg_struct.l != ret_struct.l - || arg_struct.s != ret_struct.s - || arg_struct.o != ret_struct.o) - { - ACE_ERROR ((LM_ERROR, "** cube_struct ERROR\n")); - this->error_count_++; - } - } -} - -// Cube the numbers in a struct - -void -Cubit_Client::cube_struct_dii (void) -{ - // Create the request ... - CORBA::Request_ptr req = - this->cubit_->_request ((CORBA::String) "cube_struct"); - //, this->env_); @@ put exception handling here !! - - this->call_count_++; - - if (this->env_.exception () != 0) - { - // this->env_.print_exception ("DII request create"); - return; - } - - // ... initialise the argument list and result ... - Cubit::Many arg; - Cubit::Many result; - - arg.o = 3; - arg.l = 5; - arg.s = -7; - - CORBA::Any tmp_arg (Cubit::_tc_Many, &arg, CORBA_FALSE); - - req->arguments ()->add_value ("values", tmp_arg, CORBA::ARG_IN); - //, this->env_); @@ put exception handling here !! - - if (this->env_.exception () != 0) - { - // this->env_.print_exception ("DII request arg add"); - CORBA::release (req); - return; - } - - req->result ()->value ()->replace (Cubit::_tc_Many, 0, CORBA_TRUE); - //, this->env_); @@ put exception handling here !! - - if (this->env_.exception () != 0) - { - // this->env_.print_exception ("DII request result type"); - CORBA::release (req); - return; - } - - // Make the invocation, verify the result - - req->invoke (); - - if (req->env ()->exception () != 0) - { - // req->env ()->print_exception ("DII invoke sending struct"); - CORBA::release (req); - return; - } - - result = *(Cubit::Many *) req->result ()->value ()->value (); - - if (result.o != 27 || result.l != 125 || result.s != -343) - ACE_ERROR ((LM_ERROR, "DII cube_struct -- bad results\n")); - else - dmsg1 ((LM_DEBUG, "DII cube_struct ... success!!\n")); - - CORBA::release (req); -} - -void -Cubit_Client::print_stats (const char *call_name, ACE_Profile_Timer::ACE_Elapsed_Time &elapsed_time) -{ - double tmp; - - ACE_DEBUG ((LM_DEBUG, - "%s:\n", - call_name)); - - if (this->call_count_ > 0 && this->error_count_ == 0) - { - tmp = 1000 / elapsed_time.real_time; - - elapsed_time.real_time *= ACE_ONE_SECOND_IN_MSECS; - elapsed_time.user_time *= ACE_ONE_SECOND_IN_MSECS; - elapsed_time.system_time *= ACE_ONE_SECOND_IN_MSECS; - - elapsed_time.real_time /= this->call_count_; - elapsed_time.user_time /= this->call_count_; - elapsed_time.system_time /= this->call_count_; - - tmp = 1000 / elapsed_time.real_time; - - ACE_DEBUG ((LM_DEBUG, - "\treal_time\t= %0.06f ms, \n\t" - "user_time\t= %0.06f ms, \n\t" - "system_time\t= %0.06f ms\n" - "\t%0.00f calls/second\n", - elapsed_time.real_time < 0.0? 0.0:elapsed_time.real_time, - elapsed_time.user_time < 0.0? 0.0:elapsed_time.user_time, - elapsed_time.system_time < 0.0? 0.0:elapsed_time.system_time, - tmp < 0.0? 0.0 : tmp)); - } - else - { - ACE_ERROR ((LM_ERROR, "\tNo time stats printed. Call count zero or error ocurred.\n")); - } - - ACE_DEBUG ((LM_DEBUG, - "\t%d calls, %d errors\n", - this->call_count_, - this->error_count_)); -} - -// Execute client example code. - -int -Cubit_Client::run (void) -{ - u_int i; - - ACE_Profile_Timer timer; - ACE_Profile_Timer::ACE_Elapsed_Time elapsed_time; - - // ACE_Time_Value before; - - // We start an ACE_Profile_Timer here... - timer.start (); - - // Make the calls in a loop. - for (i = 0; i < this->loop_count_; i++) - { - this->cube_short (i); - this->cube_octet (i); - this->cube_long (i); - this->cube_struct (i); - } - - // stop the timer. - timer.stop (); - - timer.elapsed_time (elapsed_time); - // compute call average call time. - this->print_stats ("cube average call", elapsed_time); - - -#if 0 // cube_struct_dii() is not enabled for now in this test - - // Simple test for DII: call "cube_struct". (It's not timed since - // the copious mallocation of DII would bias numbers against typical - // stub-based calls). - - timer.start (); - - this->call_count_ = 0; - this->error_count_ = 0; - // Make the calls in a loop. - for (i = 0; i < this->loop_count_; i++) - { - this->cube_struct_dii (); - } - timer.stop (); - - timer.elapsed_time (elapsed_time); - // compute call average call time. - this->print_stats ("cube_struct_dii call", elapsed_time); - -#endif /* DII test not enabled for now */ - - // ------------------> - // Two more tests, using the "cube_union" function - - // unions using stubs - timer.start (); - - this->call_count_ = 0; - this->error_count_ = 0; - // Make the calls in a loop. - for (i = 0; i < this->loop_count_; i++) - { - this->cube_union_stub (); - } - - timer.stop (); - - timer.elapsed_time (elapsed_time); - // compute call average call time. - this->print_stats ("cube_union_stub call", elapsed_time); - -#if 0 // cube_union_dii() is not enabled for now in this test - // union DII - timer.start (); - - this->call_count_ = 0; - this->error_count_ = 0; - // Make the calls in a loop. - for (i = 0; i < this->loop_count_; i++) - { - this->cube_union_dii (); - } - - timer.stop (); - - timer.elapsed_time (elapsed_time); - // compute call average call time. - this->print_stats ("cube_union_dii call", elapsed_time); -#endif /* cube_union_dii test not enabled for now */ - - if (this->exit_later_) - { - this->cubit_->please_exit (); - //this->env_); @@ put exception handling here !! - //dexc (this->env_, "server, please ACE_OS::exit"); - } - - return this->error_count_ == 0 ? 0 : 1; -} - -Cubit_Client::~Cubit_Client (void) -{ - // Free resources - CORBA::release (this->orb_ptr_); - CORBA::release (this->objref_); - CORBA::release (this->factory_); - CORBA::release (this->cubit_); -} - -int -Cubit_Client::init (int argc, char **argv) -{ - this->argc_ = argc; - this->argv_ = argv; - - int check = 0; - - try { - // Parse command line and verify parameters. - if (this->parse_args () == -1) - return -1; - - // Retrieve the ORB. - this->orb_ptr_ = CORBA::ORB_init (this->argc_, - this->argv_); - - // @@ put exception handling here !! - - if (this->env_.exception () != 0) - { - // this->env_.print_exception ("ORB initialization"); - return -1; - } - - // Retrieve a factory objref. - this->objref_ = this->orb_ptr_->resolve_initial_references ("Cubit_Factory"); - // @@ put exception handling here !! - - if (this->env_.exception () != 0) - { - // this->env_.print_exception ("Cubit_Factory::_bind"); - return -1; - } - - if (CORBA::is_nil (this->objref_) == CORBA_TRUE) - ACE_ERROR_RETURN ((LM_ERROR, - "resolve_initial_references returned null object for Cubit_Factory\n"), - -1); - - // Narrow the CORBA::Object reference to the stub object - this->factory_ = Cubit_Factory::_narrow (this->objref_); - - //, this->env_); @@ put exception handling here !! - - CORBA::release (this->objref_); - - if (this->factory_ == 0) - ACE_ERROR_RETURN ((LM_ERROR, - " (%P|%t) Unable to narrow object reference to a Cubit_Factory_ptr.\n"), - -1); - - // Now retrieve the Cubit obj ref corresponding to the key. - this->cubit_ = this->factory_->make_cubit (this->cubit_key_); - //, this->env_); @@ put exception handling here !! - - if (this->env_.exception () != 0) - { - // this->env_.print_exception ("string2object"); - return -1; - } - - if (CORBA::is_nil (this->cubit_)) - ACE_ERROR_RETURN ((LM_ERROR, - "null cubit objref returned by factory\n"), - -1); - } - catch(const CORBA::SystemException& exc) - { - ACE_DEBUG ((LM_DEBUG, - "CORBA::SystemException caught: %s (minor: %d): clnt.cpp\n\n", - exc._repository_id (), - exc.minor ())); - } - catch(const CORBA::UserException& exc) - { - ACE_DEBUG ((LM_DEBUG, - "CORBA::UserException caught: %s: clnt.cpp\n\n", - exc._repository_id ())); - } - catch(...) - { - ACE_DEBUG ((LM_DEBUG, - "Exception caught: clnt.cpp\n\n")); - } - - return 0; -} - -// This function runs the test. - -int -main (int argc, char **argv) -{ - Cubit_Client cubit_client; - - if (cubit_client.init (argc, argv) == -1) - return 1; - else - return cubit_client.run (); -} diff --git a/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/clnt.h b/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/clnt.h deleted file mode 100644 index cf6e3187228..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/clnt.h +++ /dev/null @@ -1,140 +0,0 @@ -// $Id$ -// -*- C++ -*- -// ============================================================================ -// -// = LIBRARY -// TAO/tests/Cubit/CORBAplus/IDL_Cubit -// -// = FILENAME -// clnt.h -// -// = DESCRIPTION -// This class implements a simple "cube" CORBA client for the Cubit -// example using stubs generated by the TAO ORB IDL compiler. -// -// = AUTHORS -// Andy Gokhale, Sumedh Mungee, and Sergio Flores-Gaitan -// -// ============================================================================ -#ifndef _CLNT_H_ -#define _CLNT_H_ - -#include "ace/Get_Opt.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "pbroker/corba/orb.h" -#include "pbroker/corba/request.h" -#include "pbroker/corba/environ.h" -#include "cubit.h" - -class Cubit_Client - // = TITLE - // Defines a class that encapsulates behaviour of the Cubit client - // example. Provides a better understanding of the logic in an - // object oriented way. - // - // = DESCRIPTION - // This class declares an interface to run the example client for - // Cubit CORBA server. All the complexity for initializing the - // server is hidden in the class. Just the run() interface is needed. -{ - public: - // = Constructor and destructor. - Cubit_Client (void); - ~Cubit_Client (void); - - int run (void); - // Execute client example code. - - int init (int argc, char **argv); - // Initialize the client communication endpoint with server. - -private: - int func (u_int i); - // simple function that returns the substraction of 117 from the parameter. - - int parse_args (void); - // Parses the arguments passed on the command line. - - void print_stats (const char *call_name, ACE_Profile_Timer::ACE_Elapsed_Time &elapsed_time); - // prints the time stats - - void cube_union_stub (void); - // Exercise the union. Cube a union. - - void cube_union_dii (void); - // Exercise the union using dii. - - void cube_struct (int i); - // calculate the cube from a struct. - - void cube_long (int i); - // calculate the cube from a long - - void cube_octet (int i); - // Cube an octet - - void cube_short (int i); - // Cube a short. - - void cube_struct_dii (void); - // Cube the numbers in a struct - - int argc_; - // # of arguments on the command line. - - char **argv_; - // arguments from command line. - - const char *cubit_factory_key_; - // Key of factory obj ref. - - char *cubit_key_; - // Key of the obj ref to be retrieved via the factory. - - char *hostname_; - // Hostname of server. - - CORBA::ULong portnum_; - // default port number of server. - - u_int loop_count_; - // Number of times to do the cube operations. - - int exit_later_; - // Flag to tell server to not exit immediately - - Cubit_Factory_ptr factory_; - // factory pointer for cubit. - - CORBA::Object_ptr objref_; - // storage of the factory objref - - CORBA::Environment env_; - // Environment variable - - Cubit_ptr cubit_; - // Cubit obj ref - - CORBA::ORB_ptr orb_ptr_; - // Remember our orb - - u_int call_count_; - // # of calls made to functions - - u_int error_count_; - // # of errors incurred in the lifetime of the application. -}; - -#if defined (DEBUG) -#define dmsg1(X) { if (_debug_level > 0) ACE_DEBUG (X); } -#define dmsg2(X) { if (_debug_level > 1) ACE_DEBUG (X); } -#else -#define dmsg1(X) { } -#define dmsg2(X) { } -#endif /* DEBUG */ - -#endif /* _CLNT_H_ */ diff --git a/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/cubit.idl b/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/cubit.idl deleted file mode 100644 index 9ddc2d8954f..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/cubit.idl +++ /dev/null @@ -1,71 +0,0 @@ -// $Id$ - -interface Cubit - // = TITLE - // Defines an interface that encapsulates operations that cube - // numbers. - // - // = DESCRIPTION - // This interface encapsulates operations that cube - // octets, shorts, longs, structs and unions. - -{ - octet cube_octet (in octet o); - // cube an octet - - short cube_short (in short s); - // cube a short - - long cube_long (in long l); - // cube a long - - struct Many - { - octet o; // + 3 bytes padding (normally) ... - long l; - short s; // + 2 bytes padding (normally) ... - }; - - Many cube_struct (in Many values); - // Cube a struct - - enum discrim - { - e_0th, - e_1st, - e_2nd, - e_3rd - }; - // Enumeration of the different elements in a union. - - union oneof switch (discrim) - { - // this is an easy union to interpret; no padding - // is needed between discriminant and value. - case e_0th: - octet o; - case e_1st: - short s; - case e_2nd: - long l; - case e_3rd: - Many cm; - - // default: - // Many cm; - }; - // Union of different types. - - oneof cube_union (in oneof values); - // cube a union. - - oneway void please_exit (); - // shutdown the application. -}; - -interface Cubit_Factory - // = TITLE - // Creates Cubit objects -{ - Cubit make_cubit (in string key); -}; diff --git a/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/cubit_i.cpp b/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/cubit_i.cpp deleted file mode 100644 index 2eb422b10f8..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/cubit_i.cpp +++ /dev/null @@ -1,174 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/tests/Cubit/CORBAplus/IDL_Cubit -// -// = FILENAME -// cubit_i.cpp -// -// = AUTHOR -// Sergio Flores-Gaitan -// -// ============================================================================ - -#include "pbroker/corba/orb.h" -#include "pbroker/corba/environ.h" -#include <pbroker/corba/xpsboa.h> -#include <pbroker/corba/lifecycl/impldecl.h> -#include "cubit_i.h" - -ACE_RCSID(IDL_Cubit, cubit_i, "$Id$") - -// Declare the Implementation -XPS_DECLARE_IMPLEMENTATION_ID(Cubit_Factory_iId,"Cubit_Factory_iId") -XPS_DECLARE_IMPLEMENTATION(Cubit_Factory_decl,Cubit_Factory_iId,Cubit_Factory) - -// Declare the associated activator, -XPS_DECLARE_DEFAULT_ACTIVATOR(Cubit_Factory_decl,Cubit_FactoryDefActivator,Cubit_Factory,Cubit_Factory_i) - -XPS_CAST1_IMPL(Cubit_Factory_i,Cubit_Factory_base_impl) - -// Constructor - -Cubit_Factory_i::Cubit_Factory_i (const char *key, int numobjs) - :numobjs_ (numobjs) -{ - // Create implementation object with user specified key. - this->my_cubit_ = new Cubit_i_ptr [this->numobjs_]; - - static char obj_str [MAXNAMELEN]; - - for (u_int i = 0; i < this->numobjs_; i++) - { - ACE_OS::memset (obj_str, '\0', MAXNAMELEN); - ACE_OS::sprintf (obj_str, "key%d", i); - - my_cubit_[i] = new Cubit_i (obj_str); - - if (my_cubit_[i] == 0) - ACE_ERROR ((LM_ERROR, - " (%P|%t) Unable to create implementation object%d\n", - i)); - } -} - -// Destructor - -Cubit_Factory_i::~Cubit_Factory_i (void) -{ - ACE_DEBUG ((LM_DEBUG, "~~~ in destructor ~Cubit_Factory_i()\n")); - delete [] this->my_cubit_; -} - -Cubit_ptr -Cubit_Factory_i::make_cubit (const char *key) -{ - CORBA_Environment env; - - for (size_t i = 0; i < this->numobjs_; i++) - { - const char *obj_str = this->my_cubit_[i]->_get_name (); - - // Keys matched. - if (!ACE_OS::strcmp (obj_str, key)) - return Cubit::_duplicate (this->my_cubit_ [i]); - } - - return Cubit::_nil (); -} - -// Constructor - -Cubit_i::Cubit_i (const char *obj_name) - : key_(obj_name) -{ -} - -const char * -Cubit_i::_get_name (void) -{ - return key_; -} - -// Destructor - -Cubit_i::~Cubit_i (void) -{ -} - -// Cube an octet - -CORBA::Octet -Cubit_i::cube_octet (CORBA::Octet o) -{ - return o * o * o; -} - -// Cube a short. - -CORBA::Short -Cubit_i::cube_short (CORBA::Short s) -{ - return s * s * s; -} - -// Cube a long - -CORBA::Long -Cubit_i::cube_long (CORBA::Long l) -{ - return l * l * l; -} - -// Cube a struct - -Cubit::Many -Cubit_i::cube_struct (const Cubit::Many &values) -{ - Cubit::Many temp; - - temp.o = values.o * values.o * values.o; - temp.s = values.s * values.s * values.s; - temp.l = values.l * values.l * values.l; - - return temp; -} - -// Cube a union - -Cubit::oneof -Cubit_i::cube_union (const Cubit::oneof &values) -{ - Cubit::oneof temp; - - switch (values._d ()) - { - case e_0th: - temp.o (values.o () * values.o () * values.o ()); - break; - case e_1st: - temp.s (values.s () * values.s () * values.s ()); - break; - case e_2nd: - temp.l (values.l () * values.l () * values.l ()); - break; - case e_3rd: - default: - temp._d (values._d ()); // set the discriminant - // use the read/write accessor - temp.cm ().o = values.cm ().o * values.cm ().o * values.cm ().o; - temp.cm ().s = values.cm ().s * values.cm ().s * values.cm ().s; - temp.cm ().l = values.cm ().l * values.cm ().l * values.cm ().l; - - } - return temp; -} - -// Shutdown. - -void Cubit_i::please_exit (void) -{ - ACE_DEBUG ((LM_DEBUG, "I've been asked to shut down...\n")); -} diff --git a/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/cubit_i.h b/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/cubit_i.h deleted file mode 100644 index b1b21e9deeb..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/cubit_i.h +++ /dev/null @@ -1,112 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/tests/Cubit/CORBAplus/IDL_Cubit -// -// = FILENAME -// cubit_i.h -// -// = AUTHOR -// Andy Gokhale, Sumedh Mungee and Sergio Flores-Gaitan -// -// ============================================================================ - -#ifndef _CUBIT_I_HH -#define _CUBIT_I_HH - -#include <pbroker/corba/lifecycl/actvtr.h> -#include <pbroker/corba/lifecycl/impldecl.h> - -#include "ace/OS.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "cubit_s.h" - -// Forward declarations -class Cubit_i; - -// Typedefs. -typedef Cubit_i *Cubit_i_ptr; -typedef Cubit_i_ptr Cubit_i_ref; - -class Cubit_i : public Cubit_base_impl - // = TITLE - // Illustrates how to integrate a servant with the - // generated skeleton. - // = DESCRIPTION - // Implementation of the cubit example at the servant side. - // Cubes an octet, short, long, struct and union. -{ -public: - Cubit_i (const char *obj_name = 0); - // Constructor - - ~Cubit_i (void); - // Destructor - - virtual CORBA::Octet cube_octet (CORBA::Octet o); - // Cube an octet - - virtual CORBA::Short cube_short (CORBA::Short s); - // Cube a short - - virtual CORBA::Long cube_long (CORBA::Long l); - // Cube a long - - virtual Cubit::Many cube_struct (const Cubit::Many &values); - // Cube a struct. - - virtual Cubit::oneof cube_union (const Cubit::oneof &values); - // Cube a union. - - virtual void please_exit (void); - // Shutdown routine. - - const char *_get_name (void); - // get the key of the object. - private: - const char *key_; -}; - - -class Cubit_Factory_i; - -typedef Cubit_Factory_i *Cubit_Factory_i_ptr; - -class Cubit_Factory_i: public Cubit_Factory_base_impl - // =TITLE - // Cubit_Factory_i - // - // DESCRIPTION - // factory object returning the cubit objrefs -{ -public: - XPS_CAST1_DECL(Cubit_Factory_i,Cubit_Factory_base_impl) - XPS_DEFINE_IMPLEMENTATION(Cubit_Factory_decl) - - Cubit_Factory_i (void) - {Cubit_Factory_i ("keyone", 1);} - - Cubit_Factory_i (const CORBA_ReferenceData & refData) - {Cubit_Factory_i ("keyone", 1);} - - Cubit_Factory_i (const char *key, int numobjs); - // constructor - - ~Cubit_Factory_i (void); - // destructor - - virtual Cubit_ptr make_cubit (const char *key); - // make the cubit object whose key is "key" - -private: - Cubit_i_ptr *my_cubit_; - u_int numobjs_; -}; - -#endif /* _CUBIT_I_HH */ diff --git a/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/svr.cpp b/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/svr.cpp deleted file mode 100644 index 5b66fc448ca..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/IDL_Cubit/svr.cpp +++ /dev/null @@ -1,143 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/tests/Cubit/CORBAplus/IDL_Cubit -// -// = FILENAME -// svr.cpp -// -// = AUTHOR -// Andy Gokhale, Sumedh Mungee and Sergio Flores-Gaitan -// -// ============================================================================ - -#include "ace/Get_Opt.h" -#include "ace/Log_Msg.h" -#include "pbroker/corba/orb.h" -#include "pbroker/corba/environ.h" -#include "pbroker/pberr.h" -#include <pbroker/corba/xpsorb.h> -#include <pbroker/corba/xpsboa.h> -#include "pbroker/corba/boad/boafull.h" // will force usage of "Full" BOA API - -#include <pbroker/unixsvc/unixsvc.h> - -#include "cubit_i.h" - -ACE_RCSID(IDL_Cubit, svr, "$Id$") - -// Global Variables -static int num_of_objs = 1; -static pbbool killSelf = pbfalse; - -// Declare the server activation policy -XPS_DECLARE_SERVER(Cubit_Factory,"Cubit_Factory",SHARED_SERVER) - -// Parses the command line arguments and returns an error status - -static int -parse_args (int argc, char *argv[]) -{ - ACE_Get_Opt get_opts (argc, argv, "dn:"); - int c; - - while ((c = get_opts ()) != -1) - switch (c) - { - case 'd': // debug flag - break; - case 'n': // number of cubit objects we hold - num_of_objs = ACE_OS::atoi (get_opts.optarg); - break; - case '?': - default: - ACE_ERROR_RETURN ((LM_ERROR, - "usage: %s" - " [-d]" - " [-n] <num of cubit objects>" - "\n", argv [0]), 1); - } - - return 0; // Indicates successful parsing of command line -} - -// Standard command line parsing utilities used. - -int -main (int argc, char *argv[]) -{ - CORBA_Environment env; - // char *orb_name = "internet"; - - XpsORB_ptr orb_ptr = XpsORB::_nil(); - XpsBOA * oa_ptr = XpsBOA::_nil (); - CORBA_Object_ptr obj_ptr = CORBA_Object::_nil(); - - try - { - // Initialize the ORB pointer - orb_ptr = XpsORB::init (argc, argv); - - // Initialize the Object Adapter - oa_ptr = XpsBOA::init (argc, argv); - - if (CORBA::is_nil(orb_ptr) || CORBA::is_nil(oa_ptr)) - { - ACE_ERROR_RETURN ((LM_ERROR, - " (%P|%t) Unable to initialize the ORB and/or the BOA\n"), - 1); - } - - - // Parse remaining command line and verify parameters. - // parse_args (argc, argv); - - // create a factory implementation - Cubit_Factory_ptr factory; - - ACE_NEW_RETURN (factory, Cubit_Factory_i ("factory", num_of_objs), 1); - - // Stringify the objref we'll be implementing, and print it to - // stdout. Someone will take that string and give it to a - // client. Then release the object. - - CORBA::String str = 0; - - str = orb_ptr->object_to_url (factory); - - ACE_DEBUG ((LM_DEBUG, "listening as object '%s'\n", str)); - CORBA_string_free (str); - - oa_ptr->obj_is_ready (factory, nil); - oa_ptr->registerAlias (factory, "cubit_factory"); - - XpsEventService eventService; - eventService.mainloop(); // control will not return to this point - } - catch(const CORBA::SystemException& exc) - { - ACE_DEBUG ((LM_DEBUG, - "CORBA::SystemException caught: %s (minor: %d): svr.cpp\n\n", - exc._repository_id (), - exc.minor ())); - } - catch(const CORBA::UserException& exc) - { - ACE_DEBUG ((LM_DEBUG, - "CORBA::UserException caught: %s: svr.cpp\n\n", - exc._repository_id ())); - } - catch(...) - { - ACE_DEBUG ((LM_DEBUG, - "Exception caught: svr.cpp\n\n")); - } - - // Free resources - CORBA::release (oa_ptr); - CORBA::release (orb_ptr); - - return 0; -} diff --git a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/Makefile b/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/Makefile deleted file mode 100644 index edc6dd9d8f9..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -#---------------------------------------------------------------------------- -# $Id$ -# -# Makefile for the TAO MT-Cubit tests -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -DIRS = client \ - server - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU - diff --git a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/README b/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/README deleted file mode 100644 index a27939bd690..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/README +++ /dev/null @@ -1,58 +0,0 @@ -The MT-Cubit example --------------------- - -Compiling ---------- - -Makefiles are provided. Use make to compile. - -You can either run the server in the background in the same window as -the client or open a separate window for the client and server. - -server: -------- - -./svr -pbtrace - -port_num is the port number at which the server will start the high -priority servant. The low priority servant will be created at -(port_num+1). - -The server will print the IOR of the high and low priority servants, -but it is not required by the client. - -client: -------- - -./client -d <datatype> -n <num_calls> -t <num_threads> -pbtrace -pbinit Cubit iiop://<remoteHost>:<port>/Cubit00 - -<datatype> is one of the following: - -0 Octet -1 Short -2 Long -3 Struct of the above 3 types - -<port_num> is the port number of the high priority servant. The low -priority servant is assumed to be at (port_num+1). - -<server_hostname> is the hostname of the server. - -Based on the server_hostname and the port_num, the client constructs -the IOR's for the high priority servant and the low priority servant. - -<num_calls> is the number of CORBA twoway calls to be made - -<num_threads> is the total number of concurrent clients to be -created. One of these clients will be a high priority client (and thus -send requests to the high priority servant), and the rest will have -low priority. - -The high priority client makes requests at 20Hz, and the low priority -clients make requests at 10Hz. - -Results -------- - -The client prints the latency observed by the high priority client, -and the average latency observed by the low priority client. diff --git a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/client/Makefile b/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/client/Makefile deleted file mode 100644 index d6834f2d40a..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/client/Makefile +++ /dev/null @@ -1,141 +0,0 @@ -#---------------------------------------------------------------------------- -# $Id$ -# -# Top-level Makefile for the ACE-ified Sun Ref. implementation -# of IIOP ORB -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -LDLIBS = -lmtcorba -lmtunixsvc -lmtpbroker -lmtboadc -lmtnaming -lmtlifecycl -lmtfsstream - -IDL_SRC = cubit.cpp -PROG_SRCS = $(IDL_SRC) Task_Client.cpp client.cpp - -LSRC = $(PROG_SRCS) - -CUBIT_CLIENT_OBJS = cubit.o Task_Client.o client.o - -BIN = client -BUILD = $(BIN) -VLDLIBS = $(LDLIBS:%=%$(VAR)) -VBIN = $(BIN:%=%$(VAR)) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -#enable C++ exceptions -exceptions = 1 - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -#include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -LDFLAGS += -L$(PBHOME)/lib -CPPFLAGS += -I$(PBHOME)/include - -$(IDL_SRC): cubit.idl - $(PBHOME)/bin/idlc cubit.idl - -mv cubit.C cubit.cpp - -client: $(addprefix $(VDIR),$(CUBIT_CLIENT_OBJS)) - $(LINK.cc) $(LDFLAGS) -o $@ $^ $(PBHOME)/lib/mtiiop_s.o $(VLDLIBS) $(POSTLINK) - -realclean: clean - -$(RM) cubit.cpp cubit.h cubit_s.* - -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. - -.obj/cubit.o .shobj/cubit.: cubit.cpp -.obj/Task_Client.o .shobj/Task_Client.: Task_Client.cpp Task_Client.h \ - $(ACE_ROOT)/ace/Synch.h \ - $(ACE_ROOT)/ace/ACE.h \ - $(ACE_ROOT)/ace/OS.h \ - $(ACE_ROOT)/ace/config.h \ - $(ACE_ROOT)/ace/streams.h \ - $(ACE_ROOT)/ace/Basic_Types.h \ - $(ACE_ROOT)/ace/Basic_Types.i \ - $(ACE_ROOT)/ace/OS.i \ - $(ACE_ROOT)/ace/Trace.h \ - $(ACE_ROOT)/ace/Log_Msg.h \ - $(ACE_ROOT)/ace/Log_Record.h \ - $(ACE_ROOT)/ace/Log_Priority.h \ - $(ACE_ROOT)/ace/Log_Record.i \ - $(ACE_ROOT)/ace/Version.h \ - $(ACE_ROOT)/ace/ACE.i \ - $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \ - $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \ - $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \ - $(ACE_ROOT)/ace/Synch.i \ - $(ACE_ROOT)/ace/Synch_T.h \ - $(ACE_ROOT)/ace/Event_Handler.h \ - $(ACE_ROOT)/ace/Event_Handler.i \ - $(ACE_ROOT)/ace/Synch_T.i \ - $(ACE_ROOT)/ace/Thread.h \ - $(ACE_ROOT)/ace/Thread.i \ - $(ACE_ROOT)/ace/Atomic_Op.i \ - $(ACE_ROOT)/ace/Task.h \ - $(ACE_ROOT)/ace/Service_Object.h \ - $(ACE_ROOT)/ace/Shared_Object.h \ - $(ACE_ROOT)/ace/Shared_Object.i \ - $(ACE_ROOT)/ace/Service_Object.i \ - $(ACE_ROOT)/ace/Thread_Manager.h \ - $(ACE_ROOT)/ace/Containers.h \ - $(ACE_ROOT)/ace/Containers.i \ - $(ACE_ROOT)/ace/Thread_Manager.i \ - $(ACE_ROOT)/ace/Task.i \ - $(ACE_ROOT)/ace/Task_T.h \ - $(ACE_ROOT)/ace/Message_Queue.h \ - $(ACE_ROOT)/ace/Message_Block.h \ - $(ACE_ROOT)/ace/Malloc.h \ - $(ACE_ROOT)/ace/Malloc.i \ - $(ACE_ROOT)/ace/Malloc_T.h \ - $(ACE_ROOT)/ace/Free_List.h \ - $(ACE_ROOT)/ace/Free_List.i \ - $(ACE_ROOT)/ace/Malloc_T.i \ - $(ACE_ROOT)/ace/Memory_Pool.h \ - $(ACE_ROOT)/ace/Signal.h \ - $(ACE_ROOT)/ace/Signal.i \ - $(ACE_ROOT)/ace/Object_Manager.h \ - $(ACE_ROOT)/ace/Object_Manager.i \ - $(ACE_ROOT)/ace/Managed_Object.h \ - $(ACE_ROOT)/ace/Managed_Object.i \ - $(ACE_ROOT)/ace/Mem_Map.h \ - $(ACE_ROOT)/ace/Mem_Map.i \ - $(ACE_ROOT)/ace/Memory_Pool.i \ - $(ACE_ROOT)/ace/Message_Block.i \ - $(ACE_ROOT)/ace/IO_Cntl_Msg.h \ - $(ACE_ROOT)/ace/Strategies.h \ - $(ACE_ROOT)/ace/Strategies_T.h \ - $(ACE_ROOT)/ace/Service_Config.h \ - $(ACE_ROOT)/ace/Service_Config.i \ - $(ACE_ROOT)/ace/Reactor.h \ - $(ACE_ROOT)/ace/Handle_Set.h \ - $(ACE_ROOT)/ace/Handle_Set.i \ - $(ACE_ROOT)/ace/Timer_Queue.h \ - $(ACE_ROOT)/ace/Timer_Queue_T.h \ - $(ACE_ROOT)/ace/Timer_Queue_T.i \ - $(ACE_ROOT)/ace/Reactor.i \ - $(ACE_ROOT)/ace/Reactor_Impl.h \ - $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \ - $(ACE_ROOT)/ace/Synch_Options.h \ - $(ACE_ROOT)/ace/Hash_Map_Manager.h \ - $(ACE_ROOT)/ace/Message_Queue.i \ - $(ACE_ROOT)/ace/Task_T.i \ - $(ACE_ROOT)/ace/Get_Opt.h \ - $(ACE_ROOT)/ace/Get_Opt.i cubit.h \ - $(ACE_ROOT)/ace/Profile_Timer.h \ - $(ACE_ROOT)/ace/Time_Value.h \ - $(ACE_ROOT)/ace/High_Res_Timer.h \ - $(ACE_ROOT)/ace/High_Res_Timer.i \ - $(ACE_ROOT)/ace/Profile_Timer.i - -# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/client/Task_Client.cpp b/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/client/Task_Client.cpp deleted file mode 100644 index 4f5e72b36ad..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/client/Task_Client.cpp +++ /dev/null @@ -1,359 +0,0 @@ -// $Id$ - -#include "pbroker/corba/xpsorb.h" -#include "pbroker/corba/xpsboa.h" -#include "pbroker/corba/boad/boafull.h" // will force usage of "Full" BOA API -#include "Task_Client.h" - -ACE_RCSID(client, Task_Client, "$Id$") - -Task_State::Task_State (int argc, char **argv) - : start_count_ (0), - loop_count_ (5), - thread_count_ (5), - base_port_ (5000), - datatype_ (CB_OCTET), - argc_ (argc), - argv_ (argv) -{ - ACE_OS::strcpy (server_host_, "localhost"); - ACE_Get_Opt opts (argc, argv, "h:n:t:p:d:"); - int c; - int datatype; - - while ((c = opts ()) != -1) - switch (c) { - case 'd': - datatype = ACE_OS::atoi (opts.optarg); - switch (datatype) - { - case CB_OCTET: - ACE_DEBUG ((LM_DEBUG, "Testing Octets\n")); - datatype_ = CB_OCTET; - break; - case CB_LONG: - ACE_DEBUG ((LM_DEBUG, "Testing Longs\n")); - datatype_ = CB_LONG; - break; - case CB_STRUCT: - ACE_DEBUG ((LM_DEBUG, "Testing Structs\n")); - datatype_ = CB_STRUCT; - break; - case CB_SHORT: - default: - datatype_ = CB_SHORT; - ACE_DEBUG ((LM_DEBUG, "Testing Shorts\n")); - break; - } - continue; - case 'h': - ACE_OS::strcpy (server_host_, opts.optarg); - continue; - case 'p': - base_port_ = ACE_OS::atoi (opts.optarg); - continue; - case 'n': // loop count - loop_count_ = (unsigned) ACE_OS::atoi (opts.optarg); - continue; - case 't': - thread_count_ = (unsigned) ACE_OS::atoi (opts.optarg); - continue; - case '?': - default: - ACE_OS::fprintf (stderr, "usage: %s" - "[-d datatype Octet=0, Short=1, Long=2, Struct=3]" - " [-n num_calls]" - " [-h server_hostname]" - " [-p server_port_num]" - " [-t num_threads]" - "\n", argv [0] - ); - } - barrier_ = new ACE_Barrier (thread_count_); - latency_ = new double [thread_count_]; -} - -Client::Client (Task_State *ts) - : ACE_Task<ACE_MT_SYNCH> (ACE_Thread_Manager::instance ()), - ts_ (ts) -{ -} - -void -Client::put_latency (double latency, u_int thread_id) { - ts_->lock_.acquire (); - ts_->latency_[thread_id] = latency; - ACE_DEBUG ((LM_DEBUG, "(%t) My latency was %f\n", latency)); - ts_->lock_.release (); -} - -double -Client::get_high_priority_latency () { - return (double) ts_->latency_ [0]; -} - -double -Client::get_low_priority_latency () { - double l = 0; - for (u_int i = 1; i < ts_->start_count_; i++) - l += (double) ts_->latency_[i]; - return l / (double) (ts_->start_count_ - 1); -} - -int -Client::svc (void) -{ - ACE_DEBUG ((LM_DEBUG, "(%t) Thread created\n")); - u_int thread_id; - Cubit_ptr cb; - char ior [1024]; - double frequency; - XpsORB_ptr orb_ptr = XpsORB::_nil(); - // XpsBOA * oa_ptr = XpsBOA::_nil (); - //CORBA_Object_ptr obj_ptr = CORBA_Object::_nil(); - // CORBA::ORB_ptr orb_ptr; - try { - { - ACE_GUARD_RETURN (ACE_Thread_Mutex, ace_mon, ts_->lock_, -1); - - thread_id = ts_->start_count_; - ts_->start_count_++; - - if (thread_id == 0) - { - ACE_DEBUG ((LM_DEBUG, "(%t) Im the high priority client, my id is %d.\n", thread_id)); - ::sprintf (ior, "iiop:1.0//%s:%d/Cubit00", ts_->server_host_, ts_->base_port_); - frequency = CB_HIGH_PRIORITY_RATE; - } - else - { - ACE_DEBUG ((LM_DEBUG, "(%t) Im a low priority client, my id is %d\n", thread_id)); - ::sprintf (ior, "iiop:1.0//%s:%d/Cubit00", ts_->server_host_, ts_->base_port_ + 1); - frequency = CB_LOW_PRIORITY_RATE; - } - - ACE_DEBUG ((LM_DEBUG, "Using ior = %s\n", ior)); - - CORBA::Object_ptr objref = CORBA::Object::_nil (); - CORBA::Environment env; - - orb_ptr = XpsORB::init (ts_->argc_, ts_->argv_); - //orb_ptr = CORBA::ORB_init (ts_->argc_, ts_->argv_); - //if (env.exception () != 0) @@ put exception handling here !! - // ACE_ERROR_RETURN ((LM_ERROR,"%s:ORB initialization", env.exception ()), 2); - - // Retrieve a factory objref. - objref = orb_ptr->resolve_initial_references ("Cubit"); - - if (CORBA::is_nil (objref) == CORBA_TRUE) - ACE_ERROR_RETURN ((LM_ERROR, - "%s: must identify non-null target objref\n", - ts_->argv_ [0]), - 1); - - // Narrow the CORBA::Object reference to the stub object, checking - // the type along the way using _is_a. - cb = Cubit::_narrow (objref); - - if (cb == NULL) - { - ACE_ERROR_RETURN ((LM_ERROR, "Create cubit failed\n"), 1); - } - ACE_DEBUG ((LM_DEBUG, "(%t) Binding succeeded\n")); - ACE_DEBUG ((LM_DEBUG, "(%t) Cb == %x\n", cb)); - - CORBA::String str; - - str = orb_ptr->object_to_url (cb); - // - //ACE_ERROR_RETURN ((LM_ERROR, "object_to_string\n"), -1); - - ACE_OS::puts ((char *) str); - ACE_OS::fflush (stdout); - ACE_DEBUG ((LM_DEBUG, "Object Created at: '%ul'", cb)); - ACE_DEBUG ((LM_DEBUG, "connected to object '%s'", str)); - // if (cb->cube_short (2, env) == 8) // dummy call. - // ACE_DEBUG ((LM_DEBUG, "(%t) Made successful dummy call")); - } - - ACE_DEBUG ((LM_DEBUG, "(%t) Waiting for other threads to finish binding..\n")); - ts_->barrier_->wait (); - ACE_DEBUG ((LM_DEBUG, "(%t) Everyone's done, here I go!!\n")); - - this->run_tests (cb, ts_->loop_count_, thread_id, ts_->datatype_, frequency); - - // Free resources - CORBA::release (orb_ptr); - } - catch(const CORBA::SystemException& exc) - { - ACE_DEBUG ((LM_DEBUG, - "CORBA::SystemException caught: %s (minor: %d): client.cpp\n\n", - exc._repository_id (), - exc.minor ())); - } - catch(const CORBA::UserException& exc) - { - ACE_DEBUG ((LM_DEBUG, - "CORBA::UserException caught: %s: client.cpp\n\n", - exc._repository_id ())); - } - catch(...) - { - ACE_DEBUG ((LM_DEBUG, - "Exception caught: client.cpp\n\n")); - } - - return 0; -} - -int -Client::run_tests (Cubit_ptr cb, - u_int loop_count, - u_int thread_id, - Cubit_Datatypes datatype, - double frequency) -{ - CORBA::Environment env; - unsigned i = 0; - unsigned call_count = 0, error_count = 0; - - double latency = 0; - double sleep_time = (1/frequency) * (1000 * 1000); - double delta = 0; - - // - // Make the calls in a loop. - // - for (i = 0; i < loop_count; i++) - { - ACE_Profile_Timer timer; - ACE_Time_Value tv (0, (long int) (sleep_time - delta)); - ACE_OS::sleep (tv); - timer.start (); - - switch (datatype) - { - case CB_OCTET: - { - // Cube an octet. - call_count++; - - CORBA::Octet arg_octet = func (i), ret_octet = 0; - - ret_octet = cb->cube_octet (arg_octet); - - if (env.exception () != 0) - { - ACE_ERROR_RETURN ((LM_ERROR,"%s:Call failed\n", env.exception ()), 2); - } - arg_octet = arg_octet * arg_octet * arg_octet; - if (arg_octet != ret_octet) - { - ACE_OS::printf ("** cube_octet(%d) (--> %d)\n", arg_octet , ret_octet); - error_count++; - } - } - break; - - case CB_SHORT: - // Cube a short. - { - call_count++; - - CORBA::Short arg_short = func (i), ret_short; - - ret_short = cb->cube_short (arg_short); - - if (env.exception () != 0) - ACE_ERROR_RETURN ((LM_ERROR,"%s:Call failed\n", env.exception ()), 2); - - arg_short = arg_short * arg_short * arg_short; - if (arg_short != ret_short) { - ACE_OS::printf ("** cube_short(%d) (--> %d)\n", arg_short , ret_short); - error_count++; - } - } - break; - // Cube a long. - - case CB_LONG: - { - call_count++; - - CORBA::Long arg_long = func (i), ret_long; - - ret_long = cb->cube_long (arg_long); - - if (env.exception () != 0) - ACE_ERROR_RETURN ((LM_ERROR,"%s:Call failed\n", env.exception ()), 2); - - arg_long = arg_long * arg_long * arg_long; - if (arg_long != ret_long) - { - ACE_OS::printf ("** cube_long(%d) (--> %d)\n", arg_long , ret_long); - error_count++; - } - } - break; - - case CB_STRUCT: - // Cube a "struct" ... - { - Cubit::Many arg_struct, ret_struct; - - call_count++; - - arg_struct.l = func (i); - arg_struct.s = func (i); - arg_struct.o = func (i); - - ret_struct = cb->cube_struct (arg_struct); - - if (env.exception () != 0) - ACE_ERROR_RETURN ((LM_ERROR,"%s:Call failed\n", env.exception ()), 2); - - arg_struct.l = arg_struct.l * arg_struct.l * arg_struct.l ; - arg_struct.s = arg_struct.s * arg_struct.s * arg_struct.s ; - arg_struct.o = arg_struct.o * arg_struct.o * arg_struct.o ; - - if (arg_struct.l != ret_struct.l - || arg_struct.s != ret_struct.s - || arg_struct.o != ret_struct.o ) - { - ACE_OS::printf ("**cube_struct error!\n"); - error_count++; - } - - } - break; - } - timer.stop(); - ACE_Profile_Timer::ACE_Elapsed_Time et; - timer.elapsed_time (et); - delta = ( (0.4 * fabs (et.real_time * (1000 * 1000))) + (0.6 * delta) ); // pow(10,6) - latency += et.real_time; - } - - if (call_count > 0) - { - if (error_count == 0) - { - - latency /= call_count; - - if (latency > 0) { - ACE_OS::printf ("cube average call ACE_OS::time\t= %f msec, \t" - "%f calls/second\n", - latency * 1000, - 1 / latency); - this->put_latency (latency * 1000, thread_id); - } - - } - ACE_OS::printf ("%d calls, %d errors\n", call_count, error_count); - } - - // cb->please_exit (env); - return 0; -} diff --git a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/client/Task_Client.h b/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/client/Task_Client.h deleted file mode 100644 index 6a5d2782b22..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/client/Task_Client.h +++ /dev/null @@ -1,57 +0,0 @@ -// $Id$ - -#include "pbroker/corba/orb.h" -#include "pbroker/corba/request.h" -#include "pbroker/corba/environ.h" - -#include "ace/Synch.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "ace/Task.h" -#include "ace/Thread_Manager.h" -#include "ace/Get_Opt.h" -#include "cubit.h" -#include "ace/Profile_Timer.h" -#include <math.h> - -inline int func (unsigned i) { return i - 117; } - -enum Cubit_Datatypes {CB_OCTET, CB_SHORT, CB_LONG, CB_STRUCT}; - -#define CB_HIGH_PRIORITY_RATE 20 -#define CB_LOW_PRIORITY_RATE 10 - -class Task_State -{ - public: - ACE_Barrier *barrier_; - Task_State (int argc, char **argv); - unsigned int start_count_; - unsigned int loop_count_; - unsigned int thread_count_; - unsigned int base_port_; - char server_host_ [1024]; - double *latency_; - Cubit_Datatypes datatype_; - ACE_Thread_Mutex lock_; - int argc_; - char **argv_; -}; - -class Client : public ACE_Task<ACE_MT_SYNCH> -{ -public: - // Client (char *hostname, unsigned int n_threads, unsigned int loop_count_); - Client (Task_State *ts); - virtual int svc (void); - double get_high_priority_latency (); - double get_low_priority_latency (); -private: - int run_tests (Cubit_ptr, unsigned int, unsigned int, Cubit_Datatypes, double frequency); - void put_latency (double latency, unsigned int); - int parse_args (int, char **); - Task_State *ts_; -}; diff --git a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/client/client.cpp b/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/client/client.cpp deleted file mode 100644 index d7716944625..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/client/client.cpp +++ /dev/null @@ -1,63 +0,0 @@ -// $Id$ - -//************************************************************************** -// -// NAME : client.C -// DESCRIPTION: -// -// Client for the Cubit example -// -//**************************************************************************** - -#include "ace/Task.h" -#include "ace/Thread_Manager.h" -#include "ace/Get_Opt.h" -#include "ace/Sched_Params.h" -#include "cubit.h" -#include "Task_Client.h" - -ACE_RCSID(client, client, "$Id$") - -// -// Mainline -// -int -main (int argc, char *argv[]) -{ - Task_State ts (argc, argv); - - ACE::set_handle_limit (); - - Client low_client (&ts); - - // First activate the high priority client. - - Client high_client (&ts); - - ACE_Sched_Priority priority = - ACE_Sched_Params::priority_max (ACE_SCHED_FIFO, ACE_SCOPE_THREAD); - - ACE_DEBUG ((LM_DEBUG, "Creating client with high priority\n")); - - if (high_client.activate (THR_BOUND, 1, 0, priority) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "activate failed")); - - priority = - ACE_Sched_Params::priority_min (ACE_SCHED_FIFO, ACE_SCOPE_THREAD); - - ACE_DEBUG ((LM_DEBUG, "Creating %d clients with low priority\n", ts.thread_count_ - 1)); - - if (low_client.activate (THR_BOUND, ts.thread_count_ - 1, 0, priority) == -1) - ACE_ERROR ((LM_ERROR, "%p\n", "activate failed")); - - - ACE_Thread_Manager::instance ()->wait (); - - ACE_OS::printf ("Test done.\n" - "High priority client latency : %f msec\n" - "Low priority client latency : %f msec\n", - high_client.get_high_priority_latency (), - low_client.get_low_priority_latency ()); - - return 0; -} diff --git a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/client/cubit.idl b/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/client/cubit.idl deleted file mode 100644 index 5ae02365ddf..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/client/cubit.idl +++ /dev/null @@ -1,41 +0,0 @@ -// $Id$ - - interface Cubit { - octet cube_octet (in octet o); - short cube_short (in short s); - long cube_long (in long l); - - struct Many { - octet o; // + 3 bytes padding (normally) ... - long l; - short s; // + 2 bytes padding (normally) ... - }; - - Many cube_struct (in Many values); - - /* enum discrim {e_0th, e_1st, e_2nd, e_3rd, e_4th, e_5th}; - - union oneof - switch (discrim) { - // this is an easy union to interpret; no padding - // is needed between discriminant and value. - case e_0th: - octet o; - case e_1st: - short s; - case e_2nd: - long l; - case e_3rd: - Many cm; - }; - - oneof cube_union (in oneof values); */ - - oneway void please_exit (); - }; - - - interface Cubit_Factory { - Cubit create_cubit (in short priority); - }; - diff --git a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/server/Makefile b/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/server/Makefile deleted file mode 100644 index 4a73e39f1a8..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/server/Makefile +++ /dev/null @@ -1,62 +0,0 @@ -#---------------------------------------------------------------------------- -# $Id$ -# -# Top-level Makefile for the ACE-ified Sun Ref. implementation -# of IIOP ORB -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -#LDLIBS = -lmtcorba -lmtunixsvc -lmtpbroker -lmtboadc -lmtnaming -lmtlifecycl -lmtfsstream -LDLIBS = -lcorba -lunixsvc -lpbroker -lboadc -lnaming -llifecycl -lfsstream - -IDL_SRC = cubit.cpp cubit_s.cpp -PROG_SRCS = svr.cpp cubit_i.cpp - -LSRC = $(IDL_SRC) $(PROG_SRCS) - -CUBIT_SVR_OBJS = cubit.o cubit_s.o svr.o cubit_i.o - -BIN = svr -BUILD = $(BIN) -VLDLIBS = $(LDLIBS:%=%$(VAR)) -VBIN = $(BIN:%=%$(VAR)) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -#enable C++ exceptions -exceptions = 1 - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -#include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -# Local modifications to variables imported by includes above. -LDFLAGS += -L$(PBHOME)/lib -CPPFLAGS += -I$(PBHOME)/include - -$(IDL_SRC): cubit.idl - $(PBHOME)/bin/idlc cubit.idl - -mv cubit.C cubit.cpp - -mv cubit_s.C cubit_s.cpp - -svr: $(addprefix $(VDIR),$(CUBIT_SVR_OBJS)) - $(LINK.cc) $(LDFLAGS) -o $@ $^ $(PBHOME)/lib/iiop_s.o $(VLDLIBS) $(POSTLINK) - -realclean: clean - -$(RM) cubit.cpp cubit.h cubit_s.* - -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. - -.obj/cubit.o .shobj/cubit.: cubit.cpp -.obj/cubit_s.o .shobj/cubit_s.: cubit_s.cpp - -# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/server/cubit.idl b/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/server/cubit.idl deleted file mode 100644 index 2ed3ec01499..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/server/cubit.idl +++ /dev/null @@ -1,41 +0,0 @@ -// $Id$ - - interface Cubit { - octet cube_octet (in octet o); - short cube_short (in short s); - long cube_long (in long l); - - struct Many { - octet o; // + 3 bytes padding (normally) ... - long l; - short s; // + 2 bytes padding (normally) ... - }; - - Many cube_struct (in Many values); - - /* enum discrim {e_0th, e_1st, e_2nd, e_3rd, e_4th, e_5th}; - - union oneof - switch (discrim) { - // this is an easy union to interpret; no padding - // is needed between discriminant and value. - case e_0th: - octet o; - case e_1st: - short s; - case e_2nd: - long l; - case e_3rd: - Many cm; - }; - - oneof cube_union (in oneof values); */ - - oneway void please_exit (); - }; - - - interface Cubit_Factory { - Cubit create_cubit (in short priority); - }; - diff --git a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/server/cubit_i.cpp b/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/server/cubit_i.cpp deleted file mode 100644 index e6883abba0c..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/server/cubit_i.cpp +++ /dev/null @@ -1,82 +0,0 @@ -// $Id$ - -// @(#)cubit_i.cpp 05/14/97 -// Copyright 1994-1995 by Sun Microsystems Inc. -// All Rights Reserved -// -// TEST: hand-written Cubit Implementation -// -// Modified version of Cubit Example written by Sun Microsystems Inc. -// Modified by: Brian Mendel - -#include "pbroker/corba/orb.h" -#include "pbroker/corba/environ.h" -#include "cubit_i.h" - -ACE_RCSID(server, cubit_i, "$Id$") - -Cubit_i::Cubit_i (const char *obj_name) -{ -} - -Cubit_i::~Cubit_i (void) -{ -} - -CORBA::Octet -Cubit_i::cube_octet (CORBA::Octet o) -{ - return (CORBA::Octet) (o * o * o); -} - -CORBA::Short -Cubit_i::cube_short (CORBA::Short s) -{ - return (CORBA::Short) (s * s * s); -} - -CORBA::Long -Cubit_i::cube_long (CORBA::Long l) -{ - return (CORBA::Long) (l * l * l); -} - -Cubit::Many -Cubit_i::cube_struct (const Cubit::Many &values) -{ - Cubit::Many out_values; - out_values.o = values.o * values.o * values.o; - out_values.s = values.s * values.s * values.s; - out_values.l = values.l * values.l * values.l; - - return out_values; -} - -/*Cubit_oneof * -Cubit_i::cube_union (Cubit_oneof &values, - CORBA::Environment &env) -{ - ACE_UNUSED_ARG (env); - switch (values._disc) - { - case e_0th: - values.o = (CORBA::Octet) (values.o * values.o * values.o); - break; - case e_1st: - values.s = (CORBA::Short) (values.s * values.s * values.s); - break; - case e_2nd: - values.l = values.l * values.l * values.l; - break; - case e_3rd: - default: - values.cm.o = (CORBA::Octet) (values.cm.o * values.cm.o * values.cm.o); - values.cm.s = (CORBA::Short) (values.cm.s * values.cm.s * values.cm.s); - values.cm.l = values.cm.l * values.cm.l * values.cm.l; - } - return &values; -} */ - -void Cubit_i::please_exit (void) -{ -} diff --git a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/server/cubit_i.h b/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/server/cubit_i.h deleted file mode 100644 index 2e4e350ed09..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/server/cubit_i.h +++ /dev/null @@ -1,52 +0,0 @@ -// $Id$ - -// @(#)cubit_i.cpp 05/14/97 -// Copyright 1994-1995 by Sun Microsystems Inc. -// All Rights Reserved -// -// TEST: hand-written Cubit Implementation -// -// Modified version of Cubit Example written by Sun Microsystems Inc. -// Modified by: Brian Mendel - -/************************************************************************** -This file has been hand-crafted to work with the ORB API of the SUN's IIOP -implementation -***************************************************************************/ - -#ifndef _CUBIT_I_HH -#define _CUBIT_I_HH - -#include "cubit_s.h" - -class Cubit_i; -typedef Cubit_i *Cubit_i_ptr; -typedef Cubit_i_ptr Cubit_i_ref; - -class Cubit_i : public Cubit_base_impl -{ -public: - Cubit_i (const char *obj_name = 0); - ~Cubit_i (void); - - virtual - CORBA::Octet cube_octet (CORBA::Octet o); - - virtual - CORBA::Short cube_short (CORBA::Short s); - - virtual - CORBA::Long cube_long (CORBA::Long l); - - virtual - Cubit::Many cube_struct (const Cubit::Many &values); - - /* virtual - Cubit::oneof *cube_union (Cubit::oneof &values, - CORBA::Environment &env); */ - - virtual - void please_exit (void); -}; - -#endif // _CUBIT_I_HH diff --git a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/server/svr.cpp b/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/server/svr.cpp deleted file mode 100644 index 25cc92e2797..00000000000 --- a/TAO/performance-tests/Cubit/CORBAplus/MT_Cubit/server/svr.cpp +++ /dev/null @@ -1,288 +0,0 @@ -// $Id$ - -// @(#)svr.cpp 05/14/97 -// Copyright 1994-1995 by Sun Microsystems Inc. -// All Rights Reserved -// -// TEST: simple IIOP server for "cubit.idl" interface. -// -// Starts up, builds an objref, prints its string in debug mode, -// listens for messages, responds to them. -// -// Modified version of Cubit Example written by Sun Microsystems Inc. -// Modified by: Brian Mendel - -#include "pbroker/corba/orb.h" -#include "pbroker/corba/request.h" -#include "pbroker/corba/environ.h" -#include "pbroker/unixsvc/unixsvc.h" -#include "pbroker/corba/xpsorb.h" -#include "pbroker/corba/xpsboa.h" -#include "pbroker/corba/boad/boafull.h" // will force usage of "Full" BOA API -#include "ace/Get_Opt.h" -#include "ace/Log_Msg.h" -#include "ace/Task.h" -#include "ace/ARGV.h" -#include "ace/Sched_Params.h" - -#include "cubit_i.h" - -ACE_RCSID(server, svr, "$Id$") - -// Global Variables -static CORBA::String key = (CORBA::String) "Cubit"; - - -class Cubit_Task : public ACE_Task<ACE_NULL_SYNCH> -// = TITLE -// Encapsulates an ORB for the Cubit application -{ -public: - Cubit_Task (const char* args, const char* orbname, unsigned int num_of_objs); // - - virtual int svc (void); - -protected: - Cubit_Task () {}; - -private: - char* orbname_; - char* orbargs_; - unsigned int num_of_objs_; -}; - -Cubit_Task::Cubit_Task (const char* args, const char* orbname, unsigned int num_of_objs) - : orbname_ ((char*)orbname), - orbargs_ ((char*)args), - num_of_objs_ (num_of_objs) -{} - - -int -Cubit_Task::svc (void) -{ - CORBA::Environment env; - ACE_DEBUG ((LM_DEBUG, "(%P|%t) Beginning Cubit task with args = '%s'\n", orbargs_)); - ACE_ARGV args (orbargs_); - - int argc = args.argc (); - char** argv = args.argv (); - - XpsORB_ptr orb_ptr = XpsORB::_nil(); - XpsBOA * oa_ptr = XpsBOA::_nil (); - CORBA_Object_ptr obj_ptr = CORBA_Object::_nil(); - - try { - // Initialize the ORB pointer - orb_ptr = XpsORB::init (argc, argv); - - // Initialize the Object Adapter - oa_ptr = XpsBOA::init (argc, argv); - - if (CORBA::is_nil(orb_ptr) || CORBA::is_nil(oa_ptr)) - { - ACE_ERROR_RETURN ((LM_ERROR, - " (%P|%t) Unable to initialize the ORB and/or the BOA\n"), - 1); - } - - // Create implementation object with user specified key. - Cubit_i_ptr *my_cubit = new Cubit_i_ptr[num_of_objs_]; - - u_int i; - for (i = 0; i < num_of_objs_; i++) - { - CORBA::String obj_str = CORBA::string_alloc (ACE_OS::strlen ((char *) key)+30); - -#if 0 - ACE_OS::sprintf (obj_str, "%s-%u-%02d", (char *) key, ACE_Thread::self (), i); -#else - ACE_OS::sprintf (obj_str, "%s%02d", (char *) key, i); -#endif - - my_cubit[i] = new Cubit_i (obj_str); - - if (my_cubit[i] == 0) - ACE_ERROR_RETURN ((LM_ERROR, - " (%P|%t) Unable to create implementation object&d\n", - i), - 2); - - //CORBA::OctetSeq obj_key; - //obj_key.buffer = (CORBA::Octet *) obj_str; - //obj_key.length = obj_key.maximum = ACE_OS::strlen (obj_str); - - //CORBA::Object_ptr obj = 0; - - // if (oa_ptr->find (obj_key, obj) == -1) - // ACE_ERROR_RETURN ((LM_ERROR, - // " (%P|%t) Unable to locate object with key '%s', %p\n", - // key), - // 3); - - // Stringify the objref we'll be implementing, and print it - // to stdout. Someone will take that string and give it to - // some client. Then release the object. - - CORBA::String str; - - // str = orb_ptr->object_to_string (obj); - str = orb_ptr->object_to_url (my_cubit[i]); - - ACE_DEBUG ((LM_DEBUG, "listening as object '%s'\n", str)); - CORBA_string_free (str); - - oa_ptr->obj_is_ready (my_cubit[i], nil); - oa_ptr->registerAlias (my_cubit[i], obj_str); - - if (env.exception () != 0) - { - // env.print_exception ("object2string"); - return 1; - } - - ACE_OS::puts ((char *) str); - ACE_OS::fflush (stdout); - //ACE_DEBUG ((LM_DEBUG,"Object Created at: '%ul'", obj)); - CORBA::string_free (obj_str); - } - - // Handle requests for this object until we're killed, or one of the - // methods asks us to exit. - XpsEventService eventService; - eventService.mainloop(); // control will not return to this point - // orb_ptr->run (); - - // Shut down the OA -- recycles all underlying resources (e.g. file - // descriptors, etc). - - // oa_ptr->clean_shutdown (env); - - // Need to clean up and do a CORBA::release on everything we've - // created! - for (i = 0; i < num_of_objs_; i++) - { - delete my_cubit[i]; - } - - // Free resources - CORBA::release (orb_ptr); - CORBA::release (oa_ptr); - } - catch(const CORBA::SystemException& exc) - { - ACE_DEBUG ((LM_DEBUG, - "CORBA::SystemException caught: %s (minor: %d): svr.cpp\n\n", - exc._repository_id (), - exc.minor ())); - } - catch(const CORBA::UserException& exc) - { - ACE_DEBUG ((LM_DEBUG, - "CORBA::UserException caught: %s: svr.cpp\n\n", - exc._repository_id ())); - } - catch(...) - { - ACE_DEBUG ((LM_DEBUG, - "Exception caught: svr.cpp\n\n")); - } - - return 0; -} - -static char *hostname = NULL; -static int base_port = 0; - -// Parses the command line arguments and returns an error status - -static int num_of_objs = 1; - -static int -parse_args (int argc, char *argv[]) -{ - ACE_Get_Opt opts (argc, argv, "h:p:n:"); - int c; - - while ((c = opts ()) != -1) - switch (c) - { - case 'h': - hostname = opts.optarg; - break; - case 'p': - base_port = ACE_OS::atoi (opts.optarg); - break; - case 'n': - num_of_objs = ACE_OS::atoi (opts.optarg); - break; - case '?': - default: - ACE_ERROR_RETURN ((LM_ERROR, - "usage: %s" - " -p port" - " -h my_hostname" - " -n num_objects" - "\n", argv [0]), 1); - } - - return 0; // Indicates successful parsing of command line -} - -// Standard command line parsing utilities used. - -int -main (int argc, char *argv[]) -{ - -#if 0 - parse_args (argc, argv); - - if ((hostname == NULL) || (base_port == 0)) - { - ACE_ERROR_RETURN ((LM_ERROR, - "usage: %s " - " -p port -h my_hostname" - "\n",argv [0]), 1); - - } -#endif - - const size_t arg_size = - strlen("rate20") - + 5 /* port number */ - + MAXHOSTNAMELEN /* hostname */ - + 1 /* zero terminator */; - - char *args1 = 0; - ACE_NEW_RETURN (args1, char[arg_size], -1); - - ::sprintf (args1, "rate20"); - Cubit_Task task1 (args1 , "internet", 1); - ACE_Sched_Priority priority; -#if defined(VXWORKS) - priority = ACE_Sched_Params::priority_max (ACE_SCHED_FIFO, ACE_SCOPE_THREAD) + 6; -#else - priority = ACE_Sched_Params::priority_max (ACE_SCHED_FIFO, ACE_SCOPE_THREAD); -#endif - ACE_DEBUG ((LM_DEBUG, "Creating servant with high priority\n")); - task1.activate (THR_BOUND, 1, 0, priority); - - - char *args2 = 0; - ACE_NEW_RETURN (args2, char[arg_size], -1); - - ::sprintf (args2, "rate10");//, base_port+1, hostname); - Cubit_Task task2 (args2 , "internet", 1); - priority = - ACE_Sched_Params::priority_min (ACE_SCHED_FIFO, ACE_SCOPE_THREAD); - ACE_DEBUG ((LM_DEBUG, "Creating servant with low priority\n")); - task2.activate (THR_BOUND, 1, 0, priority); - - ACE_Thread_Manager::instance ()->wait (); - - delete [] args1; - delete [] args2; - - return 0; -} |