summaryrefslogtreecommitdiff
path: root/TAO/performance-tests/Thruput
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/performance-tests/Thruput')
-rw-r--r--TAO/performance-tests/Thruput/COOL/Makefile133
-rw-r--r--TAO/performance-tests/Thruput/COOL/README117
-rw-r--r--TAO/performance-tests/Thruput/COOL/client.cpp290
-rw-r--r--TAO/performance-tests/Thruput/COOL/server.cpp224
-rw-r--r--TAO/performance-tests/Thruput/COOL/ttcp.idl36
-rw-r--r--TAO/performance-tests/Thruput/COOL/ttcp_decl.h82
-rw-r--r--TAO/performance-tests/Thruput/COOL/ttcp_i.cpp103
-rw-r--r--TAO/performance-tests/Thruput/COOL/ttcp_i.h49
-rw-r--r--TAO/performance-tests/Thruput/COOL/utils.cpp469
-rw-r--r--TAO/performance-tests/Thruput/CORBAplus/Makefile68
-rw-r--r--TAO/performance-tests/Thruput/CORBAplus/README47
-rw-r--r--TAO/performance-tests/Thruput/CORBAplus/client.cpp305
-rw-r--r--TAO/performance-tests/Thruput/CORBAplus/extract4
-rw-r--r--TAO/performance-tests/Thruput/CORBAplus/run1
-rw-r--r--TAO/performance-tests/Thruput/CORBAplus/run_client25
-rw-r--r--TAO/performance-tests/Thruput/CORBAplus/run_server10
-rw-r--r--TAO/performance-tests/Thruput/CORBAplus/run_test34
-rw-r--r--TAO/performance-tests/Thruput/CORBAplus/run_tests41
-rw-r--r--TAO/performance-tests/Thruput/CORBAplus/server.cpp178
-rw-r--r--TAO/performance-tests/Thruput/CORBAplus/ttcp.idl36
-rw-r--r--TAO/performance-tests/Thruput/CORBAplus/ttcp_decl.h82
-rw-r--r--TAO/performance-tests/Thruput/CORBAplus/ttcp_i.cpp100
-rw-r--r--TAO/performance-tests/Thruput/CORBAplus/ttcp_i.h66
-rw-r--r--TAO/performance-tests/Thruput/CORBAplus/utils.cpp469
-rw-r--r--TAO/performance-tests/Thruput/Makefile26
-rw-r--r--TAO/performance-tests/Thruput/Orbix/Client.cpp328
-rw-r--r--TAO/performance-tests/Thruput/Orbix/Makefile60
-rw-r--r--TAO/performance-tests/Thruput/Orbix/README40
-rw-r--r--TAO/performance-tests/Thruput/Orbix/Srv_Main.cpp176
-rw-r--r--TAO/performance-tests/Thruput/Orbix/extract4
-rw-r--r--TAO/performance-tests/Thruput/Orbix/loop6424
-rw-r--r--TAO/performance-tests/Thruput/Orbix/orbixsol2s4.mk148
-rw-r--r--TAO/performance-tests/Thruput/Orbix/run1
-rw-r--r--TAO/performance-tests/Thruput/Orbix/run_client25
-rw-r--r--TAO/performance-tests/Thruput/Orbix/run_server4
-rw-r--r--TAO/performance-tests/Thruput/Orbix/run_test31
-rw-r--r--TAO/performance-tests/Thruput/Orbix/run_tests78
-rw-r--r--TAO/performance-tests/Thruput/Orbix/ttcp.idl40
-rw-r--r--TAO/performance-tests/Thruput/Orbix/ttcp_decl.h154
-rw-r--r--TAO/performance-tests/Thruput/Orbix/ttcp_i.cpp102
-rw-r--r--TAO/performance-tests/Thruput/Orbix/ttcp_i.h65
-rw-r--r--TAO/performance-tests/Thruput/Orbix/utils.cpp563
-rw-r--r--TAO/performance-tests/Thruput/TAO/Makefile193
-rw-r--r--TAO/performance-tests/Thruput/TAO/README65
-rw-r--r--TAO/performance-tests/Thruput/TAO/client.cpp319
-rwxr-xr-xTAO/performance-tests/Thruput/TAO/new_client_test63
-rwxr-xr-xTAO/performance-tests/Thruput/TAO/new_run_test48
-rwxr-xr-xTAO/performance-tests/Thruput/TAO/new_server_test13
-rw-r--r--TAO/performance-tests/Thruput/TAO/results/REMOTE/README4
-rwxr-xr-xTAO/performance-tests/Thruput/TAO/run1
-rwxr-xr-xTAO/performance-tests/Thruput/TAO/run_client41
-rwxr-xr-xTAO/performance-tests/Thruput/TAO/run_server11
-rwxr-xr-xTAO/performance-tests/Thruput/TAO/run_test55
-rw-r--r--TAO/performance-tests/Thruput/TAO/server.cpp234
-rw-r--r--TAO/performance-tests/Thruput/TAO/svc.conf49
-rw-r--r--TAO/performance-tests/Thruput/TAO/tmplinst.cpp22
-rw-r--r--TAO/performance-tests/Thruput/TAO/ttcp.idl36
-rw-r--r--TAO/performance-tests/Thruput/TAO/ttcp_decl.h84
-rw-r--r--TAO/performance-tests/Thruput/TAO/ttcp_i.cpp96
-rw-r--r--TAO/performance-tests/Thruput/TAO/ttcp_i.h48
-rw-r--r--TAO/performance-tests/Thruput/TAO/utils.cpp599
61 files changed, 0 insertions, 6819 deletions
diff --git a/TAO/performance-tests/Thruput/COOL/Makefile b/TAO/performance-tests/Thruput/COOL/Makefile
deleted file mode 100644
index 08735a2d8fd..00000000000
--- a/TAO/performance-tests/Thruput/COOL/Makefile
+++ /dev/null
@@ -1,133 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Makefile for the CHORUS COOL Cubit tests
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-IDL_SRC = ttcp.cpp ttcp.H sk_ttcp.C sk_ttcp.H
-
-SRC = $(IDL_SRC) ttcp_i.cpp server.cpp client.cpp utils.cpp
-
-SVR_OBJS = ttcp_i.o server.o ttcp.o utils.o
-
-CLT_OBJS = client.o ttcp.o utils.o
-
-LDLIBS = -lm -lOrb-mt -lposix4
-
-VLDLIBS = $(LDLIBS:%=%$(VAR))
-
-#----------------------------------------------------------------------------
-# 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.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-#----------------------------------------------------------------------------
-# CHORUS related macros and target settings.
-#----------------------------------------------------------------------------
-
-CHORUS_BINDIR = $(CHORUS_ROOT)/bin
-CHORUS_LIBDIR = $(CHORUS_ROOT)/lib
-CHORUS_INCDIR = $(CHORUS_ROOT)/include
-
-CPPFLAGS += -I$(CHORUS_INCDIR) -I$(CHORUS_ROOT)
-LDFLAGS += -L$(CHORUS_LIBDIR) -R $(CHORUS_LIBDIR) -L$(ACE)/ace
-IDLFLAGS = --stub-header --stub-impl --skeleton-header --skeleton-impl --no-local --no-any --binding ttcp_sequence ttcp_sequence_i
-
-#----------------------------------------------------------------------------
-# Local targets
-#----------------------------------------------------------------------------
-
-all: $(IDL_SRC) server client
-
-$(IDL_SRC): ttcp.idl
- $(CHORUS_BINDIR)/chic $(IDLFLAGS) ttcp.idl
- -/bin/mv ttcp.C ttcp.cpp
-
-server: $(addprefix $(VDIR),$(SVR_OBJS))
- $(LINK.cc) -o server $(addprefix $(VDIR),$(SVR_OBJS)) $(LDFLAGS) $(ITIIOP) $(ITSRV) $(VLDLIBS) $(POSTLINK)
-
-client: $(addprefix $(VDIR),$(CLT_OBJS))
- $(LINK.cc) -o client $(addprefix $(VDIR),$(CLT_OBJS)) $(LDFLAGS) $(ITIIOP) $(ITCLT) $(VLDLIBS) $(POSTLINK)
-
-realclean: clean
- -/bin/rm -rf ttcp.cpp ttcp.H sk_ttcp.C sk_ttcp.H server client
-
-#----------------------------------------------------------------------------
-# Dependencies
-#----------------------------------------------------------------------------
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-ttcp.o: ttcp.cpp ttcp.H \
- /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/shortSeq.H \
- /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/longSeq.H \
- /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/doubleSeq.H \
- /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/charSeq.H \
- /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/octetSeq.H
-sk_ttcp.o: sk_ttcp.C
-ttcp_i.o: ttcp_i.cpp \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.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 ttcp_i.h ttcp.H \
- /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/cool.H \
- /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/shortSeq.H \
- /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/longSeq.H \
- /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/doubleSeq.H \
- /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/charSeq.H \
- /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/octetSeq.H \
- ttcp_decl.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
-server.o: server.cpp \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.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 ttcp_i.h ttcp.H \
- /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/cool.H \
- /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/shortSeq.H \
- /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/longSeq.H \
- /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/doubleSeq.H \
- /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/charSeq.H \
- /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/octetSeq.H \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i sk_ttcp.H \
- sk_ttcp.C
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/performance-tests/Thruput/COOL/README b/TAO/performance-tests/Thruput/COOL/README
deleted file mode 100644
index f227cfeea21..00000000000
--- a/TAO/performance-tests/Thruput/COOL/README
+++ /dev/null
@@ -1,117 +0,0 @@
- TTCP Benchmark README file
-
-This directory contains a modified version of the TTCP benchmark that
-uses the TAO ORB. TTCP is used to measure the throughput of COOL
-for sending different data types. This code tests sequences of short,
-long, octet, char, double, and richly-typed data such as a struct.
-
-Organization
-------------
-
-client.cpp Client main program
-server.cpp Server main program
-ttcp.cpp Client & Server side stub
-ttcp.H Client & Server side stub header file
-sk_ttcp.C Server skeleton implementation file
-sk_ttcp.H Server skeleton implementation header file
-ttcp_i.cpp Implementation of the interface
-ttcp_i.h Header for the implementation
-utils.cpp Utilities to calculate throughput
-ttcp_decl.h Common declarations
-
-Results
--------
-Throughput results are displayed on stdout.
-
-Running the test
------------------
- Server
- ------
- Usage:
- server [COOL options] [Common options]
-
- [COOL options] ** these are required **
- cool-tcp://<THIS_HOSTNAME>:<THIS_HOST_PORT> -cool-tcp -cool-iiop
-
- THIS_HOSTNAME : the name of the host that the server will be running on. This is useful
- if you want to specifya different interface (e.g. ATM, 100Mbit Ethernet)
-
- THIS_HOST_PORT: is the port number at which the server will start the high
- priority servant. The low priority servant will be created at
- (THIS_HOST_PORT+1).
-
- [Common options]:
- -l ## length of bufs read from or written to network (default 8192)
- -v verbose: print more statistics
- -d ## set debug level
- -f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga
- -L ## Output file name to store results
-
- Example:
-
- server cool-tcp://tango.cs.wustl.edu:3000 -cool-tcp -cool-iiop -d 1
-
- The Output might look like this:
- stringified obj reference = IOR:000000000000001649444C3A747463705F73657175656E63653A312E3000000000000002000000000000004900010000000000103132382E3235322E3136352E313430000BB80000000000290000000001000000010000001C0073193B00000002EFFFED98000000000000000A80FCA58C00000BB8000000434F4F4C000000290000000001000000010000001C0073193B00000002EFFFED98000000000000000A80FCA58C00000BB8
- Entering boa->run ().
-
-
- Client
- ------
-
- Usage:
- client -cool-tcp -cool-iiop [Common options]
-
- [Common options]:
- -l ## length of bufs read from or written to network (default 8192)
- -v verbose: print more statistics
- -d ## debug level
- -f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga
- -h ## Remote host to send data to
- -p ## Port number"
- -S ## Total Data Size to be sent
- -L ## Output file name to store results
- -q <type> Send Sequence: Enumeration for various data types:
- s = short, l = long, d = double, c = char
- o = octet, S = BinStruct
-
- Example:
-
- # The following example will send 10Mb of data, using a megabyte rate,
- in 1024 byte chunks, to host tango.cs.wustl.edu, to port 3000, and will send shorts
-
- client -cool-tcp -cool-iiop -S 10240000 -f m -l 1024 -h tango.cs.wustl.edu -p 3000 -q s
-
- The Output might look like this:
-
- Composed IOR string as: cool-tcp://tango.cs.wustl.edu:3000
- data size = 10240000, buflen = 1024, nbuf = 10000
- ttcp-t: 10240000 bytes in 2.81 real seconds = 27.82 Mbit/sec +++
- ttcp-t: 10000 Server Method calls, msec/call = 0.29, calls/sec = 3561.29
- ttcp-r: 10236928 bytes in 2.81 real seconds = 3560.03 KB/sec +++
- ttcp-r: 9993 Server Method calls, msec/call = 0.29, calls/sec = 3558.60
- ttcp-t: 176224.1user -1.-2674sys 0:02real 6261769% 0i+0d 101622maxrss -268440216+-277460652pf 10002+458757csw
- ttcp-r: -268441649.-103user 728.0sys 0:02real -194852% 0i+0d 420maxrss -280679408+0pf -268441576+-277738728csw
-
-
-Compiling
----------
-
-Setup the CHORUS COOL environment variables before compiling, the
-following is an example. You would typically want this in the shells'
-resource file (e.g. .cshrc.mine). The example provided is for a C
-shell.
-
- setenv CHORUS_ROOT /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt
- set path = ($path /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/bin)
- setenv LD_LIBRARY_PATH /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/lib:$LD_LIBRARY_PATH
- setenv MANPATH /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/man:$MANPATH
-
-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.
-
-
--Sergio Flores-Gaitan
-(sergio@cs.wustl.edu) \ No newline at end of file
diff --git a/TAO/performance-tests/Thruput/COOL/client.cpp b/TAO/performance-tests/Thruput/COOL/client.cpp
deleted file mode 100644
index 547489f83c4..00000000000
--- a/TAO/performance-tests/Thruput/COOL/client.cpp
+++ /dev/null
@@ -1,290 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = Chorus COOL tests
-// Throughput measurement using the TTCP benchmark adapted to work using COOL
-//
-// = FILENAME
-// client.cpp
-//
-// Main program for the client
-//
-// = AUTHOR
-// Aniruddha Gokhale
-// Sergio Flores Ported code to use Chorus COOL ORB
-//
-// ============================================================================
-
-#include "ace/ACE.h"
-#include "ace/Get_Opt.h"
-#include "ace/stream.h"
-#include "ttcp.H"
-#include "ttcp_decl.h"
-
-#include "api/api.H"
-
-ACE_RCSID(COOL, client, "$Id$")
-
-int print_usage (void);
-
-char Usage[] =
- "Usage: client -cool-tcp -cool-iiop [Common options] \n"
- "[Common options]:\n"
- " -l ## length of bufs read from or written to network (default 8192)\n"
- " -v verbose: print more statistics\n"
- " -d ## debug level\n"
- " -f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n"
- " -h ## Remote host to send data to\n"
- " -p ## Port number"
- " -L ## Output file name to store results\n"
- " -S ## Total Data Size to be sent\n"
- " -q <type> Send Sequence: Enumeration for various data types:\n"
- " s = short, l = long, d = double, c = char\n"
- " o = octet, S = BinStruct \n";
-
-CORBA::Long trans = 1; // we are a client - used for debugging purposes
-CORBA::Long buflen = 8 * 1024; // length of buffer, default 8,192 bytes
-char *buf; // ptr to dynamic buffer
-CORBA::Long nbuf; // number of buffers to send in sinkmode
-CORBA::Short port = 3000; // default TCP port number
-char *host = "localhost"; // ptr to name of host
-CORBA::Long verbose = 0; // 0=print basic info, 1=print cpu
- // rate, proc resource usage.
-CORBA::Char fmt = 'K'; // output
- // format:k=kilobits,K=kilobytes, m = megabits,
- // M = megabytes, g = gigabits, G = gigabytes
-CORBA::String title = 0; // title of file to gather statistics
-char stats[128]; // gathering the statistics
-unsigned long srcDataSize; // Total amount of source data
-unsigned long nbytes; // bytes on net
-unsigned long numCalls; // # of I/O system calls
-double cput, realt; // user, real time (seconds)
-unsigned long dt; // data type
-
-u_int debug_level = 0;
-
-// declare variables for various message types
-ttcp_sequence::ShortSeq *sseq;
-ttcp_sequence::LongSeq *lseq;
-ttcp_sequence::OctetSeq *oseq;
-ttcp_sequence::DoubleSeq *dseq;
-ttcp_sequence::CharSeq *cseq;
-ttcp_sequence::StructSeq *Sseq;
-
-int
-main (int argc, char *argv[])
-{
-
- int c;
- CORBA_ORB_ptr orb_ptr; // underlying ORB
- CORBA::Object_ptr objref = CORBA::Object::_nil(); // object reference
- ttcp_sequence_ptr ttcp_seq = 0; // obj reference to TTCP object
- CORBA::Environment env; // environment
- CORBA::String str; // holds the IOR
-
- fstream iorfile;
-
- // parse the arguments
- ACE_Get_Opt get_opt (argc, argv, "d:vh:p:f:l:L:S:q:", 3); // Command line options
- debug_level = 0;
- while ((c = get_opt ()) != -1)
- {
- switch (c)
- {
- case 'h':
- host = ACE_OS::strdup (get_opt.optarg);
- break;
- case 'L':
- title = ACE_OS::strdup (get_opt.optarg);
- break;
- case 'p':
- port = ACE_OS::atoi (get_opt.optarg);
- break;
- case 'd':
- debug_level = ACE_OS::atoi (get_opt.optarg);
- if (debug_level > 10)
- debug_level = 10;
- break;
- case 'l':
- buflen = ACE_OS::atoi (get_opt.optarg);
- break;
- case 'v':
- verbose = 1;
- break;
- case 'f':
- fmt = *get_opt.optarg;
- break;
- case 'S': /* total source data to send. */
- srcDataSize = ACE_OS::atoi (get_opt.optarg);
- break;
- case 'q': /* Send sequence of desired data type */
- switch(*get_opt.optarg){
- case 's':
- dt = SEND_SHORT;
- break;
- case 'l':
- dt = SEND_LONG;
- break;
- case 'd':
- dt = SEND_DOUBLE;
- break;
- case 'c':
- dt = SEND_CHAR;
- break;
- case 'o':
- dt = SEND_OCTET;
- break;
- case 'S':
- dt = SEND_STRUCT;
- break;
- case 'C':
- dt = SEND_COMPOSITE;
- break;
- }
- break;
- default:
- return print_usage ();
- }
- }
-
- //
- // Transmitter
- //
-
- // get a handle to the ORB
- orb_ptr = CORBA_ORB_init (argc, argv, 0, env);
- if (env.exception () != 0)
- {
- ACE_DEBUG ((LM_DEBUG, "ORB initialization\n"));
- //env.print_exception ("ORB initialization", stdout);
- return -1;
- }
-
- // allocate storage to read the IOR string
- str = CORBA::string_alloc (500);
-
- sprintf (str, "cool-tcp://%s:%d", host, port);
-
- ACE_DEBUG ((LM_DEBUG, "Composed IOR string as: %s\n" , str));
-
- COOL::EOABindingData bindingData (str);
- ttcp_seq = ttcp_sequence::_bind(bindingData, env);
-
- CORBA::string_free (str);
-
- if (!CORBA::is_nil (ttcp_seq))
- {
- // the number of iterations is based on the total data size and the
- // individual buffer size sent
- nbuf = srcDataSize/buflen;
- ACE_DEBUG ((LM_DEBUG, "data size = %d, buflen = %d, nbuf = %d\n",
- srcDataSize, buflen, nbuf));
-
- //
- // Prepare the Message to be sent
- //
-
-
- // first allocate a buffer of the desired size and alignment
- errno = 0;
- if ((buf = (char *) ACE_OS::malloc (buflen)) == (char *) NULL)
- err ("malloc");
-
- // fill the buffer with the data type to be sent
- FillPattern (buf, buflen, dt);
-
- //
- // Start the timers on the client and server sides
- //
-
- prep_timer (); // start our time
- ttcp_seq->start_timer (env); // ask the server to start its timer
- if (env.exception () != 0)
- {
- ACE_DEBUG ((LM_DEBUG, "start_timer operation\n"));
- //env.print_exception ("start_timer operation", stdout);
- return -1;
- }
-
-#if defined (ACE_HAS_QUANTIFY)
- /* start recording quantify data from here */
- quantify_clear_data ();
- quantify_start_recording_data ();
-#endif /* ACE_HAS_QUANTIFY */
- // send the same buffer nbuf times
- while (nbuf--)
- {
- switch (dt){
- case SEND_SHORT:
- ttcp_seq->sendShortSeq (*sseq, env);
- nbytes += sseq->length () * sizeof (CORBA::Short);
- break;
- case SEND_LONG:
- ttcp_seq->sendLongSeq (*lseq, env);
- nbytes += lseq->length () * sizeof (CORBA::Long);
- break;
- case SEND_OCTET:
- ttcp_seq->sendOctetSeq (*oseq, env);
- nbytes += oseq->length () * sizeof (CORBA::Octet);
- break;
- case SEND_DOUBLE:
- ttcp_seq->sendDoubleSeq (*dseq, env);
- nbytes += dseq->length () * sizeof (CORBA::Double);
- break;
- case SEND_CHAR:
- ttcp_seq->sendCharSeq (*cseq, env);
- nbytes += cseq->length () * sizeof (CORBA::Char);
- break;
- case SEND_STRUCT:
- ttcp_seq->sendStructSeq (*Sseq, env);
- nbytes += Sseq->length () * sizeof (BinStruct);
- break;
- }
- numCalls++; // nbytes and numCalls are used in the thruput
- // measurement
- if (env.exception () != 0)
- {
- ACE_DEBUG ((LM_DEBUG, "send operation\n"));
- //env.print_exception ("send operation", stdout);
- return -1;
- }
- }
-#if defined (ACE_HAS_QUANTIFY)
- quantify_stop_recording_data();
-#endif /* ACE_HAS_QUANTIFY */
- //
- // Stop the timer
- //
- // stop the timer on the server side
- ttcp_seq->stop_timer (env);
- if (env.exception () != 0)
- {
- ACE_DEBUG ((LM_DEBUG, "stop_timer operation\n"));
- //env.print_exception ("stop_timer operation", stdout);
- return -1;
- }
- // stop our timer
- (void) read_timer (stats, sizeof (stats));
-
- // print results
- PrintStats();
- }
- else
- {
- ACE_ERROR ((LM_ERROR, "error: objref is nil\n"));
- }
-
-
- CORBA::release (ttcp_seq);
- CORBA::release (objref);
-
- return (0);
-}
-
-int print_usage (void)
-{
- ACE_ERROR ((LM_ERROR, "Usage error\n"));
- ACE_ERROR ((LM_ERROR, "%s\n", Usage));
- return -1;
-}
diff --git a/TAO/performance-tests/Thruput/COOL/server.cpp b/TAO/performance-tests/Thruput/COOL/server.cpp
deleted file mode 100644
index 83ad78bbf4b..00000000000
--- a/TAO/performance-tests/Thruput/COOL/server.cpp
+++ /dev/null
@@ -1,224 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = Chorus COOL tests
-// Throughput measurement using the TTCP benchmark adapted to work using
-// Chorus COOL
-//
-// = FILENAME
-// server.cpp
-//
-// = AUTHOR
-// Aniruddha Gokhale
-// Sergio Flores Ported from TAO
-//
-// ============================================================================
-
-#include "ace/ACE.h"
-#include "ace/Get_Opt.h"
-#include "ace/stream.h"
-
-#include "ttcp_i.h"
-
-#include <api/binding.H>
-#include <api/api.H>
-#include <api/coolThreadPool.H>
-#include <corba/eoa.H>
-#include <corba/eorb.H>
-
-#include "ttcp.H"
-#include "sk_ttcp.H"
-#include "sk_ttcp.C"
-
-ACE_RCSID(COOL, server, "$Id$")
-
-char Usage[] = "\
-Usage: server [COOL options] [Common options] \n\
- [COOL options] ** these are required ** \n\
- cool-tcp://<THIS_HOSTNAME>:<THIS_HOST_PORT> -cool-tcp -cool-iiop \n\n\
- THIS_HOSTNAME : the name of the host that the server will be running on. \n\
- This is useful if you want to specify a different interface (e.g. ATM, \n\
- 100Mbit Ethernet)\n\n\
- THIS_HOST_PORT: is the port number at which the server will start the high\n\
- priority servant. The low priority servant will be created at\n\
- (THIS_HOST_PORT+1).\n\n\
- [Common options]:\n\
- -l ## length of bufs read from or written to network (default 8192)\n\
- -v verbose: print more statistics\n\
- -d ## set debug level \n\
- -f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n\
- -L ## Output file name for the data type used\n\n\
-";
-
-CORBA::Long trans = 0; // we are the receiver
-CORBA::Long buflen = 8 * 1024; // length of buffer
-CORBA::Char *buf; // ptr to dynamic buffer
-CORBA::Long nbuf; // number of buffers to send in sinkmode
-CORBA::Long verbose = 0; // 0=print basic info, 1=print cpu rate, proc
- // resource usage.
-CORBA::Char fmt = 'K'; // output format:k=kilobits,K=kilobytes, m =
- // megabits, M = megabytes, g = gigabits, G =
- // gigabytes
-u_int debug_level = 0;
-
-CORBA::String title = 0; // results filename
-
-CORBA::Char stats[128]; // gathering the statistics
-CORBA::ULong srcDataSize; // Total amount of source data
-CORBA::ULong nbytes; // bytes on net
-CORBA::ULong numCalls; // # of I/O system calls
-CORBA::Double cput, realt; // user, real time (seconds)
-CORBA::ULong dt; // data type
-
-/* declare struct variables for various message types */
-ttcp_sequence::ShortSeq *sseq;
-ttcp_sequence::LongSeq *lseq;
-ttcp_sequence::OctetSeq *oseq;
-ttcp_sequence::DoubleSeq *dseq;
-ttcp_sequence::CharSeq *cseq;
-ttcp_sequence::StructSeq *Sseq;
-
-// main program - Driver
-int
-main (int argc, char **argv)
-{
-
- int c; // option
- CORBA::Environment env; // environment
- CORBA_ORB_ptr orb_ptr; // handle to the ORB
- CORBA_BOA_ptr oa_ptr; // Object adapter
- CORBA::String str; // for stringified representation of the object reference
- ttcp_sequence_i my_ttcp_i ("TTCP_IIOP_test"); // instance of the target object
- ttcp_sequence_ptr my_ttcp;
-
- COOL::EOA::bind(argv[1], env);
- if (env.exception() != 0)
- {
- ACE_ERROR_RETURN ((LM_ERROR,
- "Impossible to bind the ORB to the description:%s\n",
- argv[1]), -1);
- }
-
- // initialize the underlying ORB and get a handle to it
- orb_ptr = CORBA_ORB_init (argc, argv, 0, env);
- if (env.exception () != 0)
- {
- ACE_DEBUG ((LM_ERROR, "ORB_init failed..\n"));
- CORBA::SystemException* ex;
-
- ex = CORBA::SystemException::_narrow(env.exception());
- if (ex)
- {
- CORBA::String_var msg = ex->message();
- fprintf(stderr, "%s.\n", (const char*) msg);
- }
- else
- {
- fprintf(stderr, "Unknown user exception.\n");
- }
- return -1;
- }
-
- // now get a handle to the object adapter
- oa_ptr = orb_ptr->OA_init (argc, argv, 0, env);
- if (env.exception () != 0)
- {
- CORBA::SystemException* ex;
-
- ex = CORBA::SystemException::_narrow(env.exception());
- if (ex)
- {
- CORBA::String_var msg = ex->message();
- fprintf(stderr, "%s.\n", (const char*) msg);
- }
- else
- {
- fprintf(stderr, "Unknown user exception.\n");
- }
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- -1);
- }
-
- // for parsing the arguments
- ACE_Get_Opt get_opt (argc, argv, "l:vd:f:L:", 2, 1);
- debug_level = 0;
- while ((c = get_opt ()) != -1)
- {
- switch (c)
- {
- case 'v':
- verbose = 1;
- break;
- case 'L':
- // title of output file that stores result
- title = ACE_OS::strdup (get_opt.optarg);
- break;
- case 'd':
- // debugging level
- debug_level = ACE_OS::atoi (get_opt.optarg);
- if (debug_level > 10)
- debug_level = 10;
- break;
- case 'f':
- // output format i.e., Mbps, Kbps, etc
- fmt = *get_opt.optarg;
- break;
- default:
- ACE_ERROR ((LM_ERROR, "Usage error\n"));
- ACE_ERROR ((LM_ERROR, "%s\n", Usage));
- return -1;
- }
- }
-
- //
- // Receiver
- //
-
- COOL::EOABindingData bindingData;
-
- COOL_bind (my_ttcp_i, my_ttcp, bindingData, env);
-
- if (env.exception ())
- {
- ACE_DEBUG ((LM_ERROR, "Bind failed.\n"));
- return -1;
- }
-
- if (debug_level > 0)
- {
- // get a stringified representation of the object reference created above
- str = orb_ptr->object_to_string (my_ttcp, env);
- if (env.exception() != 0)
- {
- CORBA::SystemException* ex;
-
- ex = CORBA::SystemException::_narrow(env.exception());
- if (ex)
- {
- CORBA::String_var msg = ex->message();
- fprintf(stderr, "%s.\n", (const char*) msg);
- }
- else
- {
- fprintf(stderr, "Unknown user exception.\n");
- }
- return -1;
- }
- ACE_DEBUG ((LM_DEBUG, "stringified obj reference = %s\n", str));
- }
-
-#if defined (ACE_HAS_QUANTIFY)
- // gather profile data
- quantify_clear_data();
- quantify_start_recording_data();
-#endif /* ACE_HAS_QUANTIFY */
-
- // Handle requests for this object until we're killed, or one of the
- // methods asks us to exit.
- ACE_DEBUG ((LM_DEBUG, "Entering boa->run ().\n"));
- oa_ptr->run ();
-
- return 0;
-}
diff --git a/TAO/performance-tests/Thruput/COOL/ttcp.idl b/TAO/performance-tests/Thruput/COOL/ttcp.idl
deleted file mode 100644
index bccdf4e374e..00000000000
--- a/TAO/performance-tests/Thruput/COOL/ttcp.idl
+++ /dev/null
@@ -1,36 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-struct BinStruct
-{
- short s;
- char c;
- long l;
- octet o;
- double d;
- // octet pad[8]; // to make it 32 bytes
- // commented out until IDL support for arrays is added
-};
-
-// Richly typed data
-interface ttcp_sequence
-{
- typedef sequence<short> ShortSeq;
- typedef sequence<long> LongSeq;
- typedef sequence<double> DoubleSeq;
- typedef sequence<char> CharSeq;
- typedef sequence<octet> OctetSeq;
- typedef sequence<BinStruct> StructSeq;
-
-
- // Routines to send sequences of various data types
- oneway void sendShortSeq (in ShortSeq ttcp_seq);
- oneway void sendLongSeq (in LongSeq ttcp_seq);
- oneway void sendDoubleSeq (in DoubleSeq ttcp_seq);
- oneway void sendCharSeq (in CharSeq ttcp_seq);
- oneway void sendOctetSeq (in OctetSeq ttcp_seq);
- oneway void sendStructSeq (in StructSeq ttcp_seq);
-
- oneway void start_timer ();
- oneway void stop_timer ();
-};
diff --git a/TAO/performance-tests/Thruput/COOL/ttcp_decl.h b/TAO/performance-tests/Thruput/COOL/ttcp_decl.h
deleted file mode 100644
index 7f8d161e143..00000000000
--- a/TAO/performance-tests/Thruput/COOL/ttcp_decl.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// $Id$
-
-/*
- * T T C P Header File
- *
- */
-
-/* This file includes all the declarations and prototypes */
-
-#ifndef _TTCP_DECL_H_
-#define _TTCP_DECL_H_
-
-#include "ace/OS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Profile_Timer.h"
-
-/* File to be included if Quantify is to be used */
-#if defined (ACE_HAS_QUANTIFY)
-# include <quantify.h>
-#endif /* ACE_HAS_QUANTIFY */
-
-
-/* define the data types to be sent */
-#define SEND_SHORT ((CORBA::ULong)(1))
-#define SEND_LONG ((CORBA::ULong)(2))
-#define SEND_CHAR ((CORBA::ULong)(3))
-#define SEND_OCTET ((CORBA::ULong)(4))
-#define SEND_DOUBLE ((CORBA::ULong)(5))
-#define SEND_STRUCT ((CORBA::ULong)(6))
-#define SEND_COMPOSITE ((CORBA::ULong)(7))
-
-/**************
-// Prototypes
-***************/
-int err (char *s);
-void mes (CORBA::Char *s);
-CORBA::String outfmt (CORBA::Double b);
-void prep_timer (void);
-CORBA::Double read_timer (char *str, CORBA::Long len);
-void prusage (register struct rusage *r0, struct rusage *r1, struct timeval *e, struct timeval *b, char *outp);
-void tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1);
-void tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0);
-void psecs (CORBA::Long l, register char *cp);
-void delay (CORBA::Long us);
-void FillPattern (register char *cp, register CORBA::Long bufLen, CORBA::ULong dt);
-void PrintStats (void);
-
-/* Global variables defined here as extern */
-extern ACE_Svc_Export CORBA::Long trans; // whether we are transmitter
- // or receiver
-extern ACE_Svc_Export CORBA::Long buflen; /* length of buffer */
-extern ACE_Svc_Export char *buf; /* ptr to dynamic buffer */
-extern ACE_Svc_Export CORBA::Long nbuf; /* number of buffers to send in sinkmode */
-extern ACE_Svc_Export CORBA::Short port; /* TCP port number */
-extern ACE_Svc_Export char *host; /* ptr to name of host */
-extern ACE_Svc_Export CORBA::Long verbose; /* 0=print basic info, 1=prCORBA::Long cpu rate, proc
- * resource usage. */
-extern ACE_Svc_Export CORBA::Char fmt; /* output format:k=kilobits,K=kilobytes,
- * m = megabits, M = megabytes,
- * g = gigabits, G = gigabytes */
-extern ACE_Svc_Export char *title;
-
-extern ACE_Svc_Export char stats[128];
-extern ACE_Svc_Export CORBA::ULong srcDataSize; /* Total amount of source data */
-extern ACE_Svc_Export CORBA::ULong nbytes; /* bytes on net */
-extern ACE_Svc_Export CORBA::ULong numCalls; /* # of I/O system calls */
-extern ACE_Svc_Export CORBA::Double cput, realt; /* user, real time (seconds) */
-extern ACE_Svc_Export CORBA::ULong dt;
-
-/* declare struct variables for various message types */
-extern ACE_Svc_Export ttcp_sequence::ShortSeq *sseq;
-extern ACE_Svc_Export ttcp_sequence::LongSeq *lseq;
-extern ACE_Svc_Export ttcp_sequence::OctetSeq *oseq;
-extern ACE_Svc_Export ttcp_sequence::DoubleSeq *dseq;
-extern ACE_Svc_Export ttcp_sequence::CharSeq *cseq;
-extern ACE_Svc_Export ttcp_sequence::StructSeq *Sseq;
-
-#endif
diff --git a/TAO/performance-tests/Thruput/COOL/ttcp_i.cpp b/TAO/performance-tests/Thruput/COOL/ttcp_i.cpp
deleted file mode 100644
index 9686de3d056..00000000000
--- a/TAO/performance-tests/Thruput/COOL/ttcp_i.cpp
+++ /dev/null
@@ -1,103 +0,0 @@
-// $Id$
-
-//#include <iostream.h>
-#include "ace/ACE.h"
-#include "ace/streams.h"
-#include "ttcp_i.h"
-#include "ttcp_decl.h"
-
-ACE_RCSID(COOL, ttcp_i, "$Id$")
-
-/* the ttcp_i class implementation */
-ttcp_sequence_i::ttcp_sequence_i (const char *obj_name)
-{
- this->nbytes_ = 0;
- numCalls = 0;
-}
-
-void
-ttcp_sequence_i::start_timer (CORBA::Environment &IT_env)
-{
- ACE_UNUSED_ARG (IT_env);
- this->nbytes_ = 0;
- ::prep_timer ();
-}
-
-void
-ttcp_sequence_i::stop_timer (CORBA::Environment &IT_env)
-{
- ACE_UNUSED_ARG (IT_env);
-
- (void) ::read_timer (stats, sizeof (stats));
- ::nbytes = this->nbytes_;
- ::PrintStats();
- // reset
- this->nbytes_ = 0;
- numCalls = 0;
-#if defined (ACE_HAS_QUANTIFY)
- quantify_stop_recording_data();
- ACE_Service_Config::end_reactor_event_loop();
- ACE_OS::fprintf (stderr, "*********** just before exiting\n");
-#endif
-#if defined (ACE_HAS_PURIFY)
- ACE_Service_Config::end_reactor_event_loop();
- ACE_OS::fprintf (stderr, "*********** just before exiting\n");
-#endif
-}
-
-void
-ttcp_sequence_i::sendShortSeq (const ttcp_sequence::ShortSeq& ttcp_seq,
- CORBA::Environment &IT_env)
-{
- ACE_UNUSED_ARG (IT_env);
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Short);
-}
-
-void
-ttcp_sequence_i::sendLongSeq (const ttcp_sequence::LongSeq& ttcp_seq,
- CORBA::Environment &IT_env)
-{
- ACE_UNUSED_ARG (IT_env);
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Long) ;
-}
-
-void
-ttcp_sequence_i::sendOctetSeq (const ttcp_sequence::OctetSeq& ttcp_seq,
- CORBA::Environment &IT_env)
-{
- ACE_UNUSED_ARG (IT_env);
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Octet) ;
-}
-
-void
-ttcp_sequence_i::sendDoubleSeq (const ttcp_sequence::DoubleSeq& ttcp_seq,
- CORBA::Environment &IT_env)
-{
- ACE_UNUSED_ARG (IT_env);
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Double) ;
-}
-
-void
-ttcp_sequence_i::sendCharSeq (const ttcp_sequence::CharSeq& ttcp_seq,
- CORBA::Environment &IT_env)
-{
- ACE_UNUSED_ARG (IT_env);
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Char) ;
-}
-
-void
-ttcp_sequence_i::sendStructSeq (const ttcp_sequence::StructSeq& ttcp_seq,
- CORBA::Environment &IT_env)
-{
- ACE_UNUSED_ARG (IT_env);
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(BinStruct) ;
-#ifdef DEBUG
- // cout << "Bytes received so far = " << this->nbytes_ << endl;
-#endif
-}
diff --git a/TAO/performance-tests/Thruput/COOL/ttcp_i.h b/TAO/performance-tests/Thruput/COOL/ttcp_i.h
deleted file mode 100644
index 3fb4ebe6152..00000000000
--- a/TAO/performance-tests/Thruput/COOL/ttcp_i.h
+++ /dev/null
@@ -1,49 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = COOL tests
-// Throughput measurement using the TTCP benchmark adapted to work using COOL
-//
-// = FILENAME
-// ttcp_i.h
-//
-// = AUTHOR
-// Aniruddha Gokhale
-// Sergio Flores-Gaitan Ported to COOL
-//
-// ============================================================================
-
-#ifndef TTCP_I_H
-#define TTCP_I_H
-
-#include "ttcp.H"
-
-class ttcp_sequence_i
-{
-public:
- ttcp_sequence_i (const char *obj_name = 0);
-
- virtual void sendShortSeq (const ttcp_sequence::ShortSeq& ttcp_seq,
- CORBA::Environment &IT_env);
- virtual void sendLongSeq (const ttcp_sequence::LongSeq& ttcp_seq,
- CORBA::Environment &IT_env);
- virtual void sendDoubleSeq (const ttcp_sequence::DoubleSeq& ttcp_seq,
- CORBA::Environment &IT_env);
- virtual void sendCharSeq (const ttcp_sequence::CharSeq& ttcp_seq,
- CORBA::Environment &IT_env);
- virtual void sendStructSeq (const ttcp_sequence::StructSeq& ttcp_seq,
- CORBA::Environment &IT_env);
- virtual void sendOctetSeq (const ttcp_sequence::OctetSeq& ttcp_seq,
- CORBA::Environment &IT_env);
-
- /* Routines to calculate the time required to transfer */
- virtual void start_timer (CORBA::Environment &IT_env);
- virtual void stop_timer (CORBA::Environment &IT_env);
-
-private:
- unsigned long nbytes_;
-};
-
-#endif // defined (TTCP_I_H)
-
diff --git a/TAO/performance-tests/Thruput/COOL/utils.cpp b/TAO/performance-tests/Thruput/COOL/utils.cpp
deleted file mode 100644
index 7894658d5c7..00000000000
--- a/TAO/performance-tests/Thruput/COOL/utils.cpp
+++ /dev/null
@@ -1,469 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = TAO tests
-// Throughput measurement using the TTCP benchmark adapted to work using TAO
-//
-// = FILENAME
-// utils.cpp
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-// This file has all the helper functions that do the computation of
-// throughput, system time used, user time, etc based on data collected.
-
-#include "ttcp.H"
-#include "ttcp_decl.h"
-
-ACE_RCSID(COOL, utils, "$Id$")
-
-// the error function.
-// displays the error message and exits
-int err (char * s)
-{
- ACE_OS::fprintf (stderr, "ttcp%s: ", trans ? "-t" : "-r");
- ACE_OS::perror (s);
- ACE_OS::fprintf (stderr, "errno=%d\n", errno);
- return -1;
-}
-
-// prints a message indicating if it is a transmitter or a receiver
-void mes (CORBA::String s)
-{
- ACE_OS::fprintf (stderr, "ttcp%s: %s\n", trans ? "-t" : "-r", s);
-}
-
-// does the formatting for the desired units in which the result is to be
-// displayed
-CORBA::String
-outfmt (CORBA::Double b)
-{
- static char obuf[50];
- switch (fmt)
- {
- case 'G':
- ACE_OS::sprintf (obuf, "%.2f GB", b / 1024.0 / 1024.0 / 1024.0);
- break;
- default:
- case 'K':
- ACE_OS::sprintf (obuf, "%.2f KB", b / 1024.0);
- break;
- case 'M':
- ACE_OS::sprintf (obuf, "%.2f MB", b / 1024.0 / 1024.0);
- break;
- case 'g':
- ACE_OS::sprintf (obuf, "%.2f Gbit", b * 8.0 / 1024.0 / 1024.0 / 1024.0);
- break;
- case 'k':
- ACE_OS::sprintf (obuf, "%.2f Kbit", b * 8.0 / 1024.0);
- break;
- case 'm':
- ACE_OS::sprintf (obuf, "%.2f Mbit", b * 8.0 / 1024.0 / 1024.0);
- break;
- }
- return obuf;
-}
-
-static struct itimerval itime0; /* Time at which timing started */
-static struct rusage ru0; /* Resource utilization at the start */
-
-/*
- * P R E P _ T I M E R
- */
-// this is in fact the internals of the "start_timer" operation
-void
-prep_timer (void)
-{
- itime0.it_interval.tv_sec = 0;
- itime0.it_interval.tv_usec = 0;
- itime0.it_value.tv_sec = LONG_MAX / 22; /* greatest possible value , itimer() count backwards */
- itime0.it_value.tv_usec = 0;
-
-
- ACE_OS::getrusage (RUSAGE_SELF, &ru0);
-
- /* Init REAL Timer */
- if (setitimer (ITIMER_REAL, &itime0, NULL))
- {
- perror ("Setting 'itimer' REAL failed");
- return;
- }
-
-}
-
-/*
- * R E A D _ T I M E R
- *
- */
-// This implements the internals of the "stop_timer" method
-double
-read_timer (char *str, CORBA::Long len)
-{
- struct itimerval itimedol;
- struct rusage ru1;
- struct timeval td;
- struct timeval tend, tstart;
- char line[132];
-
- ACE_OS::getrusage (RUSAGE_SELF, &ru1);
-
- if (getitimer (ITIMER_REAL, &itimedol))
- {
- perror ("Getting 'itimer' REAL failed");
- return (0.0);
- }
-
- prusage (&ru0, &ru1, &itime0.it_value, &itimedol.it_value, line);
- (void) strncpy (str, line, len);
-
- /* Get real time */
- tvsub (&td, &itime0.it_value, &itimedol.it_value);
- realt = td.tv_sec + ((double) td.tv_usec) / 1000000;
-
- /* Get CPU time (user+sys) */
- tvadd (&tend, &ru1.ru_utime, &ru1.ru_stime);
- tvadd (&tstart, &ru0.ru_utime, &ru0.ru_stime);
- tvsub (&td, &tend, &tstart);
- cput = td.tv_sec + ((double) td.tv_usec) / 1000000;
- if (cput < 0.00001)
- cput = 0.00001;
- return (cput);
-}
-
-// prints the rusage stats
-void
-prusage (register struct rusage *r0, struct rusage *r1,
- struct timeval *e, struct timeval *b, char *outp)
-{
- struct timeval tdiff;
- register time_t t;
- register char *cp;
- register int i;
- int ms;
-
- t = (r1->ru_utime.tv_sec - r0->ru_utime.tv_sec) * 100 +
- (r1->ru_utime.tv_usec - r0->ru_utime.tv_usec) / 10000 +
- (r1->ru_stime.tv_sec - r0->ru_stime.tv_sec) * 100 +
- (r1->ru_stime.tv_usec - r0->ru_stime.tv_usec) / 10000;
- ms = (e->tv_sec - b->tv_sec) * 100 + (e->tv_usec - b->tv_usec) / 10000;
-
-#define END(x) {while(*x) x++;}
-#if defined(SYSV)
- cp = "%Uuser %Ssys %Ereal %P";
-#else
-#if defined(sgi) /* IRIX 3.3 will show 0 for %M,%F,%R,%C */
- cp = "%Uuser %Ssys %Ereal %P %Mmaxrss %F+%Rpf %Ccsw";
-#else
- cp = "%Uuser %Ssys %Ereal %P %Xi+%Dd %Mmaxrss %F+%Rpf %Ccsw";
-#endif
-#endif
- for (; *cp; cp++)
- {
- if (*cp != '%')
- *outp++ = *cp;
- else if (cp[1])
- switch (*++cp)
- {
-
- case 'U':
- tvsub (&tdiff, &r1->ru_utime, &r0->ru_utime);
- ACE_OS::sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec / 100000);
- END (outp);
- break;
-
- case 'S':
- tvsub (&tdiff, &r1->ru_stime, &r0->ru_stime);
- ACE_OS::sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec / 100000);
- END (outp);
- break;
-
- case 'E':
- psecs (ms / 100, outp);
- END (outp);
- break;
-
- case 'P':
- ACE_OS::sprintf (outp, "%d%%", (int) (t * 100 / ((ms ? ms : 1))));
- END (outp);
- break;
-
-#if !defined(SYSV)
- case 'W':
- i = r1->ru_nswap - r0->ru_nswap;
- ACE_OS::sprintf (outp, "%d", i);
- END (outp);
- break;
-
- case 'X':
- ACE_OS::sprintf (outp, "%d", t == 0 ? 0 : (r1->ru_ixrss - r0->ru_ixrss) / t);
- END (outp);
- break;
-
- case 'D':
- ACE_OS::sprintf (outp, "%d", t == 0 ? 0 :
- (r1->ru_idrss + r1->ru_isrss - (r0->ru_idrss + r0->ru_isrss)) / t);
- END (outp);
- break;
-
- case 'K':
- ACE_OS::sprintf (outp, "%d", t == 0 ? 0 :
- ((r1->ru_ixrss + r1->ru_isrss + r1->ru_idrss) -
- (r0->ru_ixrss + r0->ru_idrss + r0->ru_isrss)) / t);
- END (outp);
- break;
-
- case 'M':
- ACE_OS::sprintf (outp, "%d", r1->ru_maxrss / 2);
- END (outp);
- break;
-
- case 'F':
- ACE_OS::sprintf (outp, "%d", r1->ru_majflt - r0->ru_majflt);
- END (outp);
- break;
-
- case 'R':
- ACE_OS::sprintf (outp, "%d", r1->ru_minflt - r0->ru_minflt);
- END (outp);
- break;
-
- case 'I':
- ACE_OS::sprintf (outp, "%d", r1->ru_inblock - r0->ru_inblock);
- END (outp);
- break;
-
- case 'O':
- ACE_OS::sprintf (outp, "%d", r1->ru_oublock - r0->ru_oublock);
- END (outp);
- break;
- case 'C':
- ACE_OS::sprintf (outp, "%d+%d", r1->ru_nvcsw - r0->ru_nvcsw,
- r1->ru_nivcsw - r0->ru_nivcsw);
- END (outp);
- break;
-#endif /* !SYSV */
- }
- }
- *outp = '\0';
-}
-
-// adds two "timeval" structures
-void
-tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1)
-{
-
- tsum->tv_sec = t0->tv_sec + t1->tv_sec;
- tsum->tv_usec = t0->tv_usec + t1->tv_usec;
- if (tsum->tv_usec > 1000000)
- tsum->tv_sec++, tsum->tv_usec -= 1000000;
-}
-
-// finds difference between two timevals
-void
-tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0)
-{
-
- tdiff->tv_sec = t1->tv_sec - t0->tv_sec;
- tdiff->tv_usec = t1->tv_usec - t0->tv_usec;
- if (tdiff->tv_usec < 0)
- tdiff->tv_sec--, tdiff->tv_usec += 1000000;
-}
-
-// print in seconds
-void
-psecs (CORBA::Long l, register char *cp)
-{
- register int i;
-
- i = l / 3600;
- if (i)
- {
- ACE_OS::sprintf (cp, "%d:", i);
- END (cp);
- i = l % 3600;
- ACE_OS::sprintf (cp, "%d%d", (i / 60) / 10, (i / 60) % 10);
- END (cp);
- }
- else
- {
- i = l;
- ACE_OS::sprintf (cp, "%d", i / 60);
- END (cp);
- }
- i %= 60;
- *cp++ = ':';
- ACE_OS::sprintf (cp, "%d%d", i / 10, i % 10);
-}
-
-// generate the specified delay in microseconds
-void
-delay (int us)
-{
- struct timeval tv;
-
- tv.tv_sec = 0;
- tv.tv_usec = us;
- (void) select (1, (fd_set *) 0, (fd_set *) 0, (fd_set *) 0, &tv);
-}
-
-// fill up a buffer with a data type that we want to send
-void
-FillPattern (register char *cp, register CORBA::Long bufLen, CORBA::ULong dt)
-{
- unsigned long
- num, i;
-
- switch(dt){
- case SEND_SHORT:
- {
- register short *SeqPtr = (short *)cp;
- num = bufLen/sizeof(short);
- for (i=0; i < num; i++)
- SeqPtr[i] = (short)lrand48();
- sseq = new ttcp_sequence::ShortSeq(num,num, SeqPtr);
- }
- break;
- case SEND_LONG:
- {
- register long *SeqPtr = (long *)cp;
- num = bufLen/sizeof(long);
- for (i=0; i < num; i++)
- SeqPtr[i] = lrand48();
- lseq = new ttcp_sequence::LongSeq(num, num, SeqPtr);
- }
- break;
- case SEND_DOUBLE:
- {
- register double *SeqPtr = (double *)cp;
- num = bufLen/sizeof(double);
- for (i=0; i < num; i++)
- SeqPtr[i] = drand48();
- dseq = new ttcp_sequence::DoubleSeq(num, num, SeqPtr);
- }
- break;
- case SEND_CHAR:
- {
- register CORBA::Char *SeqPtr = (CORBA::Char *)cp;
- register char c = 0;
- num = bufLen/sizeof(char);
- for(i=0; i < num; i++){
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i] = (c++ & 0x7f);
- }
- cseq = new ttcp_sequence::CharSeq(num, num, SeqPtr);
- }
- break;
- case SEND_STRUCT:
- {
- register BinStruct *SeqPtr = (BinStruct *)cp;
- register char c = 0;
- num = bufLen/sizeof(BinStruct);
- for (i=0; i < num; i++){
- SeqPtr[i].s = (short)lrand48();
- SeqPtr[i].l = lrand48();
- SeqPtr[i].d = drand48();
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i].c = (c++ & 0x7f);
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i].o = (unsigned char)(c++ & 0x7f);
- }
- Sseq = new ttcp_sequence::StructSeq(num, num, SeqPtr);
-
- }
- break;
- case SEND_OCTET:
- default:
- {
- register CORBA::Octet *SeqPtr = (CORBA::Octet *)cp;
- register char c = 0;
- num = bufLen/sizeof(CORBA::Octet);
- for(i=0; i < num; i++){
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i] = (c++ & 0x7f);
- }
- oseq = new ttcp_sequence::OctetSeq(num, num, SeqPtr);
- }
- break;
- }
-}
-
-// print all the statistics
-void PrintStats (void)
-{
- if (cput <= 0.0)
- cput = 0.001;
- if (realt <= 0.0)
- realt = 0.001;
-
- if (title != 0)
- {
- double tmp;
- FILE *outFile;
- char filename[BUFSIZ];
-
- strcpy(filename, title);
- switch(dt){
- case SEND_SHORT:
- strcat(filename, ".shortSeq.results");
- break;
- case SEND_LONG:
- strcat(filename, ".longSeq.results");
- break;
- case SEND_DOUBLE:
- strcat(filename, ".doubleSeq.results");
- break;
- case SEND_CHAR:
- strcat(filename, ".charSeq.results");
- break;
- case SEND_STRUCT:
- strcat(filename, ".structSeq.results");
- break;
- case SEND_COMPOSITE:
- strcat(filename, ".compositeSeq.results");
- break;
- case SEND_OCTET:
- default:
- strcat(filename, ".octetSeq.results");
- break;
- }
- outFile = fopen (filename, "a+");
- ACE_OS::fprintf (outFile, "\n%ldk \t", buflen / 1024);
- tmp = ((double) nbytes) / realt;
- ACE_OS::fprintf (outFile, "%.2f ", tmp * 8.0 / 1024.0 / 1024.0);
- fclose (outFile);
- }
-
- ACE_OS::fprintf (stdout,
- "ttcp%s: %ld bytes in %.2f real seconds = %s/sec +++\n",
- trans ? "-t" : "-r",
- nbytes, realt, outfmt (((double) nbytes) / realt));
- if (verbose)
- {
- ACE_OS::fprintf (stdout,
- "ttcp%s: %ld bytes in %.2f CPU seconds = %s/cpu sec\n",
- trans ? "-t" : "-r",
- nbytes, cput, outfmt (((double) nbytes) / cput));
- }
- ACE_OS::fprintf (stdout,
- "ttcp%s: %d Server Method calls, msec/call = %.2f, calls/sec = %.2f\n",
- trans ? "-t" : "-r",
- numCalls,
- 1024.0 * realt / ((double) numCalls),
- ((double) numCalls) / realt);
- ACE_OS::fprintf (stdout, "ttcp%s: %s\n", trans ? "-t" : "-r", stats);
- if (verbose)
- {
- ACE_OS::fprintf (stdout,
- "ttcp%s: buffer address %#x\n",
- trans ? "-t" : "-r",
- buf);
- }
-}
diff --git a/TAO/performance-tests/Thruput/CORBAplus/Makefile b/TAO/performance-tests/Thruput/CORBAplus/Makefile
deleted file mode 100644
index cc6db955b9a..00000000000
--- a/TAO/performance-tests/Thruput/CORBAplus/Makefile
+++ /dev/null
@@ -1,68 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Top-level Makefile for the Thruput benchmark
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-LDLIBS = -lcorba -lunixsvc -lpbroker -lboadc -lnaming -llifecycl -lfsstream
-
-IDL_SRC = ttcp.cpp ttcp_s.cpp
-PROG_SRCS = $(IDL_SRC) client.cpp ttcp_i.cpp server.cpp utils.cpp
-
-LSRC = $(PROG_SRCS)
-
-TTCP_CLIENT_OBJS = ttcp.o client.o utils.o
-
-TTCP_SERVER_OBJS = ttcp.o ttcp_s.o server.o ttcp_i.o utils.o
-
-BIN = client server
-
-BUILD = $(BIN)
-
-VLDLIBS = $(LDLIBS:%=%$(VAR))
-VBIN = $(BIN:%=%$(VAR))
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-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.lib.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): ttcp.idl
- $(PBHOME)/bin/idlc ttcp.idl
- -/bin/mv ttcp.C ttcp.cpp
- -/bin/mv ttcp_s.C ttcp_s.cpp
-
-server: $(addprefix $(VDIR),$(TTCP_SERVER_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(PBHOME)/lib/iiop_s.o $(VLDLIBS) $(POSTLINK)
-#patch on the previous line to allow reading from an environment variable
-#the host (interface) I would like the server to bind to.
-#The patch is "$(PBHOME)/lib/iiop_s.o"
-
-client: $(addprefix $(VDIR),$(TTCP_CLIENT_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
-
-clean:
- -/bin/rm -rf *.o $(BIN) obj.* core Templates.DB .make.state
-
-realclean: clean
- -/bin/rm -rf ttcp.cpp ttcp.h ttcp_s.cpp ttcp_s.h
diff --git a/TAO/performance-tests/Thruput/CORBAplus/README b/TAO/performance-tests/Thruput/CORBAplus/README
deleted file mode 100644
index 14ffcd4e0e3..00000000000
--- a/TAO/performance-tests/Thruput/CORBAplus/README
+++ /dev/null
@@ -1,47 +0,0 @@
- CORBAplus TTCP Benchmark README file
-
-This directory contains a modified version of the TTCP benchmark that
-uses the TAO ORB. TTCP is used to measure the throughput of CORBAplus
-for sending different data types. This code tests sequences of short,
-long, octet, char, double, and richly-typed data such as a struct.
-
-Organization
-------------
-
-client.cpp Client main program
-server.cpp Server main program
-ttcp.cpp Client side stubs
-ttcp_s.cpp Server side skeletons
-ttcp.h Header file for stubs
-ttcp_s.h Header file for the skeletons
-ttcp_i.cpp Implementaion of the interface
-ttcp_i.h Header for the implementation
-utils.cpp Utilities to calculate throughput
-ttcp_decls.h Common declarations
-
-Results
--------
-//Throughput results are stored under the results directory. If testing
-//for REMOTE transfers, use the ./results/REMOTE directory.
-
-Running the tests
------------------
-Three scripts are provided
-
-(0) run_tests : run several clients sequentially. transmits 10Mb
-
-(1) run_server : runs the server. Be sure to change the host name
-(2) run_client : runs tests for various data types
-(3) run_test : called by run_client
-
-Compiling
----------
-
-Type make
-
-To provide for 2way tests (no data is sent in the reverse
-direction. Sender blocks for a minimal ACK), comment out the -DONEWAY
-flag from the CPPFLAGS
-
--Aniruddha Gokhale
-(gokhale@cs.wustl.edu)
diff --git a/TAO/performance-tests/Thruput/CORBAplus/client.cpp b/TAO/performance-tests/Thruput/CORBAplus/client.cpp
deleted file mode 100644
index ef2421c6b4e..00000000000
--- a/TAO/performance-tests/Thruput/CORBAplus/client.cpp
+++ /dev/null
@@ -1,305 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = TAO tests
-// Throughput measurement using the TTCP benchmark adapted to work using TAO
-//
-// = FILENAME
-// client.cpp
-//
-// Main program for the client
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#include <iostream.h>
-#include <fstream.h>
-
-#include "pbroker/corba/orb.h"
-#include "pbroker/corba/request.h"
-#include "pbroker/corba/environ.h"
-#include "ace/ACE.h"
-#include "ace/Get_Opt.h"
-#include "ttcp.h"
-#include "ttcp_decl.h"
-
-ACE_RCSID(CORBAplus, client, "$Id$")
-
-int print_usage (void);
-
-char Usage[] =
- "Usage: client [-options] \n"
- "Common options:\n"
- "-l ## length of bufs read from or written to network (default 8192)\n"
- "-v verbose: print more statistics\n"
- "-d ## debug level\n"
- "-f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n"
- "-h ## Remote host to send data to\n"
- "-p ## Port number"
- "-L ## Output file name to store results\n"
- "-S ## Total Data Size to be sent\n"
- "-q <type> Send Sequence: Enumeration for various data types:\n"
- "s = short, l = long, d = double, c = char\n"
- "o = octet, S = BinStruct \n";
-
-u_int _debug_level = 0;
-
-CORBA::Long trans = 1; // we are a client - used for debugging purposes
-CORBA::Long buflen = 8 * 1024; // length of buffer, default 8,192 bytes
-char *buf; // ptr to dynamic buffer
-CORBA::Long nbuf; // number of buffers to send in sinkmode
-CORBA::Short port = ACE_DEFAULT_SERVER_PORT; // TCP port number
-char *host = "localhost"; // ptr to name of host
-CORBA::Long verbose = 0; // 0=print basic info, 1=print cpu
- // rate, proc resource usage.
-CORBA::Char fmt = 'K'; // output
- // format:k=kilobits,K=kilobytes, m = megabits,
- // M = megabytes, g = gigabits, G = gigabytes
-char *title = 0; // title of file to gather statistics
-char stats[128]; // gathering the statistics
-unsigned long srcDataSize; // Total amount of source data
-unsigned long nbytes; // bytes on net
-unsigned long numCalls; // # of I/O system calls
-double cput, realt; // user, real time (seconds)
-unsigned long dt; // data type
-
-// declare variables for various message types
-ttcp_sequence::ShortSeq *sseq;
-ttcp_sequence::LongSeq *lseq;
-ttcp_sequence::OctetSeq *oseq;
-ttcp_sequence::DoubleSeq *dseq;
-ttcp_sequence::CharSeq *cseq;
-ttcp_sequence::StructSeq *Sseq;
-
-int
-main (int argc, char *argv[])
-{
- try {
- int c;
- CORBA::ORB_ptr orb_ptr; // underlying ORB
- CORBA::String objkey = "TTCP_IIOP_test"; // name of the TTCP object on the
- // server
- CORBA::Object_ptr objref = CORBA::Object::_nil(); // object reference
- ttcp_sequence_ptr ttcp_seq = 0; // obj reference to TTCP object
- CORBA::Environment env; // environment
- CORBA::String str; // holds the IOR
-
- fstream iorfile;
-
- ACE_UNUSED_ARG (objkey);
-
- // parse the arguments
- ACE_Get_Opt get_opt (argc, argv, "d:vh:f:l:L:S:q:"); // Command line options
- _debug_level = 0;
- while ((c = get_opt ()) != -1)
- {
- switch (c)
- {
- case 'h':
- host = ACE_OS::strdup (get_opt.optarg);
- break;
- case 'L':
- title = ACE_OS::strdup (get_opt.optarg);
- break;
- case 'd':
- _debug_level = ACE_OS::atoi (get_opt.optarg);
- if (_debug_level > 10)
- _debug_level = 10;
- break;
- case 'l':
- buflen = ACE_OS::atoi (get_opt.optarg);
- break;
- case 'v':
- verbose = 1;
- break;
- case 'f':
- fmt = *get_opt.optarg;
- break;
- case 'S': /* total source data to send. */
- srcDataSize = ACE_OS::atoi (get_opt.optarg);
- break;
- case 'q': /* Send sequence of desired data type */
- switch(*get_opt.optarg){
- case 's':
- dt = SEND_SHORT;
- break;
- case 'l':
- dt = SEND_LONG;
- break;
- case 'd':
- dt = SEND_DOUBLE;
- break;
- case 'c':
- dt = SEND_CHAR;
- break;
- case 'o':
- dt = SEND_OCTET;
- break;
- case 'S':
- dt = SEND_STRUCT;
- break;
- case 'C':
- dt = SEND_COMPOSITE;
- break;
- }
- break;
- // default:
- //return print_usage ();
- }
- }
-
- //
- // Transmitter
- //
-
- // get a handle to the ORB
- orb_ptr = CORBA::ORB_init (argc,
- argv);
- if (env.exception () != 0)
- {
- // env.print_exception ("ORB initialization", stdout);
- return -1;
- }
-
- // Retrieve a factory objref.
- objref = orb_ptr->resolve_initial_references ("TTCP_IIOP_test");
- // @@ put exception handling here !!
-
- if (CORBA::is_nil (objref) == CORBA_TRUE)
- ACE_ERROR_RETURN ((LM_ERROR,
- "resolve_initial_references returned null object for ttcp_sequence\n"),
- -1);
-
-
- if (!CORBA::is_nil (objref))
- {
- // if it is a valid obj ref, narrow it to a ttcp_sequence CORBA object
- ttcp_seq = ttcp_sequence::_narrow (objref);
-
- if (!CORBA::is_nil (ttcp_seq))
- {
-
- // the number of iterations is based on the total data size and the
- // individual buffer size sent
- nbuf = srcDataSize/buflen;
- ACE_DEBUG ((LM_DEBUG, "data size = %d, buflen = %d, nbuf = %d\n",
- srcDataSize, buflen, nbuf));
-
- //
- // Prepare the Message to be sent
- //
-
- // first allocate a buffer of the desired size and alignment
- errno = 0;
- if ((buf = (char *) ACE_OS::malloc (buflen)) == (char *) NULL)
- err ("malloc");
-
- // fill the buffer with the data type to be sent
- FillPattern (buf, buflen, dt);
-
- //
- // Start the timers on the client and server sides
- //
- prep_timer (); // start our time
- ttcp_seq->start_timer (); // ask the server to start its timer
- if (env.exception () != 0)
- {
- // env.print_exception ("start_timer operation", stdout);
- return -1;
- }
-
-#if defined (ACE_HAS_QUANTIFY)
- /* start recording quantify data from here */
- quantify_clear_data ();
- quantify_start_recording_data ();
-#endif /* ACE_HAS_QUANTIFY */
- // send the same buffer nbuf times
- while (nbuf--)
- {
- switch (dt){
- case SEND_SHORT:
- ttcp_seq->sendShortSeq (*sseq);
- nbytes += sseq->length () * sizeof (CORBA::Short);
- break;
- case SEND_LONG:
- ttcp_seq->sendLongSeq (*lseq);
- nbytes += lseq->length () * sizeof (CORBA::Long);
- break;
- case SEND_OCTET:
- ttcp_seq->sendOctetSeq (*oseq);
- nbytes += oseq->length () * sizeof (CORBA::Octet);
- break;
- case SEND_DOUBLE:
- ttcp_seq->sendDoubleSeq (*dseq);
- nbytes += dseq->length () * sizeof (CORBA::Double);
- break;
- case SEND_CHAR:
- ttcp_seq->sendCharSeq (*cseq);
- nbytes += cseq->length () * sizeof (CORBA::Char);
- break;
- case SEND_STRUCT:
- ttcp_seq->sendStructSeq (*Sseq);
- nbytes += Sseq->length () * sizeof (BinStruct);
- break;
- }
-
- numCalls++; // nbytes and numCalls are used in the thruput
- // measurement
- }
-#if defined (ACE_HAS_QUANTIFY)
- quantify_stop_recording_data();
-#endif /* ACE_HAS_QUANTIFY */
- //
- // Stop the timer
- //
- // stop the timer on the server side
- ttcp_seq->stop_timer ();
-
- if (env.exception () != 0)
- {
- // env.print_exception ("stop_timer operation", stdout);
- return -1;
- }
- // stop our timer
- (void) read_timer (stats, sizeof (stats));
-
- // print results
- PrintStats();
- }
- }
-
- CORBA::release (ttcp_seq);
- CORBA::release (objref);
- 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 print_usage (void)
-{
- ACE_ERROR ((LM_ERROR, "Usage error\n"));
- ACE_ERROR ((LM_ERROR, "%s\n", Usage));
- return -1;
-}
diff --git a/TAO/performance-tests/Thruput/CORBAplus/extract b/TAO/performance-tests/Thruput/CORBAplus/extract
deleted file mode 100644
index f0fc2947b92..00000000000
--- a/TAO/performance-tests/Thruput/CORBAplus/extract
+++ /dev/null
@@ -1,4 +0,0 @@
-rm -f outfile
-touch outfile
-grep "Mbit/sec\|Send" results.CP | head -20 > outfile
-grep "msec/call\|Send" results.CP | head -20 >> outfile
diff --git a/TAO/performance-tests/Thruput/CORBAplus/run b/TAO/performance-tests/Thruput/CORBAplus/run
deleted file mode 100644
index 009677fdcde..00000000000
--- a/TAO/performance-tests/Thruput/CORBAplus/run
+++ /dev/null
@@ -1 +0,0 @@
-client -S 67108864 -f m -l $1 -L temp -q $2 -d $3
diff --git a/TAO/performance-tests/Thruput/CORBAplus/run_client b/TAO/performance-tests/Thruput/CORBAplus/run_client
deleted file mode 100644
index 9e6932f8ae6..00000000000
--- a/TAO/performance-tests/Thruput/CORBAplus/run_client
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/csh -f
-# All ATM tests: 64k socket Queue Size
-#
-# shorts
-run_test 67108864 128 $1 ./results/REMOTE/$1/sun-iiop.atm.64 s $2
-sleep 5
-# longs
-run_test 67108864 128 $1 ./results/REMOTE/$1/sun-iiop.atm.64 l $2
-sleep 5
-# octets
-run_test 67108864 128 $1 ./results/REMOTE/$1/sun-iiop.atm.64 o $2
-sleep 5
-# doubles
-run_test 67108864 128 $1 ./results/REMOTE/$1/sun-iiop.atm.64 d $2
-sleep 5
-# chars
-#run_test 67108864 128 $1 ./results/REMOTE/$1/sun-iiop.atm.64 c $2
-#sleep 5
-# structures
-run_test 67108864 128 $1 ./results/REMOTE/$1/sun-iiop.atm.64 S $2
-sleep 5
-# Composite Structs
-#run_test 67108864 128 $1 ./results/REMOTE/$1/sun-iiop.atm.64 C $2
-#sleep 5
-#
diff --git a/TAO/performance-tests/Thruput/CORBAplus/run_server b/TAO/performance-tests/Thruput/CORBAplus/run_server
deleted file mode 100644
index e4faa5331e4..00000000000
--- a/TAO/performance-tests/Thruput/CORBAplus/run_server
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/csh
-#
-# Usage: server <switches>
-# -u : use IOR
-# -f m : output results in Mbps
-# -b <sock Q size> ** not implemented **
-# -OAhost <host name> ************* must provide this for this version
-# -OAthread : use threaded version as opposed to reactive
-#
-server -f m -ORBhost mambo.cs.wustl.edu #-OAthread
diff --git a/TAO/performance-tests/Thruput/CORBAplus/run_test b/TAO/performance-tests/Thruput/CORBAplus/run_test
deleted file mode 100644
index 622b0b4fee6..00000000000
--- a/TAO/performance-tests/Thruput/CORBAplus/run_test
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/csh -f
-echo $*
-if ($#argv < 3) then
- echo "Usage: sclt <Total Data Size> <Max msg size> <destination> <TitleOfThisTest> <seq type> <destination-port>"
- exit 1
-endif
-#
-@ msize=1024
-@ limit= ($argv[2] * 1024)
-#echo $limit
-#echo $msize
-test -d $4 || mkdir $4
-echo "Iteration#" 1 ": client -pbtrace -pbinit TTCP_IIOP_test iiop://$3:$6/TTCP_IIOP_test -S" $1 "-D -f m -s -t -l" $msize "-h" $3 "-x -L" $4 "-q" $5 -b 65536
-client -pbtrace -pbinit TTCP_IIOP_test iiop://$3:$6/TTCP_IIOP_test -S $1 -f m -l $msize -h $3 -L $4 -q $5
-set flag=0
-while ($msize <= $limit)
- if ($flag == 0) goto label
- echo "Iteration#" 1 ": client -pbtrace -pbinit TTCP_IIOP_test iiop://$3:$6/TTCP_IIOP_test -S" $1 "-D -f m -l" $msize "-h" $3 "-x -L" $4 "-q" $5 -b 65536
- client -pbtrace -pbinit TTCP_IIOP_test iiop://$3:$6/TTCP_IIOP_test -S $1 -f m -l $msize -h $3 -L $4 -q $5
- label:
- set flag=1
- sleep 5
- foreach i (2)
- echo "Iteration#" $i ": client -pbtrace -pbinit TTCP_IIOP_test iiop://$3:$6/TTCP_IIOP_test -S" $1 "-D -f m -s -t -l" $msize "-h" $3 "-x -L " $4 "-q" $5 -b 65536
- client -pbtrace -pbinit TTCP_IIOP_test iiop://$3:$6/TTCP_IIOP_test -S $1 -f m -l $msize -h $3 -L $4 -q $5
- end
- echo "---------------------------"
- @ msize = ($msize * 2)
- sleep 5
-end
-
-echo " "
-echo "Done at:"
-date
diff --git a/TAO/performance-tests/Thruput/CORBAplus/run_tests b/TAO/performance-tests/Thruput/CORBAplus/run_tests
deleted file mode 100644
index 0cbf595fe84..00000000000
--- a/TAO/performance-tests/Thruput/CORBAplus/run_tests
+++ /dev/null
@@ -1,41 +0,0 @@
-#! /bin/csh
-#
-# Usage: run_tests <arguments>
-# <host> : remote hostname server
-# <port> : remote port to send requests.
-#
-
-rm -f results.CP
-touch results.CP
-
-echo "CORBAplus throughput test"
-echo "========================="
-echo "CORBAplus throughput test" >>& results.CP
-echo "=========================" >>& results.CP
-
-
-echo "Send Struct --------------------------------------------------------" >>& results.CP
- ./client -S 10485760 -f m -l 1024 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
- ./client -S 10485760 -f m -l 2048 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
- ./client -S 10485760 -f m -l 4096 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
- ./client -S 10485760 -f m -l 8192 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
- ./client -S 10485760 -f m -l 16384 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
- ./client -S 10485760 -f m -l 32768 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
- ./client -S 10485760 -f m -l 65536 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
- ./client -S 10485760 -f m -l 131072 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
- ./client -S 10485760 -f m -l 262144 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
-
-echo "Send Short ---------------------------------------------------------" >>& results.CP
- ./client -S 10485760 -f m -l 1024 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
- ./client -S 10485760 -f m -l 2048 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
- ./client -S 10485760 -f m -l 4096 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
- ./client -S 10485760 -f m -l 8192 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
- ./client -S 10485760 -f m -l 16384 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
- ./client -S 10485760 -f m -l 32768 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
- ./client -S 10485760 -f m -l 65536 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
- ./client -S 10485760 -f m -l 131072 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
- ./client -S 10485760 -f m -l 262144 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP
-
-
-grep "Mbit/sec\|Send" results.CP
-
diff --git a/TAO/performance-tests/Thruput/CORBAplus/server.cpp b/TAO/performance-tests/Thruput/CORBAplus/server.cpp
deleted file mode 100644
index cf49ba9b46e..00000000000
--- a/TAO/performance-tests/Thruput/CORBAplus/server.cpp
+++ /dev/null
@@ -1,178 +0,0 @@
-// $Id$
-// ============================================================================
-//
-// = TAO tests
-// Throughput measurement using the TTCP benchmark adapted to work using TAO
-//
-// = FILENAME
-// server.cpp
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#include <iostream.h>
-#include <fstream.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 "ace/ACE.h"
-#include "ttcp_i.h"
-#include "ace/Get_Opt.h"
-
-ACE_RCSID(CORBAplus, server, "$Id$")
-
-char Usage[] = "\
-Usage: server [TAO options] [options] \n\
-Common options:\n\
--l ## length of bufs read from or written to network (default 8192)\n\
--v verbose: print more statistics\n\
--d ## set debug level \n\
--f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n\
--L ## Output file name for the data type used\n\n\
-";
-
-CORBA::Long trans = 0; // we are the receiver
-CORBA::Long buflen = 8 * 1024; // length of buffer
-CORBA::Char *buf; // ptr to dynamic buffer
-CORBA::Long nbuf; // number of buffers to send in sinkmode
-CORBA::Long verbose = 0; // 0=print basic info, 1=print cpu rate, proc
- // resource usage.
-CORBA::Char fmt = 'K'; // output format:k=kilobits,K=kilobytes, m =
- // megabits, M = megabytes, g = gigabits, G =
- // gigabytes
-
-char *title = 0; // results filename
-
-CORBA::Char stats[128]; // gathering the statistics
-CORBA::ULong srcDataSize; // Total amount of source data
-CORBA::ULong nbytes; // bytes on net
-CORBA::ULong numCalls; // # of I/O system calls
-CORBA::Double cput, realt; // user, real time (seconds)
-CORBA::ULong dt; // data type
-
-/* declare struct variables for various message types */
-ttcp_sequence::ShortSeq *sseq;
-ttcp_sequence::LongSeq *lseq;
-ttcp_sequence::OctetSeq *oseq;
-ttcp_sequence::DoubleSeq *dseq;
-ttcp_sequence::CharSeq *cseq;
-ttcp_sequence::StructSeq *Sseq;
-
-ttcp_sequence_i *my_ttcp; // instance of the target object
-
-u_int _debug_level = 0;
-
-// main program - Driver
-int
-main (int argc, char **argv)
-{
-
- int c; // option
- CORBA::Environment env; // environment
- XpsORB_ptr orb_ptr = XpsORB::_nil (); // handle to the ORB
- XpsBOA * oa_ptr = XpsBOA::_nil (); // Object adapter
- CORBA::String key = (CORBA::String) "key0"; // key assigned to our
- // target object
- CORBA::String str; // for stringified representation of the object reference
-
- ACE_UNUSED_ARG (key);
-
- try
- {
- // initialize the underlying ORB and get a handle to it
- orb_ptr = XpsORB::init (argc, argv);
-
- // now get a handle to 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);
- }
-
- // for parsing the arguments
- ACE_Get_Opt get_opt (argc, argv, "l:vd:f:L:");
-
- _debug_level = 0;
- for (; (c = get_opt ()) != EOF;)
- {
- switch (c)
- {
- case 'L':
- // title of output file that stores result
- title = ACE_OS::strdup (get_opt.optarg);
- break;
- case 'd':
- // debugging level
- _debug_level = ACE_OS::atoi (get_opt.optarg);
- if (_debug_level > 10)
- _debug_level = 10;
- break;
- case 'f':
- // output format i.e., Mbps, Kbps, etc
- fmt = *get_opt.optarg;
- break;
- }
- }
-
- //
- // Receiver
- //
-
- // create an instance of an object implementing the "ttcp" interface
- my_ttcp = new ttcp_sequence_i ("TTCP_IIOP_test"); // this is its name
-
- if (1)//_debug_level > 0)
- {
- // get a stringified representation of the object reference created above
- str = orb_ptr->object_to_url (my_ttcp);
- ACE_DEBUG ((LM_DEBUG, "stringified obj reference = %s\n", str));
- }
-
-#if defined (ACE_HAS_QUANTIFY)
- // gather profile data
- quantify_clear_data();
- quantify_start_recording_data();
-#endif /* ACE_HAS_QUANTIFY */
-
- oa_ptr->obj_is_ready (my_ttcp, nil);
- oa_ptr->registerAlias (my_ttcp, "TTCP_IIOP_test");
-
- // 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
-
- } /* end of try() */
- catch(const CORBA::SystemException& exc)
- {
- ACE_DEBUG ((LM_DEBUG,
- "CORBA::SystemException caught: %s (minor: %d): server.cpp\n\n",
- exc._repository_id (),
- exc.minor ()));
- }
- catch(const CORBA::UserException& exc)
- {
- ACE_DEBUG ((LM_DEBUG,
- "CORBA::UserException caught: %s: server.cpp\n\n",
- exc._repository_id ()));
- }
- catch(...)
- {
- ACE_DEBUG ((LM_DEBUG,
- "Exception caught: server.cpp\n\n"));
- }
-
- return 0;
-
- // usage:
- // fprintf (stderr, Usage);
- // return(1);
-}
diff --git a/TAO/performance-tests/Thruput/CORBAplus/ttcp.idl b/TAO/performance-tests/Thruput/CORBAplus/ttcp.idl
deleted file mode 100644
index bccdf4e374e..00000000000
--- a/TAO/performance-tests/Thruput/CORBAplus/ttcp.idl
+++ /dev/null
@@ -1,36 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-struct BinStruct
-{
- short s;
- char c;
- long l;
- octet o;
- double d;
- // octet pad[8]; // to make it 32 bytes
- // commented out until IDL support for arrays is added
-};
-
-// Richly typed data
-interface ttcp_sequence
-{
- typedef sequence<short> ShortSeq;
- typedef sequence<long> LongSeq;
- typedef sequence<double> DoubleSeq;
- typedef sequence<char> CharSeq;
- typedef sequence<octet> OctetSeq;
- typedef sequence<BinStruct> StructSeq;
-
-
- // Routines to send sequences of various data types
- oneway void sendShortSeq (in ShortSeq ttcp_seq);
- oneway void sendLongSeq (in LongSeq ttcp_seq);
- oneway void sendDoubleSeq (in DoubleSeq ttcp_seq);
- oneway void sendCharSeq (in CharSeq ttcp_seq);
- oneway void sendOctetSeq (in OctetSeq ttcp_seq);
- oneway void sendStructSeq (in StructSeq ttcp_seq);
-
- oneway void start_timer ();
- oneway void stop_timer ();
-};
diff --git a/TAO/performance-tests/Thruput/CORBAplus/ttcp_decl.h b/TAO/performance-tests/Thruput/CORBAplus/ttcp_decl.h
deleted file mode 100644
index 66a87dadee2..00000000000
--- a/TAO/performance-tests/Thruput/CORBAplus/ttcp_decl.h
+++ /dev/null
@@ -1,82 +0,0 @@
-// $Id$
-
-/*
- * T T C P Header File
- *
- */
-
-/* This file includes all the declarations and prototypes */
-
-#ifndef _TTCP_DECL_H_
-#define _TTCP_DECL_H_
-
-#include "ace/OS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Profile_Timer.h"
-
-/* File to be included if Quantify is to be used */
-#if defined (ACE_HAS_QUANTIFY)
-# include <quantify.h>
-#endif /* ACE_HAS_QUANTIFY */
-
-
-/* define the data types to be sent */
-#define SEND_SHORT ((CORBA::ULong)(1))
-#define SEND_LONG ((CORBA::ULong)(2))
-#define SEND_CHAR ((CORBA::ULong)(3))
-#define SEND_OCTET ((CORBA::ULong)(4))
-#define SEND_DOUBLE ((CORBA::ULong)(5))
-#define SEND_STRUCT ((CORBA::ULong)(6))
-#define SEND_COMPOSITE ((CORBA::ULong)(7))
-
-/**************
-// Prototypes
-***************/
-int err (char *s);
-void mes (CORBA::Char *s);
-char *outfmt (CORBA::Double b);
-void prep_timer (void);
-CORBA::Double read_timer (char *str, CORBA::Long len);
-void prusage (register struct rusage *r0, struct rusage *r1, struct timeval *e, struct timeval *b, char *outp);
-void tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1);
-void tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0);
-void psecs (CORBA::Long l, register char *cp);
-void delay (CORBA::Long us);
-void FillPattern (register char *cp, register CORBA::Long bufLen, CORBA::ULong dt);
-void PrintStats (void);
-
-/* Global variables defined here as extern */
-extern ACE_Svc_Export CORBA::Long trans; // whether we are transmitter
- // or receiver
-extern ACE_Svc_Export CORBA::Long buflen; /* length of buffer */
-extern ACE_Svc_Export char *buf; /* ptr to dynamic buffer */
-extern ACE_Svc_Export CORBA::Long nbuf; /* number of buffers to send in sinkmode */
-extern ACE_Svc_Export CORBA::Short port; /* TCP port number */
-extern ACE_Svc_Export char *host; /* ptr to name of host */
-extern ACE_Svc_Export CORBA::Long verbose; /* 0=print basic info, 1=prCORBA::Long cpu rate, proc
- * resource usage. */
-extern ACE_Svc_Export CORBA::Char fmt; /* output format:k=kilobits,K=kilobytes,
- * m = megabits, M = megabytes,
- * g = gigabits, G = gigabytes */
-extern ACE_Svc_Export char *title;
-
-extern ACE_Svc_Export char stats[128];
-extern ACE_Svc_Export CORBA::ULong srcDataSize; /* Total amount of source data */
-extern ACE_Svc_Export CORBA::ULong nbytes; /* bytes on net */
-extern ACE_Svc_Export CORBA::ULong numCalls; /* # of I/O system calls */
-extern ACE_Svc_Export CORBA::Double cput, realt; /* user, real time (seconds) */
-extern ACE_Svc_Export CORBA::ULong dt;
-
-/* declare struct variables for various message types */
-extern ACE_Svc_Export ttcp_sequence::ShortSeq *sseq;
-extern ACE_Svc_Export ttcp_sequence::LongSeq *lseq;
-extern ACE_Svc_Export ttcp_sequence::OctetSeq *oseq;
-extern ACE_Svc_Export ttcp_sequence::DoubleSeq *dseq;
-extern ACE_Svc_Export ttcp_sequence::CharSeq *cseq;
-extern ACE_Svc_Export ttcp_sequence::StructSeq *Sseq;
-
-#endif
diff --git a/TAO/performance-tests/Thruput/CORBAplus/ttcp_i.cpp b/TAO/performance-tests/Thruput/CORBAplus/ttcp_i.cpp
deleted file mode 100644
index b8e32621ea9..00000000000
--- a/TAO/performance-tests/Thruput/CORBAplus/ttcp_i.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-// $Id$
-
-#include "pbroker/corba/orb.h"
-#include "pbroker/corba/environ.h"
-#include <pbroker/corba/xpsboa.h>
-#include <pbroker/corba/lifecycl/impldecl.h>
-#include "ace/ACE.h"
-#include "ttcp_i.h"
-#include "ttcp_decl.h"
-#ifdef DEBUG
-# include "ace/streams.h"
-#endif
-
-ACE_RCSID(CORBAplus, ttcp_i, "$Id$")
-
-/* the ttcp_i class implementation */
-ttcp_sequence_i::ttcp_sequence_i(const char *obj_name)
- : key_(obj_name)
-{
- this->nbytes_ = 0;
- numCalls = 0;
-}
-
-const char *
-ttcp_sequence_i::_get_name (void)
-{
- return key_;
-}
-
-void
-ttcp_sequence_i::start_timer (void)
-{
- this->nbytes_ = 0;
- ::prep_timer ();
-}
-
-void
-ttcp_sequence_i::stop_timer (void)
-{
- (void) ::read_timer (stats, sizeof (stats));
- ::nbytes = this->nbytes_;
- ::PrintStats();
- // reset
- this->nbytes_ = 0;
- numCalls = 0;
-#if defined (ACE_HAS_QUANTIFY)
- quantify_stop_recording_data();
- ACE_Service_Config::end_reactor_event_loop();
- ACE_OS::fprintf (stderr, "*********** just before exiting\n");
-#endif
-#if defined (ACE_HAS_PURIFY)
- ACE_Service_Config::end_reactor_event_loop();
- ACE_OS::fprintf (stderr, "*********** just before exiting\n");
-#endif
-}
-
-void
-ttcp_sequence_i::sendShortSeq(const ttcp_sequence::ShortSeq& ttcp_seq)
-{
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Short);
-}
-
-void
-ttcp_sequence_i::sendLongSeq(const ttcp_sequence::LongSeq& ttcp_seq)
-{
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Long) ;
-}
-
-void
-ttcp_sequence_i::sendOctetSeq(const ttcp_sequence::OctetSeq& ttcp_seq)
-{
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Octet) ;
-}
-
-void
-ttcp_sequence_i::sendDoubleSeq(const ttcp_sequence::DoubleSeq& ttcp_seq)
-{
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Double) ;
-}
-
-void
-ttcp_sequence_i::sendCharSeq(const ttcp_sequence::CharSeq& ttcp_seq)
-{
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Char) ;
-}
-
-void
-ttcp_sequence_i::sendStructSeq(const ttcp_sequence::StructSeq& ttcp_seq)
-{
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(BinStruct) ;
-#ifdef DEBUG
- // cout << "Bytes received so far = " << this->nbytes_ << endl;
-#endif
-}
diff --git a/TAO/performance-tests/Thruput/CORBAplus/ttcp_i.h b/TAO/performance-tests/Thruput/CORBAplus/ttcp_i.h
deleted file mode 100644
index e969820f2a4..00000000000
--- a/TAO/performance-tests/Thruput/CORBAplus/ttcp_i.h
+++ /dev/null
@@ -1,66 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = TAO tests
-// Throughput measurement using the TTCP benchmark adapted to work using
-// CORBAplus PowerBroker from Expersoft
-// = FILENAME
-// ttcp_i.h
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#ifndef TTCP_I_H
-#define TTCP_I_H
-
-#include <pbroker/corba/lifecycl/actvtr.h>
-#include <pbroker/corba/lifecycl/impldecl.h>
-#include "pbroker/corba/orb.h"
-#include "pbroker/corba/request.h"
-#include "pbroker/corba/environ.h"
-
-#include "ace/OS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ttcp_s.h"
-
-class ttcp_sequence_i: public ttcp_sequence_base_impl
-{
-public:
- // XPS_CAST1_DECL(ttcp_sequence_i,ttcp_sequence_base_impl)
- // XPS_DEFINE_IMPLEMENTATION(ttcp_sequence_decl)
-
- ttcp_sequence_i(const char *obj_name);
-
- ttcp_sequence_i (void)
- { ttcp_sequence_i ("keyone");}
-
- ttcp_sequence_i (const CORBA_ReferenceData & refData)
- { ttcp_sequence_i ("keyone");}
-
- virtual void sendShortSeq (const ttcp_sequence::ShortSeq& ttcp_seq);
- virtual void sendLongSeq (const ttcp_sequence::LongSeq& ttcp_seq);
- virtual void sendDoubleSeq (const ttcp_sequence::DoubleSeq& ttcp_seq);
- virtual void sendCharSeq (const ttcp_sequence::CharSeq& ttcp_seq);
- virtual void sendStructSeq (const ttcp_sequence::StructSeq& ttcp_seq);
- virtual void sendOctetSeq (const ttcp_sequence::OctetSeq& ttcp_seq);
-
- /* Routines to calculate the time required to transfer */
- virtual void start_timer (void);
- virtual void stop_timer (void);
-
- const char *_get_name (void);
- // get the key of the object.
-private:
- unsigned long nbytes_;
- const char *key_;
-};
-
-#endif // defined (TTCP_I_H)
-
diff --git a/TAO/performance-tests/Thruput/CORBAplus/utils.cpp b/TAO/performance-tests/Thruput/CORBAplus/utils.cpp
deleted file mode 100644
index 0b4ae4f39a8..00000000000
--- a/TAO/performance-tests/Thruput/CORBAplus/utils.cpp
+++ /dev/null
@@ -1,469 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = TAO tests
-// Throughput measurement using the TTCP benchmark adapted to work using TAO
-//
-// = FILENAME
-// utils.cpp
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-// This file has all the helper functions that do the computation of
-// throughput, system time used, user time, etc based on data collected.
-
-#include "ttcp.h"
-#include "ttcp_decl.h"
-
-ACE_RCSID(CORBAplus, utils, "$Id$")
-
-// the error function.
-// displays the error message and exits
-int err (char *s)
-{
- ACE_OS::fprintf (stderr, "ttcp%s: ", trans ? "-t" : "-r");
- ACE_OS::perror (s);
- ACE_OS::fprintf (stderr, "errno=%d\n", errno);
- return -1;
-}
-
-// prints a message indicating if it is a transmitter or a receiver
-void mes (CORBA::String s)
-{
- ACE_OS::fprintf (stderr, "ttcp%s: %s\n", trans ? "-t" : "-r", s);
-}
-
-// does the formatting for the desired units in which the result is to be
-// displayed
-char *
-outfmt (CORBA::Double b)
-{
- static char obuf[50];
- switch (fmt)
- {
- case 'G':
- ACE_OS::sprintf (obuf, "%.2f GB", b / 1024.0 / 1024.0 / 1024.0);
- break;
- default:
- case 'K':
- ACE_OS::sprintf (obuf, "%.2f KB", b / 1024.0);
- break;
- case 'M':
- ACE_OS::sprintf (obuf, "%.2f MB", b / 1024.0 / 1024.0);
- break;
- case 'g':
- ACE_OS::sprintf (obuf, "%.2f Gbit", b * 8.0 / 1024.0 / 1024.0 / 1024.0);
- break;
- case 'k':
- ACE_OS::sprintf (obuf, "%.2f Kbit", b * 8.0 / 1024.0);
- break;
- case 'm':
- ACE_OS::sprintf (obuf, "%.2f Mbit", b * 8.0 / 1024.0 / 1024.0);
- break;
- }
- return obuf;
-}
-
-static struct itimerval itime0; /* Time at which timing started */
-static struct rusage ru0; /* Resource utilization at the start */
-
-/*
- * P R E P _ T I M E R
- */
-// this is in fact the internals of the "start_timer" operation
-void
-prep_timer (void)
-{
- itime0.it_interval.tv_sec = 0;
- itime0.it_interval.tv_usec = 0;
- itime0.it_value.tv_sec = LONG_MAX / 22; /* greatest possible value , itimer() count backwards */
- itime0.it_value.tv_usec = 0;
-
-
- ACE_OS::getrusage (RUSAGE_SELF, &ru0);
-
- /* Init REAL Timer */
- if (setitimer (ITIMER_REAL, &itime0, NULL))
- {
- perror ("Setting 'itimer' REAL failed");
- return;
- }
-
-}
-
-/*
- * R E A D _ T I M E R
- *
- */
-// This implements the internals of the "stop_timer" method
-double
-read_timer (char *str, CORBA::Long len)
-{
- struct itimerval itimedol;
- struct rusage ru1;
- struct timeval td;
- struct timeval tend, tstart;
- char line[132];
-
- ACE_OS::getrusage (RUSAGE_SELF, &ru1);
-
- if (getitimer (ITIMER_REAL, &itimedol))
- {
- perror ("Getting 'itimer' REAL failed");
- return (0.0);
- }
-
- prusage (&ru0, &ru1, &itime0.it_value, &itimedol.it_value, line);
- (void) strncpy (str, line, len);
-
- /* Get real time */
- tvsub (&td, &itime0.it_value, &itimedol.it_value);
- realt = td.tv_sec + ((double) td.tv_usec) / 1000000;
-
- /* Get CPU time (user+sys) */
- tvadd (&tend, &ru1.ru_utime, &ru1.ru_stime);
- tvadd (&tstart, &ru0.ru_utime, &ru0.ru_stime);
- tvsub (&td, &tend, &tstart);
- cput = td.tv_sec + ((double) td.tv_usec) / 1000000;
- if (cput < 0.00001)
- cput = 0.00001;
- return (cput);
-}
-
-// prints the rusage stats
-void
-prusage (register struct rusage *r0, struct rusage *r1,
- struct timeval *e, struct timeval *b, char *outp)
-{
- struct timeval tdiff;
- register time_t t;
- register char *cp;
- register int i;
- int ms;
-
- t = (r1->ru_utime.tv_sec - r0->ru_utime.tv_sec) * 100 +
- (r1->ru_utime.tv_usec - r0->ru_utime.tv_usec) / 10000 +
- (r1->ru_stime.tv_sec - r0->ru_stime.tv_sec) * 100 +
- (r1->ru_stime.tv_usec - r0->ru_stime.tv_usec) / 10000;
- ms = (e->tv_sec - b->tv_sec) * 100 + (e->tv_usec - b->tv_usec) / 10000;
-
-#define END(x) {while(*x) x++;}
-#if defined(SYSV)
- cp = "%Uuser %Ssys %Ereal %P";
-#else
-#if defined(sgi) /* IRIX 3.3 will show 0 for %M,%F,%R,%C */
- cp = "%Uuser %Ssys %Ereal %P %Mmaxrss %F+%Rpf %Ccsw";
-#else
- cp = "%Uuser %Ssys %Ereal %P %Xi+%Dd %Mmaxrss %F+%Rpf %Ccsw";
-#endif
-#endif
- for (; *cp; cp++)
- {
- if (*cp != '%')
- *outp++ = *cp;
- else if (cp[1])
- switch (*++cp)
- {
-
- case 'U':
- tvsub (&tdiff, &r1->ru_utime, &r0->ru_utime);
- ACE_OS::sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec / 100000);
- END (outp);
- break;
-
- case 'S':
- tvsub (&tdiff, &r1->ru_stime, &r0->ru_stime);
- ACE_OS::sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec / 100000);
- END (outp);
- break;
-
- case 'E':
- psecs (ms / 100, outp);
- END (outp);
- break;
-
- case 'P':
- ACE_OS::sprintf (outp, "%d%%", (int) (t * 100 / ((ms ? ms : 1))));
- END (outp);
- break;
-
-#if !defined(SYSV)
- case 'W':
- i = r1->ru_nswap - r0->ru_nswap;
- ACE_OS::sprintf (outp, "%d", i);
- END (outp);
- break;
-
- case 'X':
- ACE_OS::sprintf (outp, "%d", t == 0 ? 0 : (r1->ru_ixrss - r0->ru_ixrss) / t);
- END (outp);
- break;
-
- case 'D':
- ACE_OS::sprintf (outp, "%d", t == 0 ? 0 :
- (r1->ru_idrss + r1->ru_isrss - (r0->ru_idrss + r0->ru_isrss)) / t);
- END (outp);
- break;
-
- case 'K':
- ACE_OS::sprintf (outp, "%d", t == 0 ? 0 :
- ((r1->ru_ixrss + r1->ru_isrss + r1->ru_idrss) -
- (r0->ru_ixrss + r0->ru_idrss + r0->ru_isrss)) / t);
- END (outp);
- break;
-
- case 'M':
- ACE_OS::sprintf (outp, "%d", r1->ru_maxrss / 2);
- END (outp);
- break;
-
- case 'F':
- ACE_OS::sprintf (outp, "%d", r1->ru_majflt - r0->ru_majflt);
- END (outp);
- break;
-
- case 'R':
- ACE_OS::sprintf (outp, "%d", r1->ru_minflt - r0->ru_minflt);
- END (outp);
- break;
-
- case 'I':
- ACE_OS::sprintf (outp, "%d", r1->ru_inblock - r0->ru_inblock);
- END (outp);
- break;
-
- case 'O':
- ACE_OS::sprintf (outp, "%d", r1->ru_oublock - r0->ru_oublock);
- END (outp);
- break;
- case 'C':
- ACE_OS::sprintf (outp, "%d+%d", r1->ru_nvcsw - r0->ru_nvcsw,
- r1->ru_nivcsw - r0->ru_nivcsw);
- END (outp);
- break;
-#endif /* !SYSV */
- }
- }
- *outp = '\0';
-}
-
-// adds two "timeval" structures
-void
-tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1)
-{
-
- tsum->tv_sec = t0->tv_sec + t1->tv_sec;
- tsum->tv_usec = t0->tv_usec + t1->tv_usec;
- if (tsum->tv_usec > 1000000)
- tsum->tv_sec++, tsum->tv_usec -= 1000000;
-}
-
-// finds difference between two timevals
-void
-tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0)
-{
-
- tdiff->tv_sec = t1->tv_sec - t0->tv_sec;
- tdiff->tv_usec = t1->tv_usec - t0->tv_usec;
- if (tdiff->tv_usec < 0)
- tdiff->tv_sec--, tdiff->tv_usec += 1000000;
-}
-
-// print in seconds
-void
-psecs (CORBA::Long l, register char *cp)
-{
- register int i;
-
- i = l / 3600;
- if (i)
- {
- ACE_OS::sprintf (cp, "%d:", i);
- END (cp);
- i = l % 3600;
- ACE_OS::sprintf (cp, "%d%d", (i / 60) / 10, (i / 60) % 10);
- END (cp);
- }
- else
- {
- i = l;
- ACE_OS::sprintf (cp, "%d", i / 60);
- END (cp);
- }
- i %= 60;
- *cp++ = ':';
- ACE_OS::sprintf (cp, "%d%d", i / 10, i % 10);
-}
-
-// generate the specified delay in microseconds
-void
-delay (int us)
-{
- struct timeval tv;
-
- tv.tv_sec = 0;
- tv.tv_usec = us;
- (void) select (1, (fd_set *) 0, (fd_set *) 0, (fd_set *) 0, &tv);
-}
-
-// fill up a buffer with a data type that we want to send
-void
-FillPattern (register char *cp, register CORBA::Long bufLen, CORBA::ULong dt)
-{
- unsigned long
- num, i;
-
- switch(dt){
- case SEND_SHORT:
- {
- register short *SeqPtr = (short *)cp;
- num = bufLen/sizeof(short);
- for (i=0; i < num; i++)
- SeqPtr[i] = (short)lrand48();
- sseq = new ttcp_sequence::ShortSeq(num,num, SeqPtr);
- }
- break;
- case SEND_LONG:
- {
- register long *SeqPtr = (long *)cp;
- num = bufLen/sizeof(long);
- for (i=0; i < num; i++)
- SeqPtr[i] = lrand48();
- lseq = new ttcp_sequence::LongSeq(num, num, SeqPtr);
- }
- break;
- case SEND_DOUBLE:
- {
- register double *SeqPtr = (double *)cp;
- num = bufLen/sizeof(double);
- for (i=0; i < num; i++)
- SeqPtr[i] = drand48();
- dseq = new ttcp_sequence::DoubleSeq(num, num, SeqPtr);
- }
- break;
- case SEND_CHAR:
- {
- register CORBA::Char *SeqPtr = (CORBA::Char *)cp;
- register char c = 0;
- num = bufLen/sizeof(char);
- for(i=0; i < num; i++){
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i] = (c++ & 0x7f);
- }
- cseq = new ttcp_sequence::CharSeq(num, num, SeqPtr);
- }
- break;
- case SEND_STRUCT:
- {
- register BinStruct *SeqPtr = (BinStruct *)cp;
- register char c = 0;
- num = bufLen/sizeof(BinStruct);
- for (i=0; i < num; i++){
- SeqPtr[i].s = (short)lrand48();
- SeqPtr[i].l = lrand48();
- SeqPtr[i].d = drand48();
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i].c = (c++ & 0x7f);
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i].o = (unsigned char)(c++ & 0x7f);
- }
- Sseq = new ttcp_sequence::StructSeq(num, num, SeqPtr);
-
- }
- break;
- case SEND_OCTET:
- default:
- {
- register CORBA::Octet *SeqPtr = (CORBA::Octet *)cp;
- register char c = 0;
- num = bufLen/sizeof(CORBA::Octet);
- for(i=0; i < num; i++){
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i] = (c++ & 0x7f);
- }
- oseq = new ttcp_sequence::OctetSeq(num, num, SeqPtr);
- }
- break;
- }
-}
-
-// print all the statistics
-void PrintStats (void)
-{
- if (cput <= 0.0)
- cput = 0.001;
- if (realt <= 0.0)
- realt = 0.001;
-
- if (title != 0)
- {
- double tmp;
- FILE *outFile;
- char filename[BUFSIZ];
-
- strcpy(filename, title);
- switch(dt){
- case SEND_SHORT:
- strcat(filename, ".shortSeq.results");
- break;
- case SEND_LONG:
- strcat(filename, ".longSeq.results");
- break;
- case SEND_DOUBLE:
- strcat(filename, ".doubleSeq.results");
- break;
- case SEND_CHAR:
- strcat(filename, ".charSeq.results");
- break;
- case SEND_STRUCT:
- strcat(filename, ".structSeq.results");
- break;
- case SEND_COMPOSITE:
- strcat(filename, ".compositeSeq.results");
- break;
- case SEND_OCTET:
- default:
- strcat(filename, ".octetSeq.results");
- break;
- }
- outFile = fopen (filename, "a+");
- ACE_OS::fprintf (outFile, "\n%ldk \t", buflen / 1024);
- tmp = ((double) nbytes) / realt;
- ACE_OS::fprintf (outFile, "%.2f ", tmp * 8.0 / 1024.0 / 1024.0);
- fclose (outFile);
- }
-
- ACE_OS::fprintf (stdout,
- "ttcp%s: %ld bytes in %.2f real seconds = %s/sec +++\n",
- trans ? "-t" : "-r",
- nbytes, realt, outfmt (((double) nbytes) / realt));
- if (verbose)
- {
- ACE_OS::fprintf (stdout,
- "ttcp%s: %ld bytes in %.2f CPU seconds = %s/cpu sec\n",
- trans ? "-t" : "-r",
- nbytes, cput, outfmt (((double) nbytes) / cput));
- }
- ACE_OS::fprintf (stdout,
- "ttcp%s: %d Server Method calls, msec/call = %.2f, calls/sec = %.2f\n",
- trans ? "-t" : "-r",
- numCalls,
- 1024.0 * realt / ((double) numCalls),
- ((double) numCalls) / realt);
- ACE_OS::fprintf (stdout, "ttcp%s: %s\n", trans ? "-t" : "-r", stats);
- if (verbose)
- {
- ACE_OS::fprintf (stdout,
- "ttcp%s: buffer address %#x\n",
- trans ? "-t" : "-r",
- buf);
- }
-}
diff --git a/TAO/performance-tests/Thruput/Makefile b/TAO/performance-tests/Thruput/Makefile
deleted file mode 100644
index c0b7c5efaf5..00000000000
--- a/TAO/performance-tests/Thruput/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Makefile for the TAO thruput tests
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-DIRS = TAO
-
-# DIRS = CORBAplus \
-# Orbix \
-# TAO
-
-#----------------------------------------------------------------------------
-# 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/Thruput/Orbix/Client.cpp b/TAO/performance-tests/Thruput/Orbix/Client.cpp
deleted file mode 100644
index 899a075669f..00000000000
--- a/TAO/performance-tests/Thruput/Orbix/Client.cpp
+++ /dev/null
@@ -1,328 +0,0 @@
-// $Id$
-
-#include "ttcp_decl.h"
-
-ACE_RCSID(Orbix, Client, "$Id$")
-
-char Usage[] = "\
-Usage: client [-options] [ORBeline options] host \n\
-Common options:\n\
--l ## length of bufs read from or written to network (default 8192)\n\
--A align the start of buffers to this modulus (default 16384)\n\
--o start buffers at this offset from the modulus (default 0)\n\
--v verbose: print more statistics\n\
--d set SO_DEBUG socket option\n\
--b ## set socket buffer size (if supported)\n\
--f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n\
--n ## number of source bufs written to network (default 2048)\n\
--x Use new lines after each entry in output file\n\
--h ## Remote host to send data to\n\
--D don't buffer TCP writes (sets TCP_NODELAY socket option)\n\
--L ## Output file name for the data type used\n\
--S <Total Data Size>\n\
--q <type> Send Sequence: Enumeration for various data types:\n\
-s = short, l = long, d = double, c = char\n\
-o = octet, S = struct, C = composite\n\
-";
-
-#if !defined (__cplusplus)
-typedef void (*SIG_TYP)();
-#endif
-
-#ifdef SVR4
-void
-sigpipe (int foo)
-#else
- void
-sigpipe ()
-#endif
-{
-}
-
-int fromlen;
-int domain = PF_INET; /* Default is to use Internet domain sockets. */
-char *domainname; /* Rendezvous address for UNIX domain sockets. */
-int fd; /* fd of network socket */
-int buflen = 8 * 1024; /* length of buffer */
-char *buf; /* ptr to dynamic buffer */
-int nbuf = 2 * 1024; /* number of buffers to send in sinkmode */
-
-int bufoffset = 0; /* align buffer to this */
-int bufalign = 16 * 1024; /* modulo this */
-
-int udp = 0; /* 0 = tcp, !0 = udp */
-int options = 0; /* socket options */
-int one = 1; /* for 4.3 BSD style setsockopt() */
-short port = 5001; /* TCP port number */
-char *host; /* ptr to name of host */
-int trans =1; /* 0=receive, !0=transmit mode */
-int sinkmode = 1; /* 0=normal I/O, !0=sink/source mode */
-int verbose = 0; /* 0=print basic info, 1=print cpu rate, proc
-* resource usage. */
-int nodelay = 0; /* set TCP_NODELAY socket option */
-int b_flag = 0; /* use mread() */
-int sockbufsize = 0; /* socket buffer size to use */
-int new_line=0; /* This is a special flag */
-int write_to_file=1; /* indecates writing to file (default)*/
-char fmt = 'K'; /* output format:k=kilobits,K=kilobytes,
-* m = megabits, M = megabytes,
-* g = gigabits, G = gigabytes */
-int touchdata = 0; /* access data after reading */
-
-struct hostent *addr;
-char *title = 0;
-
-char stats[128];
-unsigned long srcDataSize; /* Total amount of source data */
-unsigned long nbytes; /* bytes on net */
-unsigned long numCalls; /* # of I/O system calls */
-double cput, realt; /* user, real time (seconds) */
-unsigned long dt;
-
-/* declare struct variables for various message types */
-ttcp_sequence::ShortSeq *sseq;
-ttcp_sequence::LongSeq *lseq;
-ttcp_sequence::OctetSeq *oseq;
-ttcp_sequence::DoubleSeq *dseq;
-ttcp_sequence::CharSeq *cseq;
-ttcp_sequence::StructSeq *Sseq;
-ttcp_sequence::CompositeSeq *Cseq;
-
-
-int
-main (int argc, char *argv[])
-{
-
- unsigned long addr_tmp;
- unsigned short done = 0;
- int c;
-
- CORBA::Environment env;
- CORBA::Object_ptr target; // will hold handle to proxy
- ttcp_sequence_ptr ttcp_seq;
-
- if (argc < 2)
- goto usage;
-
-
- while (!done && ((c = getopt (argc, argv, "dvDb:h:f:l:n:A:o:L:xS:q:O")) != -1))
- {
- switch (c)
- {
- case 'h':
- host = optarg;
- break;
- case 'x':
- new_line = 1;
- break;
- case 'L':
- title = optarg;
- break;
- case 'd':
- options |= SO_DEBUG;
- break;
- case 'D':
-#ifdef TCP_NODELAY
- nodelay = 1;
-#else
- fprintf (stderr,
- "ttcp: -D option ignored: TCP_NODELAY socket option not supported\n");
-#endif
- break;
- case 'n':
- nbuf = atoi (optarg);
- break;
- case 'l':
- buflen = atoi (optarg);
- break;
- case 'v':
- verbose = 1;
- break;
- case 'A':
- bufalign = atoi (optarg);
- break;
- case 'o':
- bufoffset = atoi (optarg);
- break;
- case 'b':
-#if defined(SO_SNDBUF) || defined(SO_RCVBUF)
- sockbufsize = atoi (optarg);
-#else
- fprintf (stderr,
- "ttcp: -b option ignored: SO_SNDBUF/SO_RCVBUF socket options not supported\n");
-#endif
- break;
- case 'f':
- fmt = *optarg;
- break;
- case 'S': /* total source data to send. */
- /* modify nbuf accordingly */
- srcDataSize = atoi(optarg);
- break;
- case 'q': /* Send sequence of desired data type */
- switch(*optarg){
- case 's':
- dt = SEND_SHORT;
- break;
- case 'l':
- dt = SEND_LONG;
- break;
- case 'd':
- dt = SEND_DOUBLE;
- break;
- case 'c':
- dt = SEND_CHAR;
- break;
- case 'o':
- dt = SEND_OCTET;
- break;
- case 'S':
- dt = SEND_STRUCT;
- break;
- case 'C':
- dt = SEND_COMPOSITE;
- break;
- }
- break;
- case 'O':
- case '?':
- done = 1;
- break;
- default:
- goto usage;
- }
- }
-
- //
- // Transmitter
- //
-
- // now bind to server
- try {
- char *service_name = new char[15];
- strcpy(service_name,":SII_ttcp"); // server object's name
-
- target = ttcp_sequence::_bind (service_name, host);
- if (!CORBA::is_nil(target)){
- ttcp_seq = ttcp_sequence::_narrow(target);
-
- if (!CORBA::is_nil(ttcp_seq)){
- /* start recording quantify data from here */
- if (sockbufsize)
- {
- /* file descriptor of a proxy is obtained using the _fd() method */
- if (setsockopt (ttcp_seq->_fd (), SOL_SOCKET, SO_SNDBUF, (char *) &sockbufsize,
- sizeof sockbufsize) < 0)
- err ("setsockopt: sndbuf");
- mes ("sndbuf");
- }
-
- if (nodelay)
- {
- struct protoent *p;
- p = getprotobyname ("tcp");
- if (setsockopt (ttcp_seq->_fd (),
- p->p_proto,
- TCP_NODELAY,
- (char *)& one,
- sizeof (one)))
- err ("setsockopt: nodelay");
- mes ("nodelay");
- }
-
- /* modify nbuf according to Total data size */
- nbuf = srcDataSize/buflen;
- fprintf(stderr, "data size = %d, buflen = %d, nbuf = %d\n",srcDataSize, buflen, nbuf);
-
- //
- // Prepare the Message to be sent
- //
-
- errno = 0;
- if ((buf = (char *) malloc (buflen + bufalign)) == (char *) NULL)
- err ("malloc");
- if (bufalign != 0)
- buf += (bufalign - ((int) buf % bufalign) + bufoffset) % bufalign;
-
-
- // fill the appropriate buffers
- FillPattern (buf, buflen, dt);
- //
- // Start the timers on the client and server sides
- //
-
- prep_timer ();
- ttcp_seq->start_timer ();
-#if defined (ACE_HAS_QUANTIFY)
- quantify_clear_data();
- quantify_start_recording_data();
-#endif
- while (nbuf--)
- {
- switch(dt){
- case SEND_SHORT:
- ttcp_seq->sendShortSeq(*sseq);
- nbytes += sseq->length()*sizeof(CORBA::Short);
- break;
- case SEND_LONG:
- ttcp_seq->sendLongSeq(*lseq);
- nbytes += lseq->length()*sizeof(CORBA::Long);
- break;
- case SEND_OCTET:
- ttcp_seq->sendOctetSeq(*oseq);
- nbytes += oseq->length()*sizeof(CORBA::Octet);
- break;
- case SEND_DOUBLE:
- ttcp_seq->sendDoubleSeq(*dseq);
- nbytes += dseq->length()*sizeof(CORBA::Double);
- break;
- case SEND_CHAR:
- ttcp_seq->sendCharSeq(*cseq);
- nbytes += cseq->length()*sizeof(CORBA::Char);
- break;
- case SEND_STRUCT:
- ttcp_seq->sendStructSeq(*Sseq);
- nbytes += Sseq->length()*sizeof(PerfStruct);
- break;
- case SEND_COMPOSITE:
- ttcp_seq->sendCompositeSeq(*Cseq);
- nbytes += Cseq->length()*sizeof(CompositeStruct);
- break;
- }
- numCalls++;
- }
-#if defined(ACE_HAS_QUANTIFY)
- quantify_stop_recording_data();
-#endif
- //
- // Stop the timer
- //
- ttcp_seq->stop_timer();
- (void) read_timer (stats, sizeof (stats));
-
- // print results
- PrintStats();
-
- }
- }
- }
- catch(CORBA::SystemException &se){
- // an error occurred while trying to bind to the object.
- cerr << "Bind to object failed" << endl;
- cerr << "System exception " << &se << endl;
- return -1;
- }
- catch(...)
- {
- // an error occurred while trying to bind to the object.
- cerr << "Bind to object failed" << endl;
- cerr << "Unexpected exception " << endl;
- return -1;
- };
-
- CORBA::release(ttcp_seq);
- return(0);
- usage:
- fprintf (stderr, Usage);
- return 1;
-}
diff --git a/TAO/performance-tests/Thruput/Orbix/Makefile b/TAO/performance-tests/Thruput/Orbix/Makefile
deleted file mode 100644
index 7a4cd12c24d..00000000000
--- a/TAO/performance-tests/Thruput/Orbix/Makefile
+++ /dev/null
@@ -1,60 +0,0 @@
-#### $Id$
-
-include orbixsol2s4.mk
-
-all: client server
- @echo
-
- @echo "\"client\" and \"server\" have been compiled."
- @echo
- @echo "To run tests, check the how_to_run_tests file."
- @echo
-
-C++FLAGS += -DSYSV -DWANT_ORBIX_FDS -DLM_RESULTS #-DUSE_TIE
-SERVER_OBJS = ttcpS.o ttcp_i.o utils.o Srv_Main.o
-CLIENT_OBJS = ttcpC.o utils.o Client.o
-
-ifdef unpad
-C++FLAGS += -DUNPAD
-endif
-
-ifeq ($(OSRELEASE),5.4)
-C++FLAGS += -DSUNOS54
-endif
-
-client: $(CLIENT_OBJS)
- $(PRELINK) $(C++) $(C++FLAGS) -o client $(CLIENT_OBJS) $(LDFLAGS) $(ITSRV) $(SYSLIBS)
-
-server: $(SERVER_OBJS)
- $(PRELINK) $(C++) $(C++FLAGS) -o server $(SERVER_OBJS) $(LDFLAGS) $(ITSRV) $(SYSLIBS)
-
-ttcp.h ttcpC.$(C++SUFFIX) ttcpS.$(C++SUFFIX):ttcp.idl
- $(IDL) $(IDLFLAGS) $<
-
-.PHONY: clean
-
-clean:
- rm -f core *.o *~ client server *C.cpp *S.cpp ttcp.h
-
-checkin:
- ci ttcp.idl
- ci ttcp_i.h
- ci ttcp_i.cpp
- ci Srv_Main.cpp
- ci Client.cpp
- ci ttcp_decl.h
- ci utils.cpp
- rm -f core *.o *~ client server *C.cpp *S.cpp ttcp.h
-
-checkout:
- co -l ttcp.idl
- co -l ttcp_i.h
- co -l ttcp_i.cpp
- co -l Srv_Main.cpp
- co -l Client.cpp
- co -l ttcp_decl.h
- co -l utils.cpp
-
-release:
- test -d $(RDIR)/SII/1way/Orbix || mkdir -p $(RDIR)/SII/1way/Orbix
- cp *.idl *.cpp *.h Makefile run* README* $(RDIR)/SII/1way/Orbix/.
diff --git a/TAO/performance-tests/Thruput/Orbix/README b/TAO/performance-tests/Thruput/Orbix/README
deleted file mode 100644
index 21e58670e48..00000000000
--- a/TAO/performance-tests/Thruput/Orbix/README
+++ /dev/null
@@ -1,40 +0,0 @@
-This directory contains code that has a modified version of the TTCP benchmark that uses
-Orbix. Our intent is to test the performance of Orbix over ATM using the CORBA IDL "sequence"
-data type.
-
-We define sequences of "short", "long", "double", "octet", "char", a user-defined
-"struct" and a composite struct.
-
-We run our server program using the following command line: (this is
-an example)
-
-putit SII_ttcp "/project/mambo/gokhale/TTCP-testbed/SII/1way/Orbix/server -f m -b 65536"
-
-The client program is run using the following command line:
-client -S <data size> -f m -l <chunk size> -h <host> -L <filename> -q <data type> -b <socketQ>
-
-<data type> implies what sequence type you want to send:
-s short
-c chars
-o octet
-d double
-l long
-S user defined struct
-C composite struct
-<filename> will store the result that indicates the thruput observed in Mbps (because
-we chose -f m as the option).
-
-An example is given from the "run" script
-
-client -S 67108864 -f m -l $1 -h encip1-merengue.cs.wustl.edu -L temp -q $2 -b 65536
-
-
-The following files are used:
-
-ttcp.idl This file is the CORBA IDL declaration for the TTCP benchmark.
-Srv_main.cpp Server program.
-Client.cpp Client program.
-ttcp_i.cpp Implementation of various methods of the ttcp_sequence object.
-ttcp_i.h Implementation header
-utils.cpp Lots of functions that came along with the original TTCP benchmark.
-ttcp_decl.h Prototypes, extern decls, etc...
diff --git a/TAO/performance-tests/Thruput/Orbix/Srv_Main.cpp b/TAO/performance-tests/Thruput/Orbix/Srv_Main.cpp
deleted file mode 100644
index 58de97b87e3..00000000000
--- a/TAO/performance-tests/Thruput/Orbix/Srv_Main.cpp
+++ /dev/null
@@ -1,176 +0,0 @@
-// $Id$
-
-#include "ttcp_i.h"
-
-ACE_RCSID(Orbix, Srv_Main, "$Id$")
-
-char Usage[] = "\
-Usage: server [options] \n\
-Common options:\n\
- -l ## length of bufs read from or written to network (default 8192)\n\
- -A align the start of buffers to this modulus (default 16384)\n\
- -O start buffers at this offset from the modulus (default 0)\n\
- -v verbose: print more statistics\n\
- -d set SO_DEBUG socket option\n\
- -b ## set socket buffer size (if supported)\n\
- -f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n\
- -L ## Output file name for the data type used\n\
-Options specific to -r:\n\
- -B for -s, only output full blocks as specified by -l (for TAR)\n\
- -T \"touch\": access each byte as it's read\n\
-";
-
-#if !defined (__cplusplus)
-typedef void (*SIG_TYP)();
-#endif
-
-#ifdef SVR4
-void
-sigpipe (int foo)
-#else
-void
-sigpipe ()
-#endif
-{
-}
-
-int fromlen;
-int domain = PF_INET; /* Default is to use Internet domain sockets. */
-char *domainname; /* Rendezvous address for UNIX domain sockets. */
-int fd; /* fd of network socket */
-int buflen = 8 * 1024; /* length of buffer */
-char *buf; /* ptr to dynamic buffer */
-int nbuf = 2 * 1024; /* number of buffers to send in sinkmode */
-
-int bufoffset = 0; /* align buffer to this */
-int bufalign = 16 * 1024; /* modulo this */
-
-int udp = 0; /* 0 = tcp, !0 = udp */
-int options = 0; /* socket options */
-int one = 1; /* for 4.3 BSD style setsockopt() */
-short port = 5001; /* TCP port number */
-char *host; /* ptr to name of host */
-int trans; /* 0=receive, !0=transmit mode */
-int sinkmode = 0; /* 0=normal I/O, !0=sink/source mode */
-int verbose = 0; /* 0=print basic info, 1=print cpu rate, proc
- * resource usage. */
-int nodelay = 0; /* set TCP_NODELAY socket option */
-int b_flag = 0; /* use mread() */
-int sockbufsize = 0; /* socket buffer size to use */
-int new_line=0; /* This is a special flag */
-int write_to_file=1; /* indecates writing to file (default)*/
-char fmt = 'K'; /* output format:k=kilobits,K=kilobytes,
- * m = megabits, M = megabytes,
- * g = gigabits, G = gigabytes */
-int touchdata = 0; /* access data after reading */
-
-struct hostent *addr;
-char *title = 0;
-
-char stats[128];
-unsigned long srcDataSize; /* Total amount of source data */
-unsigned long nbytes; /* bytes on net */
-unsigned long numCalls; /* # of I/O system calls */
-double cput, realt; /* user, real time (seconds) */
-unsigned long dt;
-
-/* declare struct variables for various message types */
-ttcp_sequence::ShortSeq *sseq;
-ttcp_sequence::LongSeq *lseq;
-ttcp_sequence::OctetSeq *oseq;
-ttcp_sequence::DoubleSeq *dseq;
-ttcp_sequence::CharSeq *cseq;
-ttcp_sequence::StructSeq *Sseq;
-ttcp_sequence::CompositeSeq *Cseq;
-
-unsigned short isDone = 0;
-
-int
-main (int argc, char *argv[])
-{
-
- unsigned long addr_tmp;
- int c;
- unsigned short done = 0;
-
-
- if (argc < 2)
- goto usage;
-
- // Now process the options other than Orbix specific options
- while (!done && ((c = getopt (argc, argv, "dvb:f:l:L:O")) != -1))
- {
- switch (c)
- {
- case 'L':
- title = optarg;
- break;
- case 'd':
- options |= SO_DEBUG;
- break;
- case 'l':
- buflen = atoi (optarg);
- break;
- case 'v':
- verbose = 1;
- break;
- case 'b':
-#if defined(SO_SNDBUF) || defined(SO_RCVBUF)
- sockbufsize = atoi (optarg);
-#else
- fprintf (stderr,
- "ttcp: -b option ignored: SO_SNDBUF/SO_RCVBUF socket options not supported\n");
-#endif
- break;
- case 'f':
- fmt = *optarg;
- break;
- case 'O':
- case '?':
- done = 1;
- break;
- default:
- goto usage;
- }
- }
-
- ttcp_sequence_i *my_ttcp;
- //
- // Receiver
- //
- try {
- char *service_name = new char[15];
- strcpy(service_name,"SII_ttcp");
-
-#if defined (USE_TIE)
- // TIE approach
- my_ttcp = new ttcp_sequence_i;
- _tie_ttcp_sequence<ttcp_sequence_i> *my_ttcp_tmpl = new
- _tie_ttcp_sequence<ttcp_sequence_i> (*my_ttcp);
-
-#else
- my_ttcp = new ttcp_sequence_i;
-#endif
-
-#if defined (ACE_HAS_QUANTIFY)
- quantify_clear_data();
- quantify_start_recording_data();
-#endif
- CORBA::Orbix.impl_is_ready(service_name);
- }
- catch(CORBA::SystemException &se) {
- // an error occured calling impl_is_ready() - output the error.
- cout << "System Exception getting the implementation ready " << &se << endl;
- return -1;
- }
- catch(...) {
- // an error occured calling obj_is_ready() - output the error.
- cout << "Undefined Exception getting the implementation ready " << endl;
- return -1;
- }
- CORBA::release(my_ttcp);
- return (0);
-usage:
- fprintf (stderr, Usage);
- return(1);
-}
diff --git a/TAO/performance-tests/Thruput/Orbix/extract b/TAO/performance-tests/Thruput/Orbix/extract
deleted file mode 100644
index 9cce54ca390..00000000000
--- a/TAO/performance-tests/Thruput/Orbix/extract
+++ /dev/null
@@ -1,4 +0,0 @@
-rm -f outfile
-touch outfile
-grep "Mbit/sec\|Send" results.TAO | head -20 > outfile
-grep "msec/call\|Send" results.TAO | head -20 >> outfile
diff --git a/TAO/performance-tests/Thruput/Orbix/loop64 b/TAO/performance-tests/Thruput/Orbix/loop64
deleted file mode 100644
index 102c2afd209..00000000000
--- a/TAO/performance-tests/Thruput/Orbix/loop64
+++ /dev/null
@@ -1,24 +0,0 @@
-# All ATM tests: 64k socket Queue Size
-#
-# shorts
-run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 s
-sleep 2
-# longs
-run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 l
-sleep 2
-# octets
-run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 o
-sleep 2
-# doubles
-run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 d
-sleep 2
-# chars
-run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 c
-sleep 2
-# structures
-run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 S
-sleep 2
-# Composite Structs
-#run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 C
-#sleep 2
-#
diff --git a/TAO/performance-tests/Thruput/Orbix/orbixsol2s4.mk b/TAO/performance-tests/Thruput/Orbix/orbixsol2s4.mk
deleted file mode 100644
index 01fd92b98c8..00000000000
--- a/TAO/performance-tests/Thruput/Orbix/orbixsol2s4.mk
+++ /dev/null
@@ -1,148 +0,0 @@
-# ------------------------------------------------------------
-# Orbix 2.2 implicit rules for SunOS/GNU Make
-# ------------------------------------------------------------
-#
-# If you cut'n'paste this into your /usr/include/make/default.mk
-# file, beware! This is not officially supported by Iona
-# Technologies, and you may want to be a bit of a Makefile hacker
-# to make it integrate well with your site's setup.
-
-# The best thing to do would be put it in a standard place and
-# anyone who wants the Orbix implicit rule set can include
-# it with an "include <pathname>/orbix.mk" line in their
-# Makefile. A good place to put it might be /usr/include/make.
-
-# These rules define default C++, C++FLAGS and C++SUFFIX.
-# C++ is the C++ compiler to use; C++FLAGS are command-line
-# flags to the C++ compiler for use in compiling C++ source
-# files into objects; C++SUFFIX is the filename suffix
-# indicating C++ source. By default, it's set to "C" for AT&T C++,
-# and "cc" for GNU g++.
-
-# Feel free to override these in your Makefiles *after*
-# including this file.
-
-# IMPORTANT: If the -M switch is specified in IDLFLAGS, the IDL
-# compiler appends to the user-specified file. The dependency for
-# specified_file.o in the linking target should appear _after_ any use
-# of the IDL compiler which takes the -M flag. Putting it _last_
-# is normally the best approach.
-
-# Note that these rule definitions use pattern matching,
-# and therefore only work with SunOS make and GNU make.
-
-# They may not work with other vendor's versions of make.
-# If they do not, you may wish to try using GNU make, which
-# is free software produced by the Free Software Foundation.
-
-# If the version of make you wish to use does not support
-# pattern matching, use the sample explicit rule set in
-# the comments at the end of this file.
-
-# ------------------------------------------------------------
-# Essential: set these to the locations into which you
-# have installed Orbix' components:
-
-ORBIX_BINDIR = /opt/Orbix_2.2/bin
-ORBIX_LIBDIR = /opt/Orbix_2.2/lib
-ORBIX_INCDIR = /opt/Orbix_2.2/include
-
-#-------------------------------------------------------------
-# To compile the demos, you should change these values as
-# appropriate for your particular system installation
-#-------------------------------------------------------------
-
-X11BASE = /usr/openwin
-X11INCDIR = $(X11BASE)/include
-X11LIBDIR = $(X11BASE)/lib
-
-C++ = CC
-C++FLAGS = -I$(ORBIX_INCDIR) -I.
-C++SUFFIX = cpp
-CXX = CC
-CPPFLAGS += -I$(ORBIX_INCDIR) -I.
-CPPSUFFIX = cpp
-
-# ------------------------------------------------------------
-# ITCLT, IRCLT and ITSRV can be either statically or dynamically linked
-# Use -Bdynamic or -Bstatic as appropriate.
-# ------------------------------------------------------------
-ITCLT = -Bdynamic -lorbix
-ITSRV = -Bdynamic -lorbix
-IRCLT = -Bdynamic -lIRclt
-ITIIOP = -Bdynamic -liiop
-ITDSI = -Bdynamic -lDSI
-ITIFR = -Bdynamic -lifr
-
-
-# ------------------------------------------------------------
-# SYSLIBS must be dynamically linked; otherwise you can expect to
-# get linkage errors for symbols in the nsl library
-# ------------------------------------------------------------
-
-LDFLAGS = -L$(ORBIX_LIBDIR)
-SYSLIBS = -Bdynamic -lnsl -lsocket
-
-IDL = $(ORBIX_BINDIR)/idl
-IDLFLAGS = -h .h -c C.cpp -s S.cpp -B -A -m interOp
-#------------------------------------------------------------
-# The following section defines implicit rules for creating
-# *.{C,S}.C files, rules for compiling those
-# into objects, and even a rule for compiling C++ source into
-# objects (in case one isn't already defined).
-
-# ------------------------------------------------------------
-# first, put the new suffixes at the *head* of the suffix list,
-# overriding any existing .C compilation method.
-.SUFFIXES:
-.SUFFIXES: .$(C++SUFFIX) .idl $(SUFFIXES)
-
-# .SUFFIXES: .$(C++SUFFIX) .idl .hh $(SUFFIXES)
-# ------------------------------------------------------------
-# *[CS].o must be compiled here, and depends
-# mostly on the C++ files produced from the IDL file.
-
-%C.o: %C.$(C++SUFFIX)
- $(C++) -c $(C++FLAGS) $<
-
-%S.o: %S.$(C++SUFFIX)
- $(C++) -c $(C++FLAGS) $<
-
-%.o: %.$(C++SUFFIX)
- $(C++) -c $(C++FLAGS) $<
-
-# and here's how to compile C++ files from the IDL file.
-# only ONE of these rules will be run at make-time,
-
-%S.$(C++SUFFIX): %.idl
- $(IDL) $(IDLFLAGS) $<
-
-%C.$(C++SUFFIX): %.idl
- $(IDL) $(IDLFLAGS) $<
-
-#%.hh: %.idl
-%.h: %.idl
- $(IDL) $(IDLFLAGS) $<
-
-# ------------------------------------------------------------
-# If the version of make you wish to use does not support
-# pattern matching, here's a sample of an explicit rule set.
-# We assume the IDL file is called "foobar.idl", we wish
-# to compile "foobarC.o", "foobarS.o", and
-# "foobar.hh", and the C++ file suffix.
-# ------------------------------------------------------------
-
-# foobarC.o: foobar.hh foobarC.C
-# $(C++) -c ($C++FLAGS) foobarC.C
-#
-# foobarS.o: foobar.hh foobarS.C
-# $(C++) -c ($C++FLAGS) foobarS.C
-#
-# foobarC.C: foobar.idl
-# $(IDL) -c ($IDLFLAGS) foobar.idl
-#
-# foobarS.C: foobar.idl
-# $(IDL) -c ($IDLFLAGS) foobar.idl
-#
-# foobar.hh: foobar.idl
-# $(IDL) -c ($IDLFLAGS) foobar.idl
diff --git a/TAO/performance-tests/Thruput/Orbix/run b/TAO/performance-tests/Thruput/Orbix/run
deleted file mode 100644
index 7af22c9407b..00000000000
--- a/TAO/performance-tests/Thruput/Orbix/run
+++ /dev/null
@@ -1 +0,0 @@
-client -S 67108864 -f m -D -l $1 -h mambo-atm.wustl.edu -L temp -q $2 -b 65536
diff --git a/TAO/performance-tests/Thruput/Orbix/run_client b/TAO/performance-tests/Thruput/Orbix/run_client
deleted file mode 100644
index 0de2a604e31..00000000000
--- a/TAO/performance-tests/Thruput/Orbix/run_client
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/csh -f
-# All ATM tests: 64k socket Queue Size
-#
-# shorts
-run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 s
-sleep 2
-# longs
-run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 l
-sleep 2
-# octets
-run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 o
-sleep 2
-# doubles
-run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 d
-sleep 2
-# chars
-run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 c
-sleep 2
-# structures
-run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 S
-sleep 2
-# Composite Structs
-#run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 C
-#sleep 2
-#
diff --git a/TAO/performance-tests/Thruput/Orbix/run_server b/TAO/performance-tests/Thruput/Orbix/run_server
deleted file mode 100644
index 1dad6e9c600..00000000000
--- a/TAO/performance-tests/Thruput/Orbix/run_server
+++ /dev/null
@@ -1,4 +0,0 @@
-rmit SII_ttcp
-putit SII_ttcp "/project/mambo/gokhale/TTCP-testbed/SII/1way/Orbix/server -f m -b 65536 -l 131072"
-#putit SII_ttcp -persistent
-#truss -f server -f m -b 65536 -l 131072
diff --git a/TAO/performance-tests/Thruput/Orbix/run_test b/TAO/performance-tests/Thruput/Orbix/run_test
deleted file mode 100644
index 9ca15639427..00000000000
--- a/TAO/performance-tests/Thruput/Orbix/run_test
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/csh -f
-if ($#argv < 3) then
- echo "Usage: sclt <Total Data Size> <Max msg size> <destination> <TitleOfThisTest> <seq type>"
- exit 1
-endif
-#
-@ msize=1024
-@ limit= ($argv[2] * 1024)
-#echo $limit
-#echo $msize
-echo "Iteration#" 1 ": client -S" $1 "-D -f m -s -t -l" $msize "-h" $3 "-x -L" $4 "-q" $5 -b 65536
-client -S $1 -D -f m -l $msize -h $3 -x -L $4 -q $5 -b 65536
-set flag=0
-while ($msize <= $limit)
- if ($flag == 0) goto label
- echo "Iteration#" 1 ": client -S" $1 "-D -f m -l" $msize "-h" $3 "-x -L" $4 "-q" $5 -b 65536
- client -S $1 -D -f m -l $msize -h $3 -x -L $4 -q $5 -b 65536
- label:
- set flag=1
- sleep 2
- foreach i (2 3)
- echo "Iteration#" $i ": client -S" $1 "-D -f m -s -t -l" $msize "-h" $3 "-x -L " $4 "-q" $5 -b 65536
- client -S $1 -D -f m -l $msize -h $3 -x -L $4 -q $5 -b 65536
- end
- echo "---------------------------"
- @ msize = ($msize * 2)
-end
-
-echo " "
-echo "Done at:"
-date
diff --git a/TAO/performance-tests/Thruput/Orbix/run_tests b/TAO/performance-tests/Thruput/Orbix/run_tests
deleted file mode 100644
index 96245b9fbc8..00000000000
--- a/TAO/performance-tests/Thruput/Orbix/run_tests
+++ /dev/null
@@ -1,78 +0,0 @@
-#! /bin/csh
-
-rm -f results.TAO
-touch results.TAO
-
-echo "TAO throughput test"
-echo "TAO throughput test" >>results.TAO
-echo "==================="
-echo "===================" >>results.TAO
-
-
-echo "Send Struct --------------------------------------------------------" >>results.TAO
- ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO
- ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO
- ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO
- ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO
- ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO
- ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO
- ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO
- ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO
- ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO
-
-echo "Send Short ---------------------------------------------------------" >>results.TAO
- ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO
- ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO
- ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO
- ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO
- ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO
- ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO
- ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO
- ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO
- ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO
-
-echo "Send Long ----------------------------------------------------------" >>results.TAO
- ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO
- ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO
- ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO
- ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO
- ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO
- ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO
- ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO
- ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO
- ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO
-
-echo "Send Octet ---------------------------------------------------------" >>results.TAO
- ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO
- ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO
- ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO
- ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO
- ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO
- ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO
- ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO
- ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO
- ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO
-
-echo "Send Double --------------------------------------------------------" >>results.TAO
- ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO
- ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO
- ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO
- ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO
- ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO
- ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO
- ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO
- ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO
- ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO
-
-echo "Send Char ----------------------------------------------------------" >>results.TAO
- ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO
- ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO
- ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO
- ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO
- ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO
- ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO
- ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO
- ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO
- ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO
-
-grep "Mbit/sec\|Send" results.TAO
diff --git a/TAO/performance-tests/Thruput/Orbix/ttcp.idl b/TAO/performance-tests/Thruput/Orbix/ttcp.idl
deleted file mode 100644
index 9e95e00d8b0..00000000000
--- a/TAO/performance-tests/Thruput/Orbix/ttcp.idl
+++ /dev/null
@@ -1,40 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-struct PerfStruct{
- short s;
- char c;
- long l;
- octet o;
- double d;
- //padding
- long pad[2];
-};
-
-struct CompositeStruct{
- PerfStruct ps;
-};
-
-// Richly typed data
-interface ttcp_sequence
-{
- typedef sequence<short> ShortSeq;
- typedef sequence<long> LongSeq;
- typedef sequence<double> DoubleSeq;
- typedef sequence<char> CharSeq;
- typedef sequence<octet> OctetSeq;
- typedef sequence<PerfStruct> StructSeq;
- typedef sequence<CompositeStruct> CompositeSeq;
-
- // Routines to send sequences of various data types
- oneway void sendShortSeq (in ShortSeq ttcp_seq);
- oneway void sendLongSeq (in LongSeq ttcp_seq);
- oneway void sendDoubleSeq (in DoubleSeq ttcp_seq);
- oneway void sendCharSeq (in CharSeq ttcp_seq);
- oneway void sendOctetSeq (in OctetSeq ttcp_seq);
- oneway void sendStructSeq (in StructSeq ttcp_seq);
- oneway void sendCompositeSeq (in CompositeSeq ttcp_seq);
-
- oneway void start_timer ();
- oneway void stop_timer ();
-};
diff --git a/TAO/performance-tests/Thruput/Orbix/ttcp_decl.h b/TAO/performance-tests/Thruput/Orbix/ttcp_decl.h
deleted file mode 100644
index 1b28e501537..00000000000
--- a/TAO/performance-tests/Thruput/Orbix/ttcp_decl.h
+++ /dev/null
@@ -1,154 +0,0 @@
-// $Id$
-
-
-/*
- * T T C P Header File
- *
- */
-
-/* This file includes all the declarations and prototypes */
-
-#ifndef _TTCP_DECL_H_
-#define _TTCP_DECL_H_
-
-#include "ttcp.h"
-
-/* #define BSD43 */
-/* #define BSD42 */
-/* #define BSD41a */
-
-
-#include <stdio.h>
-#include <signal.h>
-#include <ctype.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <malloc.h>
-#include <string.h>
-#include <stdlib.h>
-#include <memory.h>
-#include <netinet/tcp.h>
-#include <arpa/inet.h>
-#include <netdb.h>
-#include <sys/time.h> /* struct itimerval */
-#include <limits.h>
-#include <sys/un.h>
-#include <unistd.h>
-#include <iostream.h>
-#include <sys/resource.h>
-
-/* File to be included if Quantify is to be used */
-#if defined (ACE_HAS_QUANTIFY)
-# include <quantify.h>
-#endif
-
-
-#if defined(SYSV)
-#define bcopy(b1,b2,n) memcpy(b2,b1,n)
-#define bzero(b1,n) memset(b1,0,n)
-#include <sys/times.h>
-#include <sys/param.h>
-#endif
-
-#if defined(SUNOS54)
-struct rusage
- {
- struct timeval ru_utime, ru_stime;
- };
-#define RUSAGE_SELF 0
-#else
-#include <sys/resource.h>
-#endif
-
-/* define the data types to be sent */
-#define SEND_SHORT ((unsigned long)(1))
-#define SEND_LONG ((unsigned long)(2))
-#define SEND_CHAR ((unsigned long)(3))
-#define SEND_OCTET ((unsigned long)(4))
-#define SEND_DOUBLE ((unsigned long)(5))
-#define SEND_STRUCT ((unsigned long)(6))
-#define SEND_COMPOSITE ((unsigned long)(7))
-
-/**************
-// Prototypes
-***************/
-void err (char *s);
-void mes (char *s);
-char *outfmt (double b);
-static void getrusage (int ignored, register struct rusage *ru);
-static void gettimeofday (struct timeval *tp, struct timezone *zp);
-void prep_timer (void);
-double read_timer (char *str, int len);
-static void prusage (register struct rusage *r0, struct rusage *r1, struct timeval *e, struct timeval *b, char *outp);
-static void tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1);
-static void tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0);
-static void psecs (long l, register char *cp);
-void delay (int us);
-int mread (int fd, register char *bufp, unsigned n);
-int Nread (int fd, void *buf, int count);
-int Nwrite (int fd, void *buf, int count);
-void FillPattern(register char *cp, register int bufLen, unsigned long dt);
-void PrintStats();
-int SetSocketBufferSize(int size, unsigned short isTrans);
-int SetNoDelay();
-void ProcessArguments(int argc, char **argv, unsigned short isTrans);
-
-/* Global variables defined here as extern */
-extern int fromlen;
-extern int domain; /* Default is to use Internet domain sockets. */
-extern char *domainname; /* Rendezvous address for UNIX domain sockets. */
-extern int fd; /* fd of network socket */
-
-extern int buflen; /* length of buffer */
-extern char *buf; /* ptr to dynamic buffer */
-extern int nbuf; /* number of buffers to send in sinkmode */
-
-extern int bufoffset; /* align buffer to this */
-extern int bufalign; /* modulo this */
-
-extern int udp; /* 0 = tcp, !0 = udp */
-extern int options; /* socket options */
-extern int one; /* for 4.3 BSD style setsockopt() */
-extern short port; /* TCP port number */
-extern char *host; /* ptr to name of host */
-extern int trans; /* 0=receive, !0=transmit mode */
-extern int sinkmode; /* 0=normal I/O, !0=sink/source mode */
-extern int verbose; /* 0=print basic info, 1=print cpu rate, proc
- * resource usage. */
-extern int nodelay; /* set TCP_NODELAY socket option */
-extern int b_flag; /* use mread() */
-extern int sockbufsize; /* socket buffer size to use */
-extern int new_line; /* This is a special flag */
-extern int write_to_file; /* indecates writing to file (default)*/
-extern char fmt; /* output format:k=kilobits,K=kilobytes,
- * m = megabits, M = megabytes,
- * g = gigabits, G = gigabytes */
-extern int touchdata; /* access data after reading */
-
-extern struct hostent *addr;
-extern int errno;
-extern int optind;
-extern char *optarg;
-extern char *title;
-
-extern char stats[128];
-extern unsigned long srcDataSize; /* Total amount of source data */
-extern unsigned long nbytes; /* bytes on net */
-extern unsigned long numCalls; /* # of I/O system calls */
-extern double cput, realt; /* user, real time (seconds) */
-extern unsigned long dt;
-
-extern unsigned short isDone;
-
-/* declare struct variables for various message types */
-extern ttcp_sequence::ShortSeq *sseq;
-extern ttcp_sequence::LongSeq *lseq;
-extern ttcp_sequence::OctetSeq *oseq;
-extern ttcp_sequence::DoubleSeq *dseq;
-extern ttcp_sequence::CharSeq *cseq;
-extern ttcp_sequence::StructSeq *Sseq;
-extern ttcp_sequence::CompositeSeq *Cseq;
-
-#endif
diff --git a/TAO/performance-tests/Thruput/Orbix/ttcp_i.cpp b/TAO/performance-tests/Thruput/Orbix/ttcp_i.cpp
deleted file mode 100644
index 66bdca5f4ea..00000000000
--- a/TAO/performance-tests/Thruput/Orbix/ttcp_i.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-// $Id$
-
-#include "ttcp_i.h"
-
-ACE_RCSID(Orbix, ttcp_i, "$Id$")
-
-/* callback routine that will change the size of the socket queue */
-static void
-SD_Ready (int io_descriptor)
-{
- if (sockbufsize)
- {
- if (setsockopt (io_descriptor, SOL_SOCKET, SO_RCVBUF,
- (char *) &sockbufsize, sizeof sockbufsize) < 0)
- perror ("setsockopt: rcvbuf"), exit (1);
- }
-}
-
-/* the ttcp_i class implementation */
-ttcp_sequence_i::ttcp_sequence_i()
-{
- this->nbytes_ = 0;
- numCalls = 0;
- // register a callback so we can manipulate the descriptor
- // being used by orbix.
-
- if (CORBA::Orbix.registerIOCallback (OrbixIOCallback(SD_Ready),
- FD_OPEN_CALLBACK) != 0)
- perror ("can't register callback"), exit (1);
-}
-
-
-void
-ttcp_sequence_i::start_timer (CORBA::Environment &IT_env)
-{
- this->nbytes_ = 0;
- ::prep_timer ();
-}
-
-void
-ttcp_sequence_i::stop_timer (CORBA::Environment &IT_env)
-{
- (void) ::read_timer (stats, sizeof (stats));
- ::nbytes = this->nbytes_;
- ::PrintStats();
- // reset
- this->nbytes_ = 0;
- numCalls = 0;
-#if defined (ACE_HAS_QUANTIFY)
- quantify_stop_recording_data();
- exit(0);
-#endif
-}
-
-void
-ttcp_sequence_i::sendShortSeq(const ttcp_sequence::ShortSeq& ttcp_seq, CORBA::Environment &IT_env)
-{
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Short);
-}
-
-void
-ttcp_sequence_i::sendLongSeq(const ttcp_sequence::LongSeq& ttcp_seq, CORBA::Environment &IT_env)
-{
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Long) ;
-}
-
-void
-ttcp_sequence_i::sendOctetSeq(const ttcp_sequence::OctetSeq& ttcp_seq, CORBA::Environment &IT_env)
-{
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Octet) ;
-}
-
-void
-ttcp_sequence_i::sendDoubleSeq(const ttcp_sequence::DoubleSeq& ttcp_seq, CORBA::Environment &IT_env)
-{
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Double) ;
-}
-
-void
-ttcp_sequence_i::sendCharSeq(const ttcp_sequence::CharSeq& ttcp_seq, CORBA::Environment &IT_env)
-{
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Char) ;
-}
-
-void
-ttcp_sequence_i::sendStructSeq(const ttcp_sequence::StructSeq& ttcp_seq, CORBA::Environment &IT_env)
-{
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(PerfStruct) ;
-}
-
-void
-ttcp_sequence_i::sendCompositeSeq(const ttcp_sequence::CompositeSeq& ttcp_seq, CORBA::Environment &IT_env)
-{
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CompositeStruct) ;
-}
diff --git a/TAO/performance-tests/Thruput/Orbix/ttcp_i.h b/TAO/performance-tests/Thruput/Orbix/ttcp_i.h
deleted file mode 100644
index 7c81620f271..00000000000
--- a/TAO/performance-tests/Thruput/Orbix/ttcp_i.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-
-// ttcp_i.h
-//
-// This header file provides facility to use it either as a BOA approach or as
-// a TIE approach.
-//
-#ifndef TTCP_I_H
-#define TTCP_I_H
-
-#include "ttcp.h"
-#include "ttcp_decl.h"
-
-/* define the data types to be sent */
-#define SEND_SHORT ((unsigned long)(1))
-#define SEND_LONG ((unsigned long)(2))
-#define SEND_CHAR ((unsigned long)(3))
-#define SEND_OCTET ((unsigned long)(4))
-#define SEND_DOUBLE ((unsigned long)(5))
-#define SEND_STRUCT ((unsigned long)(6))
-#define SEND_COMPOSITE ((unsigned long)(7))
-
-
-#if defined(USE_TIE)
-class ttcp_sequence_i
-#else // use BOA
-class ttcp_sequence_i
- : public virtual ttcp_sequenceBOAImpl
-#endif
-{
-public:
- ttcp_sequence_i();
-
- virtual void sendShortSeq (const ttcp_sequence::ShortSeq& ttcp_seq,
- CORBA::Environment &IT_env=CORBA::default_environment);
- virtual void sendLongSeq (const ttcp_sequence::LongSeq& ttcp_seq,
- CORBA::Environment &IT_env=CORBA::default_environment);
- virtual void sendDoubleSeq (const ttcp_sequence::DoubleSeq& ttcp_seq,
- CORBA::Environment &IT_env=CORBA::default_environment);
- virtual void sendCharSeq (const ttcp_sequence::CharSeq& ttcp_seq,
- CORBA::Environment &IT_env=CORBA::default_environment);
- virtual void sendStructSeq (const ttcp_sequence::StructSeq& ttcp_seq,
- CORBA::Environment &IT_env=CORBA::default_environment);
- virtual void sendOctetSeq (const ttcp_sequence::OctetSeq& ttcp_seq,
- CORBA::Environment &IT_env=CORBA::default_environment);
- virtual void sendCompositeSeq (const ttcp_sequence::CompositeSeq& ttcp_seq,
- CORBA::Environment &IT_env=CORBA::default_environment);
-
- /* Routines to calculate the time required to transfer */
- virtual void start_timer (CORBA::Environment &IT_env=
- CORBA::default_environment);
- virtual void stop_timer (CORBA::Environment &IT_env=
- CORBA::default_environment);
-private:
- unsigned long nbytes_;
-};
-
-#if defined(USE_TIE)
-// ttcp_sequence_i implements ttcp_sequence
-DEF_TIE(ttcp_sequence, ttcp_sequence_i);
-#endif
-
-#endif // defined (TTCP_I_H)
diff --git a/TAO/performance-tests/Thruput/Orbix/utils.cpp b/TAO/performance-tests/Thruput/Orbix/utils.cpp
deleted file mode 100644
index 316af53ff40..00000000000
--- a/TAO/performance-tests/Thruput/Orbix/utils.cpp
+++ /dev/null
@@ -1,563 +0,0 @@
-// $Id$
-
-#include "ttcp_decl.h"
-
-ACE_RCSID(Orbix, utils, "$Id$")
-
-void
-err (char *s)
-{
- fprintf (stderr, "ttcp%s: ", trans ? "-t" : "-r");
- perror (s);
- fprintf (stderr, "errno=%d\n", errno);
- exit (1);
-}
-
-void
-mes (char *s)
-{
- fprintf (stderr, "ttcp%s: %s\n", trans ? "-t" : "-r", s);
-}
-
-char *
-outfmt (double b)
-{
- static char obuf[50];
- switch (fmt)
- {
- case 'G':
- sprintf (obuf, "%.2f GB", b / 1024.0 / 1024.0 / 1024.0);
- break;
- default:
- case 'K':
- sprintf (obuf, "%.2f KB", b / 1024.0);
- break;
- case 'M':
- sprintf (obuf, "%.2f MB", b / 1024.0 / 1024.0);
- break;
- case 'g':
- sprintf (obuf, "%.2f Gbit", b * 8.0 / 1024.0 / 1024.0 / 1024.0);
- break;
- case 'k':
- sprintf (obuf, "%.2f Kbit", b * 8.0 / 1024.0);
- break;
- case 'm':
- sprintf (obuf, "%.2f Mbit", b * 8.0 / 1024.0 / 1024.0);
- break;
- }
- return obuf;
-}
-
-static struct itimerval itime0; /* Time at which timing started */
-static struct rusage ru0; /* Resource utilization at the start */
-
-#if defined(SYSV)
-/*ARGSUSED */
-static void
-getrusage (int ignored, register struct rusage *ru)
-{
- struct tms buf;
-
- times (&buf);
-
- /* Assumption: HZ <= 2147 (LONG_MAX/1000000) */
- ru->ru_stime.tv_sec = buf.tms_stime / HZ;
- ru->ru_stime.tv_usec = ((buf.tms_stime % HZ) * 1000000) / HZ;
- ru->ru_utime.tv_sec = buf.tms_utime / HZ;
- ru->ru_utime.tv_usec = ((buf.tms_utime % HZ) * 1000000) / HZ;
-}
-
-/*ARGSUSED */
-static void
-gettimeofday (struct timeval *tp, struct timezone *zp)
-{
- tp->tv_sec = time (0);
- tp->tv_usec = 0;
-}
-#endif /* SYSV */
-/*
- * P R E P _ T I M E R
- */
-void
-prep_timer ()
-{
- itime0.it_interval.tv_sec = 0;
- itime0.it_interval.tv_usec = 0;
- itime0.it_value.tv_sec = LONG_MAX / 22; /* greatest possible value , itimer() count backwards */
- itime0.it_value.tv_usec = 0;
-
-
- getrusage (RUSAGE_SELF, &ru0);
-
- /* Init REAL Timer */
- if (setitimer (ITIMER_REAL, &itime0, NULL))
- {
- perror ("Setting 'itimer' REAL failed");
- return;
- }
-
-}
-
-/*
- * R E A D _ T I M E R
- *
- */
-double
-read_timer (char *str, int len)
-{
- struct itimerval itimedol;
- struct rusage ru1;
- struct timeval td;
- struct timeval tend, tstart;
- char line[132];
-
- getrusage (RUSAGE_SELF, &ru1);
-
- if (getitimer (ITIMER_REAL, &itimedol))
- {
- perror ("Getting 'itimer' REAL failed");
- return (0.0);
- }
-
- prusage (&ru0, &ru1, &itime0.it_value, &itimedol.it_value, line);
- (void) strncpy (str, line, len);
-
- /* Get real time */
- tvsub (&td, &itime0.it_value, &itimedol.it_value);
- realt = td.tv_sec + ((double) td.tv_usec) / 1000000;
-
- /* Get CPU time (user+sys) */
- tvadd (&tend, &ru1.ru_utime, &ru1.ru_stime);
- tvadd (&tstart, &ru0.ru_utime, &ru0.ru_stime);
- tvsub (&td, &tend, &tstart);
- cput = td.tv_sec + ((double) td.tv_usec) / 1000000;
- if (cput < 0.00001)
- cput = 0.00001;
- return (cput);
-}
-
-static void
-prusage (register struct rusage *r0, struct rusage *r1,
- struct timeval *e, struct timeval *b, char *outp)
-{
- struct timeval tdiff;
- register time_t t;
- register char *cp;
- register int i;
- int ms;
-
- t = (r1->ru_utime.tv_sec - r0->ru_utime.tv_sec) * 100 +
- (r1->ru_utime.tv_usec - r0->ru_utime.tv_usec) / 10000 +
- (r1->ru_stime.tv_sec - r0->ru_stime.tv_sec) * 100 +
- (r1->ru_stime.tv_usec - r0->ru_stime.tv_usec) / 10000;
- ms = (e->tv_sec - b->tv_sec) * 100 + (e->tv_usec - b->tv_usec) / 10000;
-
-#define END(x) {while(*x) x++;}
-#if defined(SYSV)
- cp = "%Uuser %Ssys %Ereal %P";
-#else
-#if defined(sgi) /* IRIX 3.3 will show 0 for %M,%F,%R,%C */
- cp = "%Uuser %Ssys %Ereal %P %Mmaxrss %F+%Rpf %Ccsw";
-#else
- cp = "%Uuser %Ssys %Ereal %P %Xi+%Dd %Mmaxrss %F+%Rpf %Ccsw";
-#endif
-#endif
- for (; *cp; cp++)
- {
- if (*cp != '%')
- *outp++ = *cp;
- else if (cp[1])
- switch (*++cp)
- {
-
- case 'U':
- tvsub (&tdiff, &r1->ru_utime, &r0->ru_utime);
- sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec / 100000);
- END (outp);
- break;
-
- case 'S':
- tvsub (&tdiff, &r1->ru_stime, &r0->ru_stime);
- sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec / 100000);
- END (outp);
- break;
-
- case 'E':
- psecs (ms / 100, outp);
- END (outp);
- break;
-
- case 'P':
- sprintf (outp, "%d%%", (int) (t * 100 / ((ms ? ms : 1))));
- END (outp);
- break;
-
-#if !defined(SYSV)
- case 'W':
- i = r1->ru_nswap - r0->ru_nswap;
- sprintf (outp, "%d", i);
- END (outp);
- break;
-
- case 'X':
- sprintf (outp, "%d", t == 0 ? 0 : (r1->ru_ixrss - r0->ru_ixrss) / t);
- END (outp);
- break;
-
- case 'D':
- sprintf (outp, "%d", t == 0 ? 0 :
- (r1->ru_idrss + r1->ru_isrss - (r0->ru_idrss + r0->ru_isrss)) / t);
- END (outp);
- break;
-
- case 'K':
- sprintf (outp, "%d", t == 0 ? 0 :
- ((r1->ru_ixrss + r1->ru_isrss + r1->ru_idrss) -
- (r0->ru_ixrss + r0->ru_idrss + r0->ru_isrss)) / t);
- END (outp);
- break;
-
- case 'M':
- sprintf (outp, "%d", r1->ru_maxrss / 2);
- END (outp);
- break;
-
- case 'F':
- sprintf (outp, "%d", r1->ru_majflt - r0->ru_majflt);
- END (outp);
- break;
-
- case 'R':
- sprintf (outp, "%d", r1->ru_minflt - r0->ru_minflt);
- END (outp);
- break;
-
- case 'I':
- sprintf (outp, "%d", r1->ru_inblock - r0->ru_inblock);
- END (outp);
- break;
-
- case 'O':
- sprintf (outp, "%d", r1->ru_oublock - r0->ru_oublock);
- END (outp);
- break;
- case 'C':
- sprintf (outp, "%d+%d", r1->ru_nvcsw - r0->ru_nvcsw,
- r1->ru_nivcsw - r0->ru_nivcsw);
- END (outp);
- break;
-#endif /* !SYSV */
- }
- }
- *outp = '\0';
-}
-
-static void
-tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1)
-{
-
- tsum->tv_sec = t0->tv_sec + t1->tv_sec;
- tsum->tv_usec = t0->tv_usec + t1->tv_usec;
- if (tsum->tv_usec > 1000000)
- tsum->tv_sec++, tsum->tv_usec -= 1000000;
-}
-
-static void
-tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0)
-{
-
- tdiff->tv_sec = t1->tv_sec - t0->tv_sec;
- tdiff->tv_usec = t1->tv_usec - t0->tv_usec;
- if (tdiff->tv_usec < 0)
- tdiff->tv_sec--, tdiff->tv_usec += 1000000;
-}
-
-static void
-psecs (long l, register char *cp)
-{
- register int i;
-
- i = l / 3600;
- if (i)
- {
- sprintf (cp, "%d:", i);
- END (cp);
- i = l % 3600;
- sprintf (cp, "%d%d", (i / 60) / 10, (i / 60) % 10);
- END (cp);
- }
- else
- {
- i = l;
- sprintf (cp, "%d", i / 60);
- END (cp);
- }
- i %= 60;
- *cp++ = ':';
- sprintf (cp, "%d%d", i / 10, i % 10);
-}
-
-/*
- * N R E A D
- */
-int
-Nread (int fd, void *buf, int count)
-{
- struct sockaddr_in from;
- int len = sizeof (from);
- register int cnt;
- if (udp)
- {
- cnt = recvfrom (fd, (char *) buf, count, 0, (struct sockaddr *) &from, &len);
- numCalls++;
- }
- else
- {
- if (b_flag)
- cnt = mread (fd, (char *) buf, count); /* fill buf */
- else
- {
- cnt = read (fd, buf, count);
- numCalls++;
- }
- if (touchdata && cnt > 0)
- {
- register int c = cnt, sum;
- register char *b = (char *) buf;
- while (c--)
- sum += *b++;
- }
- }
- return (cnt);
-}
-
-
-/*
- * N W R I T E
- */
-int
-Nwrite (int fd, void *buf, int count)
-{
- return 0;
-}
-
-void
-delay (int us)
-{
- struct timeval tv;
-
- tv.tv_sec = 0;
- tv.tv_usec = us;
- (void) select (1, (fd_set *) 0, (fd_set *) 0, (fd_set *) 0, &tv);
-}
-
-/*
- * M R E A D
- *
- * This function performs the function of a read(II) but will
- * call read(II) multiple times in order to get the requested
- * number of characters. This can be necessary because
- * network connections don't deliver data with the same
- * grouping as it is written with. Written by Robert S. Miles, BRL.
- */
-int
-mread (int fd, register char *bufp, unsigned n)
-{
- register unsigned count = 0;
- register int nread;
-
- do
- {
- nread = read (fd, bufp, n - count);
- numCalls++;
- if (nread < 0)
- {
- perror ("ttcp_mread");
- return (-1);
- }
- if (nread == 0)
- return ((int) count);
- count += (unsigned) nread;
- bufp += nread;
- }
- while (count < n);
-
- return ((int) count);
-}
-
-void
-FillPattern (register char *cp, register int bufLen, unsigned long dt)
-{
- unsigned long
- num, i;
-
- switch(dt){
- case SEND_SHORT:
- {
- register short *SeqPtr = (short *)cp;
- num = bufLen/sizeof(short);
- for (i=0; i < num; i++)
- SeqPtr[i] = (short)lrand48();
- sseq = new ttcp_sequence::ShortSeq(num,num, SeqPtr);
- }
- break;
- case SEND_LONG:
- {
- register long *SeqPtr = (long *)cp;
- num = bufLen/sizeof(long);
- for (i=0; i < num; i++)
- SeqPtr[i] = lrand48();
- lseq = new ttcp_sequence::LongSeq(num, num, SeqPtr);
- }
- break;
- case SEND_DOUBLE:
- {
- register double *SeqPtr = (double *)cp;
- num = bufLen/sizeof(double);
- for (i=0; i < num; i++)
- SeqPtr[i] = drand48();
- dseq = new ttcp_sequence::DoubleSeq(num, num, SeqPtr);
- }
- break;
- case SEND_CHAR:
- {
- register CORBA::Char *SeqPtr = (CORBA::Char *)cp;
- register char c = 0;
- num = bufLen/sizeof(char);
- for(i=0; i < num; i++){
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i] = (c++ & 0x7f);
- }
- cseq = new ttcp_sequence::CharSeq(num, num, SeqPtr);
- }
- break;
- case SEND_STRUCT:
- {
- register PerfStruct *SeqPtr = (PerfStruct *)cp;
- register char c = 0;
- num = bufLen/sizeof(PerfStruct);
- for (i=0; i < num; i++){
- SeqPtr[i].s = (short)lrand48();
- SeqPtr[i].l = lrand48();
- SeqPtr[i].d = drand48();
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i].c = (c++ & 0x7f);
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i].o = (unsigned char)(c++ & 0x7f);
- }
- Sseq = new ttcp_sequence::StructSeq(num, num, SeqPtr);
-
- }
- break;
- case SEND_COMPOSITE:
- {
- register CompositeStruct *SeqPtr = (CompositeStruct *)cp;
- register char c = 0;
- num = bufLen/sizeof(CompositeStruct);
- for (i=0; i < num; i++){
- SeqPtr[i].ps.s = (short)lrand48();
- SeqPtr[i].ps.l = lrand48();
- SeqPtr[i].ps.d = drand48();
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i].ps.c = (c++ & 0x7f);
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i].ps.o = (unsigned char)(c++ & 0x7f);
- }
- Cseq = new ttcp_sequence::CompositeSeq(num, num, SeqPtr);
- }
- break;
- case SEND_OCTET:
- default:
- {
- register CORBA::Octet *SeqPtr = (CORBA::Octet *)cp;
- register char c = 0;
- num = bufLen/sizeof(CORBA::Octet);
- for(i=0; i < num; i++){
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i] = (c++ & 0x7f);
- }
- oseq = new ttcp_sequence::OctetSeq(num, num, SeqPtr);
- }
- break;
- }
-}
-void PrintStats()
-{
- if (cput <= 0.0)
- cput = 0.001;
- if (realt <= 0.0)
- realt = 0.001;
-
-//#if defined (LM_RESULTS)
- if (trans && (title != 0))
- {
- double tmp;
- FILE *outFile;
- char filename[BUFSIZ];
-
- strcpy(filename, title);
- switch(dt){
- case SEND_SHORT:
- strcat(filename, ".shortSeq.results");
- break;
- case SEND_LONG:
- strcat(filename, ".longSeq.results");
- break;
- case SEND_DOUBLE:
- strcat(filename, ".doubleSeq.results");
- break;
- case SEND_CHAR:
- strcat(filename, ".charSeq.results");
- break;
- case SEND_STRUCT:
- strcat(filename, ".structSeq.results");
- break;
- case SEND_COMPOSITE:
- strcat(filename, ".compositeSeq.results");
- break;
- case SEND_OCTET:
- default:
- strcat(filename, ".octetSeq.results");
- break;
- }
- outFile = fopen (filename, "a+");
- if (new_line)
- fprintf (outFile, "\n -l %ldk \t", buflen / 1024);
- tmp = ((double) nbytes) / realt;
- fprintf (outFile, "%.2f ", tmp * 8.0 / 1024.0 / 1024.0);
- fclose (outFile);
- }
-//#endif
-
- fprintf (stdout,
- "ttcp%s: %ld bytes in %.2f real seconds = %s/sec +++\n",
- trans ? "-t" : "-r",
- nbytes, realt, outfmt (((double) nbytes) / realt));
- if (verbose)
- {
- fprintf (stdout,
- "ttcp%s: %ld bytes in %.2f CPU seconds = %s/cpu sec\n",
- trans ? "-t" : "-r",
- nbytes, cput, outfmt (((double) nbytes) / cput));
- }
- fprintf (stdout,
- "ttcp%s: %d Server Method calls, msec/call = %.2f, calls/sec = %.2f\n",
- trans ? "-t" : "-r",
- numCalls,
- 1024.0 * realt / ((double) numCalls),
- ((double) numCalls) / realt);
- fprintf (stdout, "ttcp%s: %s\n", trans ? "-t" : "-r", stats);
- if (verbose)
- {
- fprintf (stdout,
- "ttcp%s: buffer address %#x\n",
- trans ? "-t" : "-r",
- buf);
- }
-}
diff --git a/TAO/performance-tests/Thruput/TAO/Makefile b/TAO/performance-tests/Thruput/TAO/Makefile
deleted file mode 100644
index b74723302a1..00000000000
--- a/TAO/performance-tests/Thruput/TAO/Makefile
+++ /dev/null
@@ -1,193 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Top-level Makefile for the TAO_TTCP benchmark
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-ifndef TAO_ROOT
- TAO_ROOT = $(ACE_ROOT)/TAO
-endif # ! TAO_ROOT
-
-LDLIBS = -lTAO
-
-IDL_SRC = ttcpC.cpp ttcpS.cpp
-PROG_SRCS = $(IDL_SRC) client.cpp ttcp_i.cpp server.cpp utils.cpp tmplinst.cpp
-
-LSRC = $(PROG_SRCS)
-
-TTCP_CLIENT_OBJS = ttcpC.o client.o utils.o tmplinst.o ttcpS.o
-
-TTCP_SERVER_OBJS = ttcpC.o ttcpS.o server.o ttcp_i.o utils.o tmplinst.o
-
-BIN = client server
-
-BUILD = $(BIN)
-
-VLDLIBS = $(LDLIBS:%=%$(VAR))
-VBIN = $(BIN:%=%$(VAR))
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(TAO_ROOT)/rules.tao.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
-#include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-include $(TAO_ROOT)/taoconfig.mk
-
-#----------------------------------------------------------------------------
-# Local modifications to variables imported by includes above.
-#----------------------------------------------------------------------------
-
-LDFLAGS += -L$(TAO_ROOT)/tao
-CPPFLAGS += -I$(TAO_ROOT)
-
-$(IDL_SRC): ttcp.idl
- $(TAO_ROOT)/TAO_IDL/tao_idl ttcp.idl
-
-server: $(addprefix $(VDIR),$(TTCP_SERVER_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
-
-client: $(addprefix $(VDIR),$(TTCP_CLIENT_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
-
-realclean: clean
- -/bin/rm -rf ttcpC.* ttcpS.* ttcpS_T.*
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-.obj/ttcpC.o .obj/ttcpC.so .shobj/ttcpC.o .shobj/ttcpC.so: ttcpC.cpp ttcpC.h ttcpC.i ttcpS.h ttcpS_T.h ttcpS_T.i \
- ttcpS_T.cpp ttcpS.i
-.obj/ttcpS.o .obj/ttcpS.so .shobj/ttcpS.o .shobj/ttcpS.so: ttcpS.cpp ttcpS.h ttcpC.h ttcpC.i ttcpS_T.h ttcpS_T.i \
- ttcpS_T.cpp ttcpS.i
-.obj/client.o .obj/client.so .shobj/client.o .shobj/client.so: client.cpp \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/config.h \
- $(ACE_ROOT)/ace/config-sunos5.5.h \
- $(ACE_ROOT)/ace/config-g++-common.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/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Read_Buffer.h \
- $(ACE_ROOT)/ace/Malloc.h \
- $(ACE_ROOT)/ace/Malloc.i \
- $(ACE_ROOT)/ace/Malloc_T.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(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/Synch_T.cpp \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Malloc_T.i \
- $(ACE_ROOT)/ace/Malloc_T.cpp \
- $(ACE_ROOT)/ace/Memory_Pool.h \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Containers.h \
- $(ACE_ROOT)/ace/Containers.i \
- $(ACE_ROOT)/ace/Containers_T.h \
- $(ACE_ROOT)/ace/Containers_T.i \
- $(ACE_ROOT)/ace/Containers_T.cpp \
- $(ACE_ROOT)/ace/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/Managed_Object.cpp \
- $(ACE_ROOT)/ace/Mem_Map.h \
- $(ACE_ROOT)/ace/Mem_Map.i \
- $(ACE_ROOT)/ace/Memory_Pool.i \
- $(ACE_ROOT)/ace/Read_Buffer.i ttcpC.h \
- ttcpC.i ttcp_decl.h \
- $(ACE_ROOT)/ace/Profile_Timer.h \
- $(ACE_ROOT)/ace/High_Res_Timer.h \
- $(ACE_ROOT)/ace/High_Res_Timer.i \
- $(ACE_ROOT)/ace/Profile_Timer.i
-.obj/ttcp_i.o .obj/ttcp_i.so .shobj/ttcp_i.o .shobj/ttcp_i.so: ttcp_i.cpp \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/config.h \
- $(ACE_ROOT)/ace/config-sunos5.5.h \
- $(ACE_ROOT)/ace/config-g++-common.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/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Log_Record.i ttcp_i.h \
- ttcpS.h ttcpC.h ttcpC.i ttcpS_T.h ttcpS_T.i ttcpS_T.cpp ttcpS.i \
- ttcp_decl.h \
- $(ACE_ROOT)/ace/Profile_Timer.h \
- $(ACE_ROOT)/ace/High_Res_Timer.h \
- $(ACE_ROOT)/ace/High_Res_Timer.i \
- $(ACE_ROOT)/ace/Profile_Timer.i
-.obj/server.o .obj/server.so .shobj/server.o .shobj/server.so: server.cpp \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/inc_user_config.h \
- $(ACE_ROOT)/ace/config.h \
- $(ACE_ROOT)/ace/config-sunos5.5.h \
- $(ACE_ROOT)/ace/config-g++-common.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/ACE.i \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Get_Opt.h \
- $(ACE_ROOT)/ace/Get_Opt.i ttcp_i.h \
- ttcpS.h ttcpC.h ttcpC.i ttcpS_T.h ttcpS_T.i ttcpS_T.cpp ttcpS.i
-.obj/utils.o .obj/utils.so .shobj/utils.o .shobj/utils.so: utils.cpp ttcpC.h ttcpC.i ttcp_decl.h \
- $(ACE_ROOT)/ace/Profile_Timer.h \
- $(ACE_ROOT)/ace/High_Res_Timer.h \
- $(ACE_ROOT)/ace/High_Res_Timer.i \
- $(ACE_ROOT)/ace/Profile_Timer.i
-.obj/tmplinst.o .obj/tmplinst.so .shobj/tmplinst.o .shobj/tmplinst.so: tmplinst.cpp ttcpC.h ttcpC.i
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/performance-tests/Thruput/TAO/README b/TAO/performance-tests/Thruput/TAO/README
deleted file mode 100644
index c7f3897f6b4..00000000000
--- a/TAO/performance-tests/Thruput/TAO/README
+++ /dev/null
@@ -1,65 +0,0 @@
- TAO_TTCP Benchmark README file
-
-This directory contains a modified version of the TTCP benchmark that
-uses the TAO ORB. TAO_TTCP is used to measure the throughput of TAO
-for sending different data types. This code tests sequences of short,
-long, octet, char, double, and richly-typed data such as a struct.
-This benchmark uses an interpretive form of marshaling the data by
-using the dynamic invocation interfaces provided by the TAO ORB.
-
-Organization
-------------
-
-client.cpp Client main program
-server.cpp Server main program
-ttcpC.cpp Client side stubs
-ttcpS.cpp Server side skeletons
-ttcpC.h Header file for stubs
-ttcpS.h Header file for the skeletons
-ttcp_i.cpp Implementaion of the interface
-ttcp_i.h Header for the implementation
-utils.cpp Utilities to calculate throughput
-ttcp_decls.h Common declarations
-
-Results
--------
-Throughput results are stored under the results directory. If testing
-for REMOTE transfers, use the ./results/REMOTE directory.
-
-Running the tests
------------------
-Three scripts are provided
-
-(1) run_server : runs the server. Be sure to change the host name
-(2) run_client : runs tests for various data types
-(3) run_test : called by run_client
-
-Three perl script are provided (same scripts just ported to perl)
-
-(1) new_server_test : runs the server.
-
-(2) new_client_test : runs the client for various data types. command
-options are a directory (./results/REMOTE/XXX) to store the results and a
-second option that is the file permissions to set for the directory that
-the results are stored in; defaults to 755.
-
-(3) new_run_test : called by new_client_test
-
-Compiling ---------
-
-Type make
-
-To provide for 2way tests (no data is sent in the reverse
-direction. Sender blocks for a minimal ACK), comment out the -DONEWAY
-flag from the CPPFLAGS
-
-Aniruddha Gokhale
-gokhale@cs.wustl.edu
-
-
-
-
-
-
-
-
diff --git a/TAO/performance-tests/Thruput/TAO/client.cpp b/TAO/performance-tests/Thruput/TAO/client.cpp
deleted file mode 100644
index 2a2bc2b239c..00000000000
--- a/TAO/performance-tests/Thruput/TAO/client.cpp
+++ /dev/null
@@ -1,319 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = TAO tests
-// Throughput measurement using the TTCP benchmark adapted to work
-// using TAO
-//
-// = FILENAME
-// client.cpp
-//
-// Main program for the client
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#include "ace/ACE.h"
-#include "ace/Read_Buffer.h"
-#include "ace/Get_Opt.h"
-#include "ttcpC.h"
-#include "ttcp_decl.h"
-
-ACE_RCSID(TAO, client, "$Id$")
-
-int print_usage (void);
-
-char * read_ior (char *filename);
-char Usage[] =
- "Usage: client [-options] \n"
- "Common options:\n"
- "-i <ior> Object reference string that the server outputs when started\n"
- "-f ior_file\n"
- "-l ## length of bufs read from or written to network (default 8192)\n"
- "-v verbose: print more statistics\n"
- "-d ## debug level\n"
- "-m X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n"
- "-L ## Output file name to store results\n"
- "-S ## Total Data Size to be sent\n"
- "-q <type> Send Sequence: Enumeration for various data types:\n"
- " s = short, l = long, d = double, c = char\n"
- " o = octet, S = BinStruct \n";
-
-CORBA::Long trans = 1; // we are a client - used for debugging purposes
-CORBA::Long buflen = 8 * 1024; // length of buffer, default 8,192 bytes
-CORBA::Char *buf; // ptr to dynamic buffer
-CORBA::Long nbuf; // number of buffers to send in sinkmode
-CORBA::Short port = TAO_DEFAULT_SERVER_PORT; // TCP port number
-CORBA::Char *host = "localhost"; // ptr to name of host
-CORBA::Long verbose = 0; // 0=print basic info, 1=print cpu
- // rate, proc resource usage.
-CORBA::Char fmt = 'K'; // output
- // format:k=kilobits,K=kilobytes, m = megabits,
- // M = megabytes, g = gigabits, G = gigabytes
-CORBA::String title = 0; // title of file to gather statistics
-char stats[128]; // gathering the statistics
-unsigned long srcDataSize; // Total amount of source data
-unsigned long nbytes; // bytes on net
-unsigned long numCalls; // # of I/O system calls
-double cput, realt; // user, real time (seconds)
-unsigned long dt; // data type
-char * ior = 0;
-
-// declare variables for various message types
-ttcp_sequence::ShortSeq *sseq;
-ttcp_sequence::LongSeq *lseq;
-ttcp_sequence::OctetSeq *oseq;
-ttcp_sequence::DoubleSeq *dseq;
-ttcp_sequence::CharSeq *cseq;
-ttcp_sequence::StructSeq *Sseq;
-
-int
-main (int argc, char *argv[])
-{
-
- int c;
- CORBA::ORB_ptr orb_ptr; // underlying ORB
- CORBA::String objkey = "TTCP_IIOP_test"; // name of the TTCP object on the
- // server
- CORBA::Object_ptr objref = CORBA::Object::_nil(); // object reference
- ttcp_sequence_ptr ttcp_seq = 0; // obj reference to TTCP object
- CORBA::Environment env; // environment
-
- ACE_UNUSED_ARG (objkey);
-
- // parse the arguments
- ACE_Get_Opt get_opt (argc, argv, "d:vm:l:L:S:q:i:f:"); // Command line options
- TAO_debug_level = 0;
- while ((c = get_opt ()) != -1)
- {
- switch (c)
- {
- case 'i':
- ior = ACE_OS::strdup (get_opt.optarg);
- break;
- case 'L':
- title = ACE_OS::strdup (get_opt.optarg);
- break;
- case 'd':
- TAO_debug_level = ACE_OS::atoi (get_opt.optarg);
- if (TAO_debug_level > 10)
- TAO_debug_level = 10;
- break;
- case 'l':
- buflen = ACE_OS::atoi (get_opt.optarg);
- break;
- case 'v':
- verbose = 1;
- break;
- case 'm':
- fmt = *get_opt.optarg;
- break;
- case 'S': /* total source data to send. */
- srcDataSize = ACE_OS::atoi (get_opt.optarg);
- break;
- case 'q': /* Send sequence of desired data type */
- switch(*get_opt.optarg){
- case 's':
- dt = SEND_SHORT;
- break;
- case 'l':
- dt = SEND_LONG;
- break;
- case 'd':
- dt = SEND_DOUBLE;
- break;
- case 'c':
- dt = SEND_CHAR;
- break;
- case 'o':
- dt = SEND_OCTET;
- break;
- case 'S':
- dt = SEND_STRUCT;
- break;
- case 'C':
- dt = SEND_COMPOSITE;
- break;
- }
- break;
- case 'f':
- ior = read_ior (get_opt.optarg);
- break;
- default:
- return print_usage ();
- }
- }
-
- //
- // Transmitter
- //
-
- // get a handle to the ORB
- orb_ptr = CORBA::ORB_init (argc, argv, "internet", env);
- if (env.exception () != 0)
- {
- env.print_exception ("ORB initialization", stdout);
- return -1;
- }
-
- ACE_DEBUG ((LM_DEBUG, "Read IOR string as: %s\n" , ior));
-
- // retrieve an object reference out of the stringified IOR
- objref = orb_ptr->string_to_object (ior, env);
-
- if (env.exception () != 0)
- {
- env.print_exception ("string_to_object", stdout);
- return -1;
- }
-
- if (!CORBA::is_nil (objref))
- {
- // if it is a valid obj ref, narrow it to a ttcp_sequence CORBA object
- ttcp_seq = ttcp_sequence::_narrow (objref, env);
- if (env.exception () != 0)
- {
- env.print_exception ("ttcp_sequence::_narrow");
- return -1;
- }
-
- if (!CORBA::is_nil (ttcp_seq))
- {
-
- // the number of iterations is based on the total data size and the
- // individual buffer size sent
- nbuf = srcDataSize/buflen;
- ACE_DEBUG ((LM_DEBUG, "data size = %d, buflen = %d, nbuf = %d\n",
- srcDataSize, buflen, nbuf));
-
- //
- // Prepare the Message to be sent
- //
-
-
- // first allocate a buffer of the desired size and alignment
- errno = 0;
- if ((buf = (char *) ACE_OS::malloc (buflen)) == (char *) NULL)
- err ("malloc");
-
- // fill the buffer with the data type to be sent
- FillPattern (buf, buflen, dt);
-
- //
- // Start the timers on the client and server sides
- //
-
- prep_timer (); // start our time
- env.clear ();
- ttcp_seq->start_timer (env); // ask the server to start its timer
- if (env.exception () != 0)
- {
- env.print_exception ("start_timer operation", stdout);
- return -1;
- }
-
-#if defined (ACE_HAS_QUANTIFY)
- /* start recording quantify data from here */
- quantify_clear_data ();
- quantify_start_recording_data ();
-#endif /* ACE_HAS_QUANTIFY */
- // send the same buffer nbuf times
- while (nbuf--)
- {
- switch (dt){
- case SEND_SHORT:
- ttcp_seq->sendShortSeq (*sseq, env);
- nbytes += sseq->length () * sizeof (CORBA::Short);
- break;
- case SEND_LONG:
- ttcp_seq->sendLongSeq (*lseq, env);
- nbytes += lseq->length () * sizeof (CORBA::Long);
- break;
- case SEND_OCTET:
- ttcp_seq->sendOctetSeq (*oseq, env);
- nbytes += oseq->length () * sizeof (CORBA::Octet);
- break;
- case SEND_DOUBLE:
- ttcp_seq->sendDoubleSeq (*dseq, env);
- nbytes += dseq->length () * sizeof (CORBA::Double);
- break;
- case SEND_CHAR:
- ttcp_seq->sendCharSeq (*cseq, env);
- nbytes += cseq->length () * sizeof (CORBA::Char);
- break;
- case SEND_STRUCT:
- ttcp_seq->sendStructSeq (*Sseq, env);
- nbytes += Sseq->length () * sizeof (BinStruct);
- break;
- }
- numCalls++; // nbytes and numCalls are used in the thruput
- // measurement
- if (env.exception () != 0)
- {
- env.print_exception ("send operation", stdout);
- return -1;
- }
- }
-#if defined (ACE_HAS_QUANTIFY)
- quantify_stop_recording_data();
-#endif /* ACE_HAS_QUANTIFY */
- //
- // Stop the timer
- //
- // stop the timer on the server side
- ttcp_seq->stop_timer (env);
- if (env.exception () != 0)
- {
- env.print_exception ("stop_timer operation", stdout);
- return -1;
- }
- // stop our timer
- (void) read_timer (stats, sizeof (stats));
-
- // print results
- PrintStats();
- }
- }
-
- CORBA::release (ttcp_seq);
- CORBA::release (objref);
- CORBA::release (orb_ptr);
- return (0);
-}
-
-int print_usage (void)
-{
- ACE_ERROR ((LM_ERROR, "Usage error\n"));
- ACE_ERROR ((LM_ERROR, "%s\n", Usage));
- return -1;
-}
-
-char*
-read_ior (char *filename)
-{
- ACE_HANDLE f_handle;
- // Open the file for reading.
- f_handle = ACE_OS::open (filename, O_RDONLY);
-
- if (f_handle == ACE_INVALID_HANDLE)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Unable to open %s for reading: %p\n",
- filename?filename:"(null filename)"),
- 0);
- ACE_Read_Buffer ior_buffer (f_handle);
- char *data = ior_buffer.read ();
-
- if (data == 0)
- ACE_ERROR_RETURN ((LM_ERROR,
- "Unable to allocate memory to read ior: %p\n"),
- 0);
-
- char *ior = 0;
- ior = ACE_OS::strdup (data);
- ior_buffer.alloc ()->free (data);
-
- return ior;
-}
diff --git a/TAO/performance-tests/Thruput/TAO/new_client_test b/TAO/performance-tests/Thruput/TAO/new_client_test
deleted file mode 100755
index aaf0f1dcc9c..00000000000
--- a/TAO/performance-tests/Thruput/TAO/new_client_test
+++ /dev/null
@@ -1,63 +0,0 @@
-#!/pkg/gnu/bin/perl
-#
-#new_client_test <filename to store results in> [FILEPERMISSION (default is 755)] [OBJ_REF]
-
-$TEST_NAME = shift (@ARGV);
-$TEST_RES_BASE_DIR = "./results/REMOTE/";
-$TEST_DIR = $TEST_RES_BASE_DIR . $TEST_NAME;
-$FILE_PERMISSIONS = shift (@ARGV);
-$OBJ_REF = shift (@ARGV);
-$FILE_TO_WRITE_EXT = $TEST_DIR . '/sun-iiop.atm1.64';
-
-#if the file permissions aren't specified, default to 755
-if ($FILE_PERMISSIONS == NULL){
- $FILE_PERMISSIONS = 755;
-}
-
-if (! (-d $TEST_DIR)) {
- chdir $TEST_RES_BASE_DIR;
- mkdir ($TEST_NAME, 0755);
- system ("chmod $FILE_PERMISSIONS $TEST_NAME");
- chdir "../../";
-}
-
-# shorts
-system ("new_run_test 67108864 128 $FILE_TO_WRITE_EXT s $OBJ_REF");
-sleep 5;
-# longs
-system ("new_run_test 67108864 128 $FILE_TO_WRITE_EXT l $OBJ_REF");
-sleep 5;
-# octets
-system ("new_run_test 67108864 128 $FILE_TO_WRITE_EXT o $OBJ_REF");
-sleep 5;
-# doubles
-system ("new_run_test 67108864 128 $FILE_TO_WRITE_EXT d $OBJ_REF");
-sleep 5;
-# chars
-system ("new_run_test 67108864 128 $FILE_TO_WRITE_EXT c $OBJ_REF");
-sleep 5;
-# structures
-system ("new_run_test 67108864 128 $FILE_TO_WRITE_EXT S $OBJ_REF");
-sleep 5;
-#Composite Structs
-system ("new_run_test 67108864 128 $FILE_TO_WRITE_EXT C $OBJ_REF");
-sleep 5;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/TAO/performance-tests/Thruput/TAO/new_run_test b/TAO/performance-tests/Thruput/TAO/new_run_test
deleted file mode 100755
index d68cc6dece8..00000000000
--- a/TAO/performance-tests/Thruput/TAO/new_run_test
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/pkg/gnu/bin/perl
-
-# $1 <Total_Data_Size>
-# $2 <Max_msg_size_in_Kb?> <-- currently not used? $2 == $argv[2] ??
-# $3 <Output file name>
-# $4 <seq_type>
-# $5 <ior_from_server>
-# e.g.
-# % run_test 10000 512 mambo\! s iiop:1.0//128.252.165.144:10015/P350892cc000ad963RootPOA/RootPOA_is_BAD/TTCP_IIOP_test
-#
-
-$TOTAL_DATA_SIZE = shift (@ARGV);
-$MAX_MSG_SIZE_IN_KB = shift (@ARGV);
-$OUTPUT_FILE_NAME = shift (@ARGV);
-$SEQ_TYPE = shift (@ARGV);
-$IOR_FROM_SERVER = shift (@ARGV);
-$msize = 1024;
-$limit = ($MAX_MSG_SIZE_IN_KB * 1024);
-
-while ($msize <= $limit){
- print "-->", "\n";
- print "--> ITERATION #1", "\n";
- print " client -S ", $TOTAL_DATA_SIZE, " -m m -l ", $msize, " -L ", $OUTPUT_FILE_NAME, " -q ", $SEQ_TYPE, " -f ior", "\n";
- print "-->", "\n";
- system ("./client -S $TOTAL_DATA_SIZE -m m -l $msize -L $OUTPUT_FILE_NAME -q $SEQ_TYPE -f ior");
-
- sleep 5;
- foreach $i (2) {
- print "-->", "\n";
- print "--> ITERATION #", $i, "\n";
- print " client -S ", $TOTAL_DATA_SIZE, " -m m -l ", $msize, " -L ", $OUTPUT_FILE_NAME, " -q ", $SEQ_TYPE, " -f ior", "\n";
- print "-->";
- system ("client -S $TOTAL_DATA_SIZE -m m -l $msize -L $OUTPUT_FILE_NAME -q $SEQ_TYPE -f ior");
- }
-
- print "---------------------------";
- $msize = $msize * 2;
- sleep 5;
-}
-
-print " ", "\n";
-print "Done at:", "\n";
-system ("date");
-
-
-
-
-
diff --git a/TAO/performance-tests/Thruput/TAO/new_server_test b/TAO/performance-tests/Thruput/TAO/new_server_test
deleted file mode 100755
index fa0e427c035..00000000000
--- a/TAO/performance-tests/Thruput/TAO/new_server_test
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/pkg/gnu/bin/perl
-#
-# Usage: server <switches>
-# -u : use IOR
-# -f m : output results in Mbps
-# -b <sock Q size> ** not implemented **
-# -ORBhost <host name> ************* must provide this for this version
-# -OAthread : use threaded version as opposed to reactive
-#
-
-$HOSTNAME = shift (@ARGV);
-
-system ("server -d 1 -f m -o ior -ORBhost $HOSTNAME -ORBdotteddecimaladdresses 1 -ORBobjrefstyle url");
diff --git a/TAO/performance-tests/Thruput/TAO/results/REMOTE/README b/TAO/performance-tests/Thruput/TAO/results/REMOTE/README
deleted file mode 100644
index 2ece064f320..00000000000
--- a/TAO/performance-tests/Thruput/TAO/results/REMOTE/README
+++ /dev/null
@@ -1,4 +0,0 @@
-This file is here to make the directory non-empty so it won't be
-removed by cvs.
- Shawn Atkins <sma1@cs.wustl.edu>
-
diff --git a/TAO/performance-tests/Thruput/TAO/run b/TAO/performance-tests/Thruput/TAO/run
deleted file mode 100755
index 009677fdcde..00000000000
--- a/TAO/performance-tests/Thruput/TAO/run
+++ /dev/null
@@ -1 +0,0 @@
-client -S 67108864 -f m -l $1 -L temp -q $2 -d $3
diff --git a/TAO/performance-tests/Thruput/TAO/run_client b/TAO/performance-tests/Thruput/TAO/run_client
deleted file mode 100755
index f439dde2444..00000000000
--- a/TAO/performance-tests/Thruput/TAO/run_client
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/csh -f
-# All ATM tests: 64k socket Queue Size
-#
-# Arguments:
-# $1 <Test_Name>
-# $2 <ior_file>
-
-# if ($#argv < 2) then
-# echo "Usage: run_client <Test_Name> <obj_reference_From_Server>"
-# exit 1
-# endif
-
-#if the directory $1 <TEST_NAME> doesn't exist create it
-if (!(-d ./results/REMOTE/$1)) then
- chdir ./results/REMOTE
- mkdir $1
- chdir ../../
-endif
-
-#shorts
-run_test 67108864 128 ./results/REMOTE/$1/sun-iiop.atm1.64 s $2
-sleep 5
-# longs
-run_test 67108864 128 ./results/REMOTE/$1/sun-iiop.atm1.64 l $2
-sleep 5
-# octets
-run_test 67108864 128 ./results/REMOTE/$1/sun-iiop.atm1.64 o $2
-sleep 5
-# doubles
-run_test 67108864 128 ./results/REMOTE/$1/sun-iiop.atm1.64 d $2
-sleep 5
-# chars
-run_test 67108864 128 ./results/REMOTE/$1/sun-iiop.atm1.64 c $2
-sleep 5
-# structures
-run_test 67108864 128 ./results/REMOTE/$1/sun-iiop.atm1.64 S $2
-sleep 5
-#Composite Structs
-run_test 67108864 128 ./results/REMOTE/$1/sun-iiop.atm1.64 C $2
-sleep 5
-
diff --git a/TAO/performance-tests/Thruput/TAO/run_server b/TAO/performance-tests/Thruput/TAO/run_server
deleted file mode 100755
index d7276405bd9..00000000000
--- a/TAO/performance-tests/Thruput/TAO/run_server
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/csh -x
-#
-# Usage: server <switches>
-# -u : use IOR
-# -f m : output results in Mbps
-# -b <sock Q size> ** not implemented **
-# -ORBhost <host name> ************* must provide this for this version
-# -OAthread : use threaded version as opposed to reactive
-#
-
-./server -d 1 -f m -o ior -ORBhost $1 -ORBdotteddecimaladdresses 1 -ORBobjrefstyle url#-OAthread
diff --git a/TAO/performance-tests/Thruput/TAO/run_test b/TAO/performance-tests/Thruput/TAO/run_test
deleted file mode 100755
index e2590581ed4..00000000000
--- a/TAO/performance-tests/Thruput/TAO/run_test
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/csh -f
-#
-# $Id$
-#
-
-# $1 <Total_Data_Size>
-# $2 <Max_msg_size_in_Kb?> <-- currently not used? $2 == $argv[2] ??
-# $3 <Output file name>
-# $4 <seq_type>
-# $5 <ior_file>
-
-# e.g.
-# % run_test 10000 512 mambo\! s iiop:1.0//128.252.165.144:10015/P350892cc000ad963RootPOA/RootPOA_is_BAD/TTCP_IIOP_test
-#
-
-# if ($#argv < 4) then
-# echo "Usage: run_test <Total_Data_Size> <Max_msg_size> <Title_Of_This_Test> <seq_type>"
-# exit 1
-# endif
-#
-@ msize=1024
-@ limit= ($argv[2] * 1024)
-#echo $limit
-#echo $msize
- echo "-->"
- echo "--> ITERATION #" 1
- echo " client -S" $1 "-m m -l" $msize "-L" $3 "-q" $4 -f $5
- echo "-->"
-./client -S $1 -m m -l $msize -L $3 -q $4 -f $5
-set flag=0
-while ($msize <= $limit)
- if ($flag == 0) goto label
- echo "-->"
- echo "--> ITERATION #" 1
- echo " client -S" $1 "-m m -l" $msize "-L" $3 "-q" $4 -f $5
- echo "-->"
- ./client -S $1 -m m -l $msize -L $3 -q $4 -f $5
- label:
- set flag=1
- sleep 5
- foreach i (2)
- echo "-->"
- echo "--> ITERATION #" $i
- echo " client -S" $1 "-m m -l" $msize "-L" $3 "-q" $4 -f $5
- echo "-->"
- ./client -S $1 -m m -l $msize -L $3 -q $4 -f $5
- end
- echo "---------------------------"
- @ msize = ($msize * 2)
- sleep 5
-end
-
-echo " "
-echo "Done at:"
-date
diff --git a/TAO/performance-tests/Thruput/TAO/server.cpp b/TAO/performance-tests/Thruput/TAO/server.cpp
deleted file mode 100644
index d93e19dc742..00000000000
--- a/TAO/performance-tests/Thruput/TAO/server.cpp
+++ /dev/null
@@ -1,234 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = TAO tests
-// Throughput measurement using the TTCP benchmark adapted to work
-// using TAO
-//
-// = FILENAME
-// server.cpp
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#include "ace/ACE.h"
-#include "ace/Get_Opt.h"
-
-#include "ttcp_i.h"
-
-ACE_RCSID(TAO, server, "$Id$")
-
-char Usage[] = "\
-Usage: server [TAO options] [options] \n\
-Common options:\n\
--l ## length of bufs read from or written to network (default 8192)\n\
--v verbose: print more statistics\n\
--d ## set debug level \n\
--f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n\
--L ## Output file name for the data type used\n\n\
--o ior_filename\
-";
-
-CORBA::Long trans = 0; // we are the receiver
-CORBA::Long buflen = 8 * 1024; // length of buffer
-CORBA::Char *buf; // ptr to dynamic buffer
-CORBA::Long nbuf; // number of buffers to send in sinkmode
-CORBA::Long verbose = 0; // 0=print basic info, 1=print cpu rate, proc
- // resource usage.
-CORBA::Char fmt = 'K'; // output format:k=kilobits,K=kilobytes, m =
- // megabits, M = megabytes, g = gigabits, G =
- // gigabytes
-
-CORBA::Char *title = 0; // results filename
-
-CORBA::Char stats[128]; // gathering the statistics
-CORBA::ULong srcDataSize; // Total amount of source data
-CORBA::ULong nbytes; // bytes on net
-CORBA::ULong numCalls; // # of I/O system calls
-CORBA::Double cput, realt; // user, real time (seconds)
-CORBA::ULong dt; // data type
-
-/* declare struct variables for various message types */
-ttcp_sequence::ShortSeq *sseq;
-ttcp_sequence::LongSeq *lseq;
-ttcp_sequence::OctetSeq *oseq;
-ttcp_sequence::DoubleSeq *dseq;
-ttcp_sequence::CharSeq *cseq;
-ttcp_sequence::StructSeq *Sseq;
-
-ttcp_sequence_i *my_ttcp; // instance of the target object
-
-// main program - Driver
-int
-main (int argc, char **argv)
-{
-
- int c; // option
- CORBA::Environment env; // environment
- CORBA::ORB_var orb_var; // handle to the ORB
- PortableServer::POA_var root_poa; // Object adapter
- CORBA::String key = (CORBA::String) "key0"; // key assigned to our
- // target object
- CORBA::Object_var obj_var;
- char *oa_name = "RootPOA"; // name of our OA
- char *orb_name = "internet"; // name of our ORB
- CORBA::String str; // for stringified representation of the object reference
- FILE *ior_file = 0;
-
- ACE_UNUSED_ARG (key);
-
- // initialize the underlying ORB and get a handle to it
- orb_var = CORBA::ORB_init (argc, argv, orb_name, env);
- if (env.exception () != 0)
- {
- env.print_exception ("ORB init");
- return 1;
- }
-
- obj_var = orb_var->resolve_initial_references(oa_name);
-
- if (CORBA::is_nil(obj_var.in()))
- ACE_ERROR_RETURN ((LM_ERROR,
- " (%P|%t) Unable to initialize the POA.\n"),
- -1);
-
- root_poa = PortableServer::POA::_narrow (obj_var.in (), env);
-
- if (env.exception () != 0)
- {
- env.print_exception ("POA init");
- return 1;
- }
-
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (env);
-
- if (env.exception () != 0)
- {
- env.print_exception ("POA manager");
- return 1;
- }
-
- CORBA::PolicyList policies (2);
- policies.length (2);
- policies[0] =
- root_poa->create_id_assignment_policy (PortableServer::USER_ID,
- env);
- policies[1] =
- root_poa->create_lifespan_policy (PortableServer::PERSISTENT,
- env);
-
- // We use a different POA, otherwise the user would have to
- // change the object key each time it invokes the server.
- PortableServer::POA_var good_poa =
- root_poa->create_POA ("child_poa",
- poa_manager.in (),
- policies,
- env);
-
- if (env.exception () != 0)
- {
- env.print_exception ("create good poa");
- return 1;
- }
-
- // for parsing the arguments
- ACE_Get_Opt get_opt (argc, argv, "l:vd:f:L:o:");
-
- TAO_debug_level = 0;
- for (; (c = get_opt ()) != EOF;)
- {
- switch (c)
- {
- case 'L':
- // title of output file that stores result
- title = ACE_OS::strdup (get_opt.optarg);
- break;
- case 'd':
- // debugging level
- TAO_debug_level = ACE_OS::atoi (get_opt.optarg);
- if (TAO_debug_level > 10)
- TAO_debug_level = 10;
- break;
- case 'f':
- // output format i.e., Mbps, Kbps, etc
- fmt = *get_opt.optarg;
- break;
- case 'o':
- ior_file = ACE_OS::fopen (get_opt.optarg,"w");
- ACE_DEBUG ((LM_DEBUG,"ior_file is %s\n",get_opt.optarg));
- break;
- }
- }
-
- //
- // Receiver
- //
-
- // create an instance of an object implementing the "ttcp" interface
- my_ttcp = new ttcp_sequence_i; // this is its name
-
- PortableServer::ObjectId_var id =
- PortableServer::string_to_ObjectId ("TTCP_IIOP_test");
- good_poa->activate_object_with_id (id.in (),
- my_ttcp,
- env);
- if (env.exception () != 0)
- {
- env.print_exception ("string_to_ObjectId");
- return 1;
- }
-
- obj_var = good_poa->id_to_reference (id.in (), env);
-
- if (env.exception () != 0)
- {
- env.print_exception ("id_to_reference");
- return 1;
- }
-
- poa_manager->activate (env);
-
- if (env.exception () != 0)
- {
- env.print_exception ("id_to_reference");
- return 1;
- }
-
- // get a stringified representation of the object reference created above
- str = orb_var->object_to_string (obj_var.in (),
- env);
- if (env.exception () != 0)
- {
- env.print_exception ("object_to_string");
- return 1;
- }
-
- if (TAO_debug_level > 0)
- {
- ACE_DEBUG ((LM_DEBUG, "stringified obj reference = %s\n", str));
- }
-
- if (ior_file != 0)
- {
- // write ior to a file
- ACE_OS::fprintf (ior_file,"%s",str);
- ACE_OS::fclose (ior_file);
- }
-
-#if defined (ACE_HAS_QUANTIFY)
- // gather profile data
- quantify_clear_data();
- quantify_start_recording_data();
-#endif /* ACE_HAS_QUANTIFY */
-
- // Handle requests for this object until we're killed, or one of the
- // methods asks us to exit.
- if (orb_var->run () == -1)
- ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "run"), -1);
-
- return 0;
-}
diff --git a/TAO/performance-tests/Thruput/TAO/svc.conf b/TAO/performance-tests/Thruput/TAO/svc.conf
deleted file mode 100644
index 15cb9315c60..00000000000
--- a/TAO/performance-tests/Thruput/TAO/svc.conf
+++ /dev/null
@@ -1,49 +0,0 @@
-# $Id$
-#
-# This file contains a sample ACE_Service_Config configuration
-# file specifying the strategy factories utilized by an application
-# using TAO. There are currently only two possible factories:
-# Client_Strategy_Factory and Server_Strategy_Factory. These names
-# must be used as the second argument to their corresponding line,
-# because that's what the ORB uses to find the desired factory.
-#
-# Note that there are two unordinary characteristics of the way *this*
-# file is set up:
-# - both client and server strategies are specified in the same
-# file, which would only make sense for co-located clients & servers
-# - both of the factories are actually sourced out of libTAO.so
-# (TAO.DLL on Win32), and they would normally be in a separate
-# dll from the TAO ORB Core.
-#
-# The options which can be passed to the Resource Factory are:
-#
-# -ORBresources <which>
-# where <which> can be 'global' to specify globally-held resources,
-# or 'tss' to specify thread-specific resources.
-#
-# The options which can be passed to the Client are:
-# <none currently>
-#
-# The options which can be passed to the Server are:
-#
-# -ORBconcurrency <which>
-# where <which> can be 'thread-per-connection' to specify
-# use of the ACE_Threaded_Strategy concurrency strategy,
-# or 'reactive' to specify use of the ACE_Reactive_Strategy
-# concurrency strategy.
-#
-# -ORBthreadflags <flags>
-# specifies the default thread flags to use, where <flags> is a
-# logical OR'ing of the flags THR_DETACHED, THR_BOUND, THR_NEW_LWP,
-# THR_SUSPENDED, or THR_DAEMON. Note that not every flag may be valid
-# on every platform.
-#
-# -ORBdemuxstrategy <which>
-# where <which> can be one of 'dynamic', 'linear', 'active', or 'user',
-# and specifies the type of object lookup strategy used internally.
-# -ORBtablesize <unsigned>
-# specifies the size of the object table
-#
-dynamic Resource_Factory Service_Object * TAO:_make_TAO_Resource_Factory() "-ORBresources global"
-dynamic Client_Strategy_Factory Service_Object * TAO:_make_TAO_Default_Client_Strategy_Factory() ""
-dynamic Server_Strategy_Factory Service_Object * TAO:_make_TAO_Default_Server_Strategy_Factory() "-ORBconcurrency thread-per-connection -ORBsystemidpolicydemuxstrategy dynamic -ORBtablesize 128"
diff --git a/TAO/performance-tests/Thruput/TAO/tmplinst.cpp b/TAO/performance-tests/Thruput/TAO/tmplinst.cpp
deleted file mode 100644
index a3d83aabe63..00000000000
--- a/TAO/performance-tests/Thruput/TAO/tmplinst.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-//
-// $Id$
-//
-
-// The contents of this file REALLY should be generated by the IDL
-// compiler, but that functionality isn't available yet.
-
-#include "ttcpC.h"
-
-ACE_RCSID(TAO, tmplinst, "$Id$")
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class TAO_Unbounded_Sequence<CORBA::Double>;
-template class TAO_Unbounded_Sequence<BinStruct>;
-template class TAO_Unbounded_Sequence<CORBA::Char>;
-template class TAO_Unbounded_Sequence<CORBA::Short>;
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-#pragma instantiate TAO_Unbounded_Sequence<CORBA::Double>
-#pragma instantiate TAO_Unbounded_Sequence<BinStruct>
-#pragma instantiate TAO_Unbounded_Sequence<CORBA::Char>
-#pragma instantiate TAO_Unbounded_Sequence<CORBA::Short>
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/performance-tests/Thruput/TAO/ttcp.idl b/TAO/performance-tests/Thruput/TAO/ttcp.idl
deleted file mode 100644
index 461d4ae7440..00000000000
--- a/TAO/performance-tests/Thruput/TAO/ttcp.idl
+++ /dev/null
@@ -1,36 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-struct BinStruct
-{
- short s;
- char c;
- long l;
- octet o;
- double d;
- // octet pad[8]; // to make it 32 bytes
- // commented out until IDL support for arrays is added
-};
-
-// Richly typed data
-interface ttcp_sequence
-{
- typedef sequence<short> ShortSeq;
- typedef sequence<long> LongSeq;
- typedef sequence<double> DoubleSeq;
- typedef sequence<char> CharSeq;
- typedef sequence<octet> OctetSeq;
- typedef sequence<BinStruct> StructSeq;
-
- // = Routines to send sequences of various data types.
- oneway void sendShortSeq (in ShortSeq ttcp_seq);
- oneway void sendLongSeq (in LongSeq ttcp_seq);
- oneway void sendDoubleSeq (in DoubleSeq ttcp_seq);
- oneway void sendCharSeq (in CharSeq ttcp_seq);
- oneway void sendOctetSeq (in OctetSeq ttcp_seq);
- oneway void sendStructSeq (in StructSeq ttcp_seq);
-
- // = Control the timers.
- oneway void start_timer ();
- oneway void stop_timer ();
-};
diff --git a/TAO/performance-tests/Thruput/TAO/ttcp_decl.h b/TAO/performance-tests/Thruput/TAO/ttcp_decl.h
deleted file mode 100644
index 69f41b8b713..00000000000
--- a/TAO/performance-tests/Thruput/TAO/ttcp_decl.h
+++ /dev/null
@@ -1,84 +0,0 @@
-// $Id$
-
-/*
- * T T C P Header File
- *
- */
-
-/* This file includes all the declarations and prototypes */
-
-#ifndef _TTCP_DECL_H_
-#define _TTCP_DECL_H_
-
-#include "ace/OS.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Profile_Timer.h"
-
-/* File to be included if Quantify is to be used */
-#if defined (ACE_HAS_QUANTIFY)
-# include <quantify.h>
-#endif /* ACE_HAS_QUANTIFY */
-
-
-/* define the data types to be sent */
-#define SEND_SHORT ((CORBA::ULong)(1))
-#define SEND_LONG ((CORBA::ULong)(2))
-#define SEND_CHAR ((CORBA::ULong)(3))
-#define SEND_OCTET ((CORBA::ULong)(4))
-#define SEND_DOUBLE ((CORBA::ULong)(5))
-#define SEND_STRUCT ((CORBA::ULong)(6))
-#define SEND_COMPOSITE ((CORBA::ULong)(7))
-
-/**************
-// Prototypes
-***************/
-int err (CORBA::Char *s);
-void mes (CORBA::Char *s);
-CORBA::String outfmt (CORBA::Double b);
-void prep_timer (void);
-CORBA::Double read_timer (CORBA::Char *str, CORBA::Long len);
-void prusage (CORBA::Char *outp);
-void tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1);
-void tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0);
-void psecs (CORBA::Double d, register CORBA::Char *cp);
-void delay (CORBA::Long us);
-void FillPattern (register CORBA::Char *cp, register CORBA::Long bufLen, CORBA::ULong dt);
-void PrintStats (void);
-
-/* Global variables defined here as extern */
-extern ACE_Svc_Export CORBA::Long trans; // whether we are transmitter
- // or receiver
-extern ACE_Svc_Export CORBA::Long buflen; /* length of buffer */
-extern ACE_Svc_Export CORBA::Char *buf; /* ptr to dynamic buffer */
-extern ACE_Svc_Export CORBA::Long nbuf; /* number of buffers to send in sinkmode */
-extern ACE_Svc_Export CORBA::Short port; /* TCP port number */
-extern ACE_Svc_Export CORBA::Char *host; /* ptr to name of host */
-extern ACE_Svc_Export CORBA::Long verbose; /* 0=print basic info, 1=prCORBA::Long cpu rate, proc
- * resource usage. */
-extern ACE_Svc_Export CORBA::Char fmt; /* output format:k=kilobits,K=kilobytes,
- * m = megabits, M = megabytes,
- * g = gigabits, G = gigabytes */
-extern ACE_Svc_Export CORBA::Char *title;
-
-extern ACE_Svc_Export CORBA::Char stats[128];
-extern ACE_Svc_Export unsigned long srcDataSize; /* Total amount of source data */
-extern ACE_Svc_Export unsigned long nbytes; /* bytes on net */
-extern ACE_Svc_Export unsigned long numCalls; /* # of I/O system calls */
-extern ACE_Svc_Export CORBA::Double cput, realt; /* user, real time (seconds) */
-extern ACE_Svc_Export unsigned long dt;
-
-/* declare struct variables for various message types */
-extern ACE_Svc_Export ttcp_sequence::ShortSeq *sseq;
-extern ACE_Svc_Export ttcp_sequence::LongSeq *lseq;
-extern ACE_Svc_Export ttcp_sequence::OctetSeq *oseq;
-extern ACE_Svc_Export ttcp_sequence::DoubleSeq *dseq;
-extern ACE_Svc_Export ttcp_sequence::CharSeq *cseq;
-extern ACE_Svc_Export ttcp_sequence::StructSeq *Sseq;
-//extern ACE_Svc_Export ttcp_sequence::RtiPacketSeq *rtipacketSeq;
-
-#endif
-
diff --git a/TAO/performance-tests/Thruput/TAO/ttcp_i.cpp b/TAO/performance-tests/Thruput/TAO/ttcp_i.cpp
deleted file mode 100644
index a117c4bc48d..00000000000
--- a/TAO/performance-tests/Thruput/TAO/ttcp_i.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-// $Id$
-
-#include "ace/ACE.h"
-#include "ttcp_i.h"
-#include "ttcp_decl.h"
-
-ACE_RCSID(TAO, ttcp_i, "$Id$")
-
-/* the ttcp_i class implementation */
-ttcp_sequence_i::ttcp_sequence_i()
-{
- this->nbytes_ = 0;
- numCalls = 0;
-}
-
-void
-ttcp_sequence_i::start_timer (CORBA::Environment &IT_env)
-{
- ACE_UNUSED_ARG (IT_env);
- this->nbytes_ = 0;
- ::prep_timer ();
-}
-
-void
-ttcp_sequence_i::stop_timer (CORBA::Environment &IT_env)
-{
- ACE_UNUSED_ARG (IT_env);
-
- (void) ::read_timer (stats, sizeof (stats));
- ::nbytes = this->nbytes_;
- ::PrintStats();
- // reset
- this->nbytes_ = 0;
- numCalls = 0;
-#if defined (ACE_HAS_QUANTIFY)
- quantify_stop_recording_data();
- ACE_Service_Config::end_reactor_event_loop();
- ACE_OS::fprintf (stderr, "*********** just before exiting\n");
-#endif /* ACE_HAS_QUANTIFY */
-#if defined (ACE_HAS_PURIFY)
- ACE_Service_Config::end_reactor_event_loop();
- ACE_OS::fprintf (stderr, "*********** just before exiting\n");
-#endif
-}
-
-void
-ttcp_sequence_i::sendShortSeq(const ttcp_sequence::ShortSeq& ttcp_seq, CORBA::Environment &IT_env)
-{
- ACE_UNUSED_ARG (IT_env);
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Short);
-}
-
-void
-ttcp_sequence_i::sendLongSeq(const ttcp_sequence::LongSeq& ttcp_seq, CORBA::Environment &IT_env)
-{
- ACE_UNUSED_ARG (IT_env);
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Long) ;
-}
-
-void
-ttcp_sequence_i::sendOctetSeq(const ttcp_sequence::OctetSeq& ttcp_seq, CORBA::Environment &IT_env)
-{
- ACE_UNUSED_ARG (IT_env);
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Octet) ;
-}
-
-void
-ttcp_sequence_i::sendDoubleSeq(const ttcp_sequence::DoubleSeq& ttcp_seq, CORBA::Environment &IT_env)
-{
- ACE_UNUSED_ARG (IT_env);
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Double) ;
-}
-
-void
-ttcp_sequence_i::sendCharSeq(const ttcp_sequence::CharSeq& ttcp_seq, CORBA::Environment &IT_env)
-{
- ACE_UNUSED_ARG (IT_env);
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Char) ;
-}
-
-void
-ttcp_sequence_i::sendStructSeq(const ttcp_sequence::StructSeq& ttcp_seq, CORBA::Environment &IT_env)
-{
- ACE_UNUSED_ARG (IT_env);
- numCalls++;
- this->nbytes_ += ttcp_seq.length()*sizeof(BinStruct) ;
-#ifdef DEBUG
- ACE_DEBUG ((LM_DEBUG,
- "Bytes received so far = %d\n", this->nbytes_));
-#endif
-}
diff --git a/TAO/performance-tests/Thruput/TAO/ttcp_i.h b/TAO/performance-tests/Thruput/TAO/ttcp_i.h
deleted file mode 100644
index 72a3a3b2275..00000000000
--- a/TAO/performance-tests/Thruput/TAO/ttcp_i.h
+++ /dev/null
@@ -1,48 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = TAO tests
-// Throughput measurement using the TTCP benchmark adapted to work using TAO
-//
-// = FILENAME
-// ttcp_i.h
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// ============================================================================
-
-#ifndef TTCP_I_H
-#define TTCP_I_H
-
-#include "ttcpS.h"
-
-class ttcp_sequence_i: public POA_ttcp_sequence
-{
-public:
- ttcp_sequence_i();
-
- virtual void sendShortSeq (const ttcp_sequence::ShortSeq& ttcp_seq,
- CORBA::Environment &IT_env);
- virtual void sendLongSeq (const ttcp_sequence::LongSeq& ttcp_seq,
- CORBA::Environment &IT_env);
- virtual void sendDoubleSeq (const ttcp_sequence::DoubleSeq& ttcp_seq,
- CORBA::Environment &IT_env);
- virtual void sendCharSeq (const ttcp_sequence::CharSeq& ttcp_seq,
- CORBA::Environment &IT_env);
- virtual void sendStructSeq (const ttcp_sequence::StructSeq& ttcp_seq,
- CORBA::Environment &IT_env);
- virtual void sendOctetSeq (const ttcp_sequence::OctetSeq& ttcp_seq,
- CORBA::Environment &IT_env);
-
- /* Routines to calculate the time required to transfer */
- virtual void start_timer (CORBA::Environment &IT_env);
- virtual void stop_timer (CORBA::Environment &IT_env);
-
-private:
- unsigned long nbytes_;
-};
-
-#endif // defined (TTCP_I_H)
-
diff --git a/TAO/performance-tests/Thruput/TAO/utils.cpp b/TAO/performance-tests/Thruput/TAO/utils.cpp
deleted file mode 100644
index 877546b5573..00000000000
--- a/TAO/performance-tests/Thruput/TAO/utils.cpp
+++ /dev/null
@@ -1,599 +0,0 @@
-// $Id$
-
-// ============================================================================
-//
-// = TAO tests
-// Throughput measurement using the TTCP benchmark adapted to work using TAO
-//
-// = FILENAME
-// utils.cpp
-//
-// = AUTHOR
-// Aniruddha Gokhale
-//
-// = BEING MODIFIED BY
-// Shawn Atkins
-// ============================================================================
-
-// This file has all the helper functions that do the computation of
-// throughput, system time used, user time, etc based on data collected.
-
-#include "ttcpC.h"
-#include "ttcp_decl.h"
-
-ACE_RCSID(TAO, utils, "$Id$")
-
-// the error function.
-// displays the error message and exits
-int err (CORBA::String s)
-{
- ACE_OS::fprintf (stderr, "ttcp%s: ", trans ? "-t" : "-r");
- ACE_OS::perror (s);
- ACE_OS::fprintf (stderr, "errno=%d\n", errno);
- return -1;
-}
-
-// prints a message indicating if it is a transmitter or a receiver
-void mes (CORBA::String s)
-{
- ACE_OS::fprintf (stderr, "ttcp%s: %s\n", trans ? "-t" : "-r", s);
-}
-
-// does the formatting for the desired units in which the result is to be
-// displayed
-CORBA::String
-outfmt (CORBA::Double b)
-{
- static CORBA::Char obuf[50];
- switch (fmt)
- {
- case 'G':
- ACE_OS::sprintf (obuf, "%.2f GB", b / 1024.0 / 1024.0 / 1024.0);
- break;
- default:
- case 'K':
- ACE_OS::sprintf (obuf, "%.2f KB", b / 1024.0);
- break;
- case 'M':
- ACE_OS::sprintf (obuf, "%.2f MB", b / 1024.0 / 1024.0);
- break;
- case 'g':
- ACE_OS::sprintf (obuf, "%.2f Gbit", b * 8.0 / 1024.0 / 1024.0 / 1024.0);
- break;
- case 'k':
- ACE_OS::sprintf (obuf, "%.2f Kbit", b * 8.0 / 1024.0);
- break;
- case 'm':
- ACE_OS::sprintf (obuf, "%.2f Mbit", b * 8.0 / 1024.0 / 1024.0);
- break;
- }
- return obuf;
-}
-
-#if defined (VXWORKS) || defined (CHORUS)
-// Just so this file will compile.
-inline
-int
-lrand48 ()
-{
- return ::rand ();
-}
-
-inline
-double
-drand48 ()
-{
- return ::rand ();
-}
-#endif /* VXWORKS || CHORUS */
-
-// fill up a buffer with a data type that we want to send
-void
-FillPattern (register CORBA::Char *cp, register CORBA::Long bufLen, CORBA::ULong dt)
-{
- unsigned long
- num, i;
-
- switch(dt){
- case SEND_SHORT:
- {
- register short *SeqPtr = (short *)cp;
- num = bufLen/sizeof(short);
- for (i=0; i < num; i++)
- SeqPtr[i] = (short)lrand48();
- sseq = new ttcp_sequence::ShortSeq(num,num, SeqPtr);
- }
- break;
- case SEND_LONG:
- {
- register CORBA::Long *SeqPtr = (CORBA::Long *)cp;
- num = bufLen/sizeof(long);
- for (i=0; i < num; i++)
- SeqPtr[i] = lrand48();
- lseq = new ttcp_sequence::LongSeq(num, num, SeqPtr);
- }
- break;
- case SEND_DOUBLE:
- {
- register double *SeqPtr = (double *)cp;
- num = bufLen/sizeof(double);
- for (i=0; i < num; i++)
- SeqPtr[i] = drand48();
- dseq = new ttcp_sequence::DoubleSeq(num, num, SeqPtr);
- }
- break;
- case SEND_CHAR:
- {
- register CORBA::Char *SeqPtr = (CORBA::Char *)cp;
- register char c = 0;
- num = bufLen/sizeof(char);
- for(i=0; i < num; i++){
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i] = (c++ & 0x7f);
- }
- cseq = new ttcp_sequence::CharSeq(num, num, SeqPtr);
- }
- break;
- case SEND_STRUCT:
- {
- register BinStruct *SeqPtr = (BinStruct *)cp;
- register char c = 0;
- num = bufLen/sizeof(BinStruct);
- for (i=0; i < num; i++){
- SeqPtr[i].s = (short)lrand48();
- SeqPtr[i].l = lrand48();
- SeqPtr[i].d = drand48();
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i].c = (c++ & 0x7f);
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i].o = (unsigned char)(c++ & 0x7f);
- }
- Sseq = new ttcp_sequence::StructSeq(num, num, SeqPtr);
-
- }
- break;
- case SEND_COMPOSITE:
- /*still being worked on*/
- /*
- { fill in the RtiPacketSequence
- register RtiPacket *SeqPtr = (RtiPacket *)cp;
- register char c = 0;
- num = bufLen / sizeof (RtiPacket);
- can't know sizeof (RtiPacket) can it? if can have variable length sequence inside of it.
- num = bufLen;
- int numUpdates = 2;
- int numAttrs = 5;
- for (i = 0; bufLen > 0; i++){
- SeqPtr [i].packetHeader.packetLength = 1; // this is probably redundant
- SeqPtr [i].packetHeader.federationHandle = 2;
- SeqPtr [i].packetHeader.channelHandle = 3;
- SeqPtr [i].packetHeader.packetColor = 4;
-
- SeqPtr [i].msgs.length (numUpdates);
-
- for (int j = 0; j < numUpdates; ++j)
- {
- SeqPtr [i].msgs[j].oumh (RtiObjectUpdateMessageHeader ());
- RtiObjectUpdateMessageHeader & oumh = SeqPtr [i].msgs[j].oumh ();
- oumh.updateLength = 2001; // redundant
- oumh.updateTag = 2002;
- oumh.objectHandle = 2003;
- oumh.timestamp = 3.14159;
- oumh.eventRetractionHandle = 2004;
- oumh.classHandle = 2005;
- oumh.sendingFederateHandle = 2006;
- oumh.userTag = CORBA::string_dup ("beefcake!");
- oumh.regionData.length(0);
- oumh.transportationHandle = 1;
- oumh.orderingHandle = 1;
- oumh.messagePayload.length (numAttrs);
-
- for (int k = 0; k < numAttrs; ++k)
- {
- oumh.messagePayload[k] = HandleValuePair ();
- HandleValuePair &hvp = oumh.messagePayload[k];
- hvp.handle = k * k;
- char *d1 = "somedata";
- hvp.data.length (ACE_OS::strlen (d1)+1);
- ACE_OS::strcpy ((char *) hvp.data.get_buffer (), d1);
- }
- num -= sizeof (SeqPtr [i]);
- printf ("SIZE OF RTIPACKET IS %d", sizeof (SeqPtr [i]));
- }
-
- fill in the RtiPacket
- }
- rtipacketSeq = new ttcp_sequence::RtiPacketSeq (num, num, SeqPtr);
-
- }*/
-
- break;
- case SEND_OCTET:
- default:
- {
- register CORBA::Octet *SeqPtr = (CORBA::Octet *)cp;
- register char c = 0;
- num = bufLen/sizeof(CORBA::Octet);
- for(i=0; i < num; i++){
- while (!isprint(c & 0x7f))
- c++;
- SeqPtr[i] = (c++ & 0x7f);
- }
- oseq = new ttcp_sequence::OctetSeq(num, num, SeqPtr);
- }
- break;
- }
-}
-
-// print all the statistics
-void PrintStats (void)
-{
- if (cput <= 0.0)
- cput = 0.001;
- if (realt <= 0.0)
- realt = 0.001;
-
- if (title != 0)
- {
- double tmp;
- FILE *outFile;
- char filename[BUFSIZ];
-
- strcpy(filename, title);
- switch(dt){
- case SEND_SHORT:
- strcat(filename, ".shortSeq.results");
- break;
- case SEND_LONG:
- strcat(filename, ".longSeq.results");
- break;
- case SEND_DOUBLE:
- strcat(filename, ".doubleSeq.results");
- break;
- case SEND_CHAR:
- strcat(filename, ".charSeq.results");
- break;
- case SEND_STRUCT:
- strcat(filename, ".structSeq.results");
- break;
- case SEND_COMPOSITE:
- strcat(filename, ".compositeSeq.results");
- break;
- case SEND_OCTET:
- default:
- strcat(filename, ".octetSeq.results");
- break;
- }
- outFile = fopen (filename, "a+");
- ACE_OS::fprintf (outFile, "%ldk \t", buflen / 1024);
- tmp = ((double) nbytes) / realt;
- ACE_OS::fprintf (outFile, "%.2f\n", tmp * 8.0 / 1024.0 / 1024.0);
- fclose (outFile);
- }
-
- ACE_OS::fprintf (stdout,
- "ttcp%s: %ld bytes in %.2f real seconds = %s/sec +++\n",
- trans ? "-t" : "-r",
- nbytes, realt, outfmt (((double) nbytes) / realt));
- if (verbose)
- {
- ACE_OS::fprintf (stdout,
- "ttcp%s: %ld bytes in %.2f CPU seconds = %s/cpu sec\n",
- trans ? "-t" : "-r",
- nbytes, cput, outfmt (((double) nbytes) / cput));
- }
- ACE_OS::fprintf (stdout,
- "ttcp%s: %d Server Method calls, msec/call = %.2f, calls/sec = %.2f\n",
- trans ? "-t" : "-r",
- numCalls,
- 1024.0 * realt / ((double) numCalls),
- ((double) numCalls) / realt);
- ACE_OS::fprintf (stdout, "ttcp%s: %s\n", trans ? "-t" : "-r", stats);
- if (verbose)
- {
- ACE_OS::fprintf (stdout,
- "ttcp%s: buffer address %#x\n",
- trans ? "-t" : "-r",
- buf);
- }
-}
-
-// generate the specified delay in microseconds
-void
-delay (int us)
-{
- struct timeval tv;
-
- tv.tv_sec = 0;
- tv.tv_usec = us;
- (void) select (1, (fd_set *) 0, (fd_set *) 0, (fd_set *) 0, &tv);
-}
-
-#if defined (ACE_HAS_PRUSAGE_T) || defined (ACE_HAS_GETRUSAGE)
-// Mon Apr 06 09:50:16 1998 David L. Levine <levine@cs.wustl.edu>
-// @@ This file should be updated to use ACE_Profile_Timer instead of
-// using rusage directly.
-
-ACE_Profile_Timer ru0; //Timer to calculate stats
-
-/*
- * P R E P _ T I M E R
- */
-// this is in fact the internals of the "start_timer" operation
-void
-prep_timer (void)
-{
- ru0.start ();
-}
-
-/*
- * R E A D _ T I M E R
- *
- */
-// This implements the internals of the "stop_timer" method
-double
-read_timer (CORBA::Char *str, CORBA::Long len)
-{
- char line[132];
- ACE_Profile_Timer::ACE_Elapsed_Time et;
-
- ru0.stop ();
- ru0.elapsed_time (et);
-
- prusage (line);
- (void) strncpy (str, line, len);
-
- //Get real time
- realt = et.real_time;
-
- //Get CPU time (user+sys)
- cput = et.user_time + et.system_time;
- if (cput < 0.00001)
- cput = 0.00001;
- return (cput);
-}
-
-// prints the rusage stats
-void
-prusage (char *outp)
-{
- register ACE_timer_t t, ms;
- register char *cp;
- register int i;
-
- ACE_Profile_Timer::ACE_Elapsed_Time et;
- ACE_Profile_Timer::Rusage rusage;
- ru0.elapsed_time (et);
- ru0.elapsed_rusage (rusage);
-
- t = et.user_time + et.system_time;
- ms = et.real_time;
-
-#define END(x) {while(*x) x++;}
-#if defined(SYSV)
- cp = "%Uuser %Ssys %Ereal %P";
-#else
-#if defined(sgi) /* IRIX 3.3 will show 0 for %M,%F,%R,%C */
- cp = "%Uuser %Ssys %Ereal %P %Mmaxrss %F+%Rpf %Ccsw";
-#else
- cp = "%Uuser %Ssys %Ereal %P %Xi+%Dd %Mmaxrss %F+%Rpf %Ccsw";
-#endif
-#endif
- for (; *cp; cp++)
- {
- if (*cp != '%')
- *outp++ = *cp;
- else if (cp[1])
- switch (*++cp)
- {
-
- case 'U':
- ACE_OS::sprintf (outp, "%f ", et.user_time);
- END (outp);
- break;
-
- case 'S':
- ACE_OS::sprintf (outp, "%f ", et.system_time);
- END (outp);
- break;
-
- case 'E':
- psecs (ms, outp);
- END (outp);
- break;
-
- case 'P':
- ACE_OS::sprintf (outp, "%d%%", (int) (t * 100 / ((ms ? ms : 1))));
- END (outp);
- break;
-
- /*possible thing to add in is the equivalent for case X, D, K, M, F, and R for prusage_t*/
-#if !defined(SYSV)
-# if defined (ACE_HAS_PRUSAGE_T)
- case 'W':
- i = rusage.pr_nswap;;
- ACE_OS::sprintf (outp, "%d", i);
- END (outp);
- break;
-
- case 'X':
- // ACE_OS::sprintf (outp, "%d", t == 0 ? 0 : (rusage.ru_ixrss) / t);
- //END (outp);
- break;
-
- case 'D':
- //ACE_OS::sprintf (outp, "%d", t == 0 ? 0 :
- // (rusage.ru_idrss + rusage.ru_isrss) / t);
- //END (outp);
- break;
-
- case 'K':
- //ACE_OS::sprintf (outp, "%d", t == 0 ? 0 :
- // (rusage.ru_ixrss + rusage.ru_isrss + rusage.ru_idrss) / t);
- //END (outp);
- break;
-
- case 'M':
- /* ACE_OS::sprintf (outp, "%d", rusage.ru_maxrss / 2);
- END (outp);*/
- break;
-
- case 'F':
- /*
- ACE_OS::sprintf (outp, "%d", rusage.ru_majflt);
- END (outp);*/
- break;
-
- case 'R':
- /*ACE_OS::sprintf (outp, "%d", rusage.ru_minflt);
- END (outp);*/
- break;
-
- case 'I':
- ACE_OS::sprintf (outp, "%d", rusage.pr_inblk);
- END (outp);
- break;
-
- case 'O':
- ACE_OS::sprintf (outp, "%d", rusage.pr_oublk);
- END (outp);
- break;
- case 'C':
- ACE_OS::sprintf (outp, "%d+%d", rusage.pr_vctx, rusage.pr_ictx);
- END (outp);
- break;
-# elif defined (ACE_HAS_GETRUSAGE)
- case 'W':
- i = rusage.ru_nswap;;
- ACE_OS::sprintf (outp, "%d", i);
- END (outp);
- break;
-
- case 'X':
- ACE_OS::sprintf (outp, "%d", t == 0 ? 0 : (int) ((rusage.ru_ixrss) / t));
- END (outp);
- break;
-
- case 'D':
- ACE_OS::sprintf (outp, "%d", t == 0 ? 0 :
- (int) ((rusage.ru_idrss + rusage.ru_isrss) / t));
- END (outp);
- break;
-
- case 'K':
- ACE_OS::sprintf (outp, "%d", t == 0 ? 0 :
- (int) ((rusage.ru_ixrss + rusage.ru_isrss + rusage.ru_idrss) / t));
- END (outp);
- break;
-
- case 'M':
- ACE_OS::sprintf (outp, "%d", rusage.ru_maxrss / 2);
- END (outp);
- break;
-
- case 'F':
- ACE_OS::sprintf (outp, "%d", rusage.ru_majflt);
- END (outp);
- break;
-
- case 'R':
- ACE_OS::sprintf (outp, "%d", rusage.ru_minflt);
- END (outp);
- break;
-
- case 'I':
- ACE_OS::sprintf (outp, "%d", rusage.ru_inblock);
- END (outp);
- break;
-
- case 'O':
- ACE_OS::sprintf (outp, "%d", rusage.ru_oublock);
- END (outp);
- break;
-
- case 'C':
- ACE_OS::sprintf (outp, "%d+%d", rusage.ru_nvcsw, rusage.ru_nivcsw);
- END (outp);
- break;
-# endif /*ACE HAS PRUSAGE_T | ACE_HAS_GETRUSAGE*/
-#endif /* !SYSV */
- }
- }
- *outp = '\0';
-}
-
-// adds two "timeval" structures
-void
-tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1)
-{
- tsum->tv_sec = t0->tv_sec + t1->tv_sec;
- tsum->tv_usec = t0->tv_usec + t1->tv_usec;
- if (tsum->tv_usec > 1000000)
- tsum->tv_sec++, tsum->tv_usec -= 1000000;
-}
-
-// finds difference between two timevals
-void
-tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0)
-{
- tdiff->tv_sec = t1->tv_sec - t0->tv_sec;
- tdiff->tv_usec = t1->tv_usec - t0->tv_usec;
- if (tdiff->tv_usec < 0)
- tdiff->tv_sec--, tdiff->tv_usec += 1000000;
-}
-
-// print in seconds
-void
-psecs (CORBA::Double d, register CORBA::Char *cp)
-{
- register int i;
-
- i = (int) d / 3600;
- if (i)
- {
- ACE_OS::sprintf (cp, "%d:", i);
- END (cp);
- i = (int) d % 3600;
- ACE_OS::sprintf (cp, "%d%d ", (i / 60) / 10, (i / 60) % 10);
- END (cp);
- }
- else
- {
- i = (int) d;
- ACE_OS::sprintf (cp, "%d", i / 60);
- END (cp);
- }
- i %= 60;
- *cp++ = ':';
- ACE_OS::sprintf (cp, "%d%d ", i / 10, i % 10);
-}
-
-
-#else /* ! ACE_HAS_PRUSAGE_T || ! ACE_HAS_GETRUSAGE */
-
-void
-prep_timer (void)
-{
- ACE_ERROR ((LM_ERROR, "%s:%d; not supported\n", __FILE__, __LINE__));
- errno = ENOTSUP;
-}
-
-double
-read_timer (CORBA::Char *str, CORBA::Long len)
-{
- ACE_NOTSUP_RETURN (0.0);
-}
-
-#endif /* ! ACE_HAS_PRUSAGE_T || ! ACE_HAS_GETRUSAGE */
-
-
-
-
-
-
-
-
-