summaryrefslogtreecommitdiff
path: root/TAO/IIOP/tests/Thruput_test
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/IIOP/tests/Thruput_test')
-rw-r--r--TAO/IIOP/tests/Thruput_test/Makefile53
-rw-r--r--TAO/IIOP/tests/Thruput_test/README50
-rw-r--r--TAO/IIOP/tests/Thruput_test/client.cpp338
-rwxr-xr-xTAO/IIOP/tests/Thruput_test/run1
-rwxr-xr-xTAO/IIOP/tests/Thruput_test/run_client25
-rwxr-xr-xTAO/IIOP/tests/Thruput_test/run_server10
-rwxr-xr-xTAO/IIOP/tests/Thruput_test/run_test32
-rw-r--r--TAO/IIOP/tests/Thruput_test/server.cpp228
-rw-r--r--TAO/IIOP/tests/Thruput_test/ttcp.idl34
-rw-r--r--TAO/IIOP/tests/Thruput_test/ttcpC.cpp1009
-rw-r--r--TAO/IIOP/tests/Thruput_test/ttcpC.h229
-rw-r--r--TAO/IIOP/tests/Thruput_test/ttcpS.cpp325
-rw-r--r--TAO/IIOP/tests/Thruput_test/ttcpS.h70
-rw-r--r--TAO/IIOP/tests/Thruput_test/ttcp_decl.h153
-rw-r--r--TAO/IIOP/tests/Thruput_test/ttcp_i.cpp85
-rw-r--r--TAO/IIOP/tests/Thruput_test/ttcp_i.h52
-rw-r--r--TAO/IIOP/tests/Thruput_test/utils.cpp563
17 files changed, 0 insertions, 3257 deletions
diff --git a/TAO/IIOP/tests/Thruput_test/Makefile b/TAO/IIOP/tests/Thruput_test/Makefile
deleted file mode 100644
index f6b0e338f8b..00000000000
--- a/TAO/IIOP/tests/Thruput_test/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-#----------------------------------------------------------------------------
-# $Id$
-#
-# Top-level Makefile for the TAO_TTCP benchmark
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-LDLIBS = -lcorba
-
-PROG_SRCS = client.cpp ttcpC.cpp ttcpS.cpp ttcp_i.cpp server.cpp utils.cpp
-
-LSRC = $(PROG_SRCS)
-
-TTCP_CLIENT_OBJS = client.o ttcpC.o utils.o
-
-TTCP_SERVER_OBJS = server.o ttcpC.o ttcpS.o ttcp_i.o utils.o
-
-BIN = client server
-
-BUILD = $(BIN)
-
-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
-
-#----------------------------------------------------------------------------
-# Local modifications to variables imported by includes above.
-#----------------------------------------------------------------------------
-
-LDFLAGS += -L../../proto/lib
-CPPFLAGS += -I../../proto/include -DUSE_ACE_EVENT_HANDLING -DDEBUG #-DONEWAY
-
-server: $(addprefix $(VDIR),$(TTCP_SERVER_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
-
-client: $(addprefix $(VDIR),$(TTCP_CLIENT_OBJS))
- $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
-
-
-
diff --git a/TAO/IIOP/tests/Thruput_test/README b/TAO/IIOP/tests/Thruput_test/README
deleted file mode 100644
index 628ef0c50a4..00000000000
--- a/TAO/IIOP/tests/Thruput_test/README
+++ /dev/null
@@ -1,50 +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
-
-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
-
-TO-DO
------
-
-
--Aniruddha Gokhale \ No newline at end of file
diff --git a/TAO/IIOP/tests/Thruput_test/client.cpp b/TAO/IIOP/tests/Thruput_test/client.cpp
deleted file mode 100644
index 371205701ba..00000000000
--- a/TAO/IIOP/tests/Thruput_test/client.cpp
+++ /dev/null
@@ -1,338 +0,0 @@
-// $Id$
-
-#include "ttcp_decl.h"
-#include "debug.h"
-#include "ace/streams.h"
-
-ACE_RCSID(Thruput_test, client, "$Id$")
-
-void print_exception (const CORBA_Exception *x,
- const char *info,
- FILE *stream
- );
-
-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;
-
-static const char ior_prefix [] = "IOR:";
-static const char iiop_prefix [] = "iiop:";
-
-int
-main (int argc, char *argv[])
-{
-
- unsigned long addr_tmp;
- unsigned short done = 0;
- int c;
-
- CORBA_ORB_ptr orb_ptr;
- CORBA_Environment env;
- CORBA_Object_ptr objref = CORBA_Object::_nil();
- ttcp_sequence_ptr ttcp_seq;
- unsigned loop_count = 1;
- int exit_later = 0;
- CORBA_String str;
- fstream iorfile;
-
- if (argc < 2)
- goto usage;
-
- TAO_debug_level = 0;
- while (!done && ((c = getopt (argc, argv, "d:vDb:h:f:l:n:A:o:L:xS:q:")) != -1))
- {
- switch (c)
- {
- case 'h':
- host = optarg;
- break;
- case 'x':
- new_line = 1;
- break;
- case 'L':
- title = optarg;
- break;
- case 'd':
- TAO_debug_level = atoi(optarg);
- if (TAO_debug_level > 10)
- TAO_debug_level = 10;
- 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 '?':
- done = 1;
- break;
- default:
- goto usage;
- }
- }
-
- //
- // Transmitter
- //
- orb_ptr = CORBA_ORB_init(argc, argv, "internet", env);
- if (env.exception () != 0) {
- print_exception (env.exception (), "ORB initialization", stdout);
- return 1;
- }
-
- str = CORBA_string_alloc(500);
-
- // read the IOR from the file ior.txt
- iorfile.open("ior.txt", ios::in);
- iorfile >> ((char *)str);
- iorfile.close();
-
- cout << "Read IOR string as: " << ((char *)str) << endl;
-
- objref = orb_ptr->string_to_object(str, env);
- if (env.exception() != 0){
- print_exception(env.exception(), "string2object", stdout);
- return 1;
- }
- CORBA_string_free(str);
-
-
- if (!CORBA_is_nil(objref)){
- ttcp_seq = ttcp_sequence::_narrow(objref);
-
- if (!CORBA_is_nil(ttcp_seq)){
-
- /* 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;
-
-
- cout << "Sizeof PerfStruct = " << sizeof(PerfStruct) << endl;
- // fill the appropriate buffers
- FillPattern (buf, buflen, dt);
- //
- // Start the timers on the client and server sides
- //
-
- prep_timer ();
- ttcp_seq->start_timer (env);
- if (env.exception () != 0) {
- print_exception (env.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
- 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(PerfStruct);
- break;
- }
- numCalls++;
- if (env.exception () != 0) {
- print_exception (env.exception (), "send operation", stdout);
- return 1;
- }
- }
-#if defined (ACE_HAS_QUANTIFY)
- quantify_stop_recording_data();
-#endif
- //
- // Stop the timer
- //
- ttcp_seq->stop_timer(env);
- if (env.exception () != 0) {
- print_exception (env.exception (), "stop_timer operation", stdout);
- return 1;
- }
- (void) read_timer (stats, sizeof (stats));
-
- // print results
- PrintStats();
-
- }
- }
-
- CORBA_release(ttcp_seq);
- return(0);
-usage:
- fprintf (stderr, Usage);
- return 1;
-}
-
-
-
-
-
-
diff --git a/TAO/IIOP/tests/Thruput_test/run b/TAO/IIOP/tests/Thruput_test/run
deleted file mode 100755
index b746a09536d..00000000000
--- a/TAO/IIOP/tests/Thruput_test/run
+++ /dev/null
@@ -1 +0,0 @@
-client -S 67108864 -f m -D -l $1 -L temp -q $2 -b 65536 -d $3
diff --git a/TAO/IIOP/tests/Thruput_test/run_client b/TAO/IIOP/tests/Thruput_test/run_client
deleted file mode 100755
index 41f9fd5bc51..00000000000
--- a/TAO/IIOP/tests/Thruput_test/run_client
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/csh -f
-# All ATM tests: 64k socket Queue Size
-#
-# shorts
-run_test 67108864 128 mambo-atm.wustl.edu ./results/REMOTE/$1/sun-iiop.atm.64 s
-sleep 5
-# longs
-run_test 67108864 128 mambo-atm.wustl.edu ./results/REMOTE/$1/sun-iiop.atm.64 l
-sleep 5
-# octets
-run_test 67108864 128 mambo-atm.wustl.edu ./results/REMOTE/$1/sun-iiop.atm.64 o
-sleep 5
-# doubles
-run_test 67108864 128 mambo-atm.wustl.edu ./results/REMOTE/$1/sun-iiop.atm.64 d
-sleep 5
-# chars
-#run_test 67108864 128 mambo-atm.wustl.edu ./results/REMOTE/$1/sun-iiop.atm.64 c
-#sleep 5
-# structures
-run_test 67108864 128 mambo-atm.wustl.edu ./results/REMOTE/$1/sun-iiop.atm.64 S
-sleep 5
-# Composite Structs
-#run_test 67108864 128 mambo-atm.wustl.edu ./results/REMOTE/$1/sun-iiop.atm.64 C
-#sleep 5
-#
diff --git a/TAO/IIOP/tests/Thruput_test/run_server b/TAO/IIOP/tests/Thruput_test/run_server
deleted file mode 100755
index 9ce44a510b1..00000000000
--- a/TAO/IIOP/tests/Thruput_test/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 -u -f m -b 65536 -OAhost mambo-cip #-OAthread
diff --git a/TAO/IIOP/tests/Thruput_test/run_test b/TAO/IIOP/tests/Thruput_test/run_test
deleted file mode 100755
index e36938f42b6..00000000000
--- a/TAO/IIOP/tests/Thruput_test/run_test
+++ /dev/null
@@ -1,32 +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 5
- foreach i (2)
- 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)
- sleep 5
-end
-
-echo " "
-echo "Done at:"
-date
diff --git a/TAO/IIOP/tests/Thruput_test/server.cpp b/TAO/IIOP/tests/Thruput_test/server.cpp
deleted file mode 100644
index 56e670e935e..00000000000
--- a/TAO/IIOP/tests/Thruput_test/server.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-// $Id$
-
-#include "ttcp_i.h"
-
-#include <iostream.h>
-#include <fstream.h>
-
-ACE_RCSID(Thruput_test, server, "$Id$")
-
-void print_exception (const CORBA_Exception *x,
- const char *info,
- FILE *stream
- );
-
-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;
-
-unsigned short isDone = 0;
-ttcp_sequence_i *my_ttcp;
-
-//
-// forwarding support
-//
-static CORBA_Object_ptr fwd_ref;
-
-int
-main (int argc, char *const *argv)
-{
-
- unsigned long addr_tmp;
- int c;
- unsigned short done = 0;
- CORBA_Environment env;
- CORBA_ORB_ptr orb_ptr;
- CORBA_BOA_ptr oa_ptr;
- CORBA_Boolean do_fork = 0;
- CORBA_Boolean do_threads = 0;
- CORBA_String key = (CORBA_String) "key0";
- char *oa_name = "ROA";
- char *orb_name = "internet";
- int idle = -1;
- int use_ior = 0;
- fstream iorfile;
- CORBA_String str;
-
-
- if (argc < 2)
- goto usage;
-
- orb_ptr = CORBA_ORB_init (argc, argv, orb_name, env);
- if (env.exception () != 0) {
- print_exception (env.exception (), "ORB init", stdout);
- return 1;
- }
-
- oa_ptr = orb_ptr->BOA_init(argc, argv, oa_name);
- if (env.exception () != 0) {
- print_exception (env.exception (), "OA init", stdout);
- return 1;
- }
-
- TAO_debug_level = 0;
- // Now process the options other than Orbix specific options
- while (!done && ((c = getopt (argc, argv, "ui:d:vb:f:l:L:")) != -1))
- {
- switch (c)
- {
- case 'u':
- use_ior = 1;
- orb_name = "";
- break;
- case 'L':
- title = optarg;
- break;
- case 'd':
- TAO_debug_level = atoi(optarg);
- if (TAO_debug_level > 10)
- TAO_debug_level = 10;
- break;
- case 'l':
- buflen = atoi (optarg);
- break;
- case 'i':
- idle = 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;
- }
- }
-
- //
- // Receiver
- //
-
- iorfile.open("ior.txt", ios::out);
- my_ttcp = new ttcp_sequence_i("TTCP_IIOP_test");
- str = orb_ptr->object_to_string(my_ttcp, env);
- if (env.exception() != 0)
- {
- print_exception (env.exception(), "object_to_string", stdout);
- return 1;
- }
- iorfile << ((char *)str) << endl;
-
-#if defined (ACE_HAS_QUANTIFY)
- quantify_clear_data();
- quantify_start_recording_data();
-#endif
-
- ACE_Reactor::run_event_loop();
-
-#if 0
- while (1)
- {
- int result = params->reactor()->handle_events ();
-
- if (result == -1)
- {
- terminationStatus = -1;
- break;
- }
- }
-#endif
- return 0;
-usage:
- fprintf (stderr, Usage);
- return(1);
-}
-
-
-
-
-
-
-
diff --git a/TAO/IIOP/tests/Thruput_test/ttcp.idl b/TAO/IIOP/tests/Thruput_test/ttcp.idl
deleted file mode 100644
index ff13a4b664b..00000000000
--- a/TAO/IIOP/tests/Thruput_test/ttcp.idl
+++ /dev/null
@@ -1,34 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-struct PerfStruct{
- short s;
- char c;
- long l;
- octet o;
- double d;
- octet pad[8]; // to make it 32 bytes
-};
-
-// 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;
-
-
- // 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/IIOP/tests/Thruput_test/ttcpC.cpp b/TAO/IIOP/tests/Thruput_test/ttcpC.cpp
deleted file mode 100644
index 1f7652467a0..00000000000
--- a/TAO/IIOP/tests/Thruput_test/ttcpC.cpp
+++ /dev/null
@@ -1,1009 +0,0 @@
-// $Id$
-
-#include <stdio.h>
-#include "ttcpC.h"
-
-ACE_RCSID(Thruput_test, ttcpC, "$Id$")
-
-// constructor
-ttcp_sequence::ttcp_sequence(STUB_Object *refdata)
- : CORBA_Object(refdata)
-{
-}
-
-// static duplicate method
-ttcp_sequence_ptr ttcp_sequence::_duplicate(ttcp_sequence_ptr obj)
-{
- void *dupl;
-
- if (obj)
- {
- obj->AddRef();
- }
- return obj;
-}
-
-// static _narrow method
-ttcp_sequence_ptr ttcp_sequence::_narrow(CORBA_Object_ptr obj)
-{
- CORBA_Environment env;
- if (obj->_is_a("IDL:ttcp_sequence:1.0", env)){
- STUB_Object *istub;
- if (obj->QueryInterface(IID_STUB_Object, (void **)&istub) != NOERROR){
- return ttcp_sequence::_nil();
- }
- ttcp_sequence_ptr new_obj = new ttcp_sequence(istub);
- return ttcp_sequence::_duplicate(new_obj);
- }
- return ttcp_sequence::_nil();
-}
-
-ttcp_sequence_ptr ttcp_sequence::_nil()
-{
- return (ttcp_sequence_ptr)NULL;
-}
-
-ttcp_sequence::ShortSeq::ShortSeq()
- : _maximum(0),
- _length(0),
- _buffer(0),
- _release(0)
-{
-}
-
-ttcp_sequence::ShortSeq::ShortSeq(CORBA_ULong max)
- : _maximum(max),
- _length(0),
- _release(0)
-{
- if (this->_maximum > 0){
- this->_buffer = new CORBA_Short[this->_maximum];
- } else {
- this->_buffer = 0;
- }
-}
-
-ttcp_sequence::ShortSeq::ShortSeq(CORBA_ULong max, CORBA_ULong length,
- CORBA_Short *value, CORBA_Boolean release)
- : _maximum(max),
- _length(length),
- _buffer(value),
- _release(release)
-{
-}
-
-ttcp_sequence::ShortSeq::~ShortSeq()
-{
- this->_maximum = this->_length = 0;
- if (this->_release != 0)
- delete this->_buffer;
-}
-
-void ttcp_sequence::ShortSeq::length(CORBA_ULong newlen)
-{
- if (newlen > this->_maximum) {
- CORBA_Short *temp = new CORBA_Short[newlen];
- ::memcpy(temp, this->_buffer, (size_t(this->_length) * sizeof(CORBA_Short)));
- if (this->_release)
- delete this->_buffer;
- else
- this->_release = 1;
-
- this->_maximum = newlen;
- this->_buffer = temp;
- }
- if (newlen > this->_length)
- memset(&this->_buffer[this->_length], 0, size_t(newlen - this->_length) *
- sizeof(CORBA_Short));
- this->_length = newlen;
-}
-
-CORBA_ULong ttcp_sequence::ShortSeq::length() const
-{
- return this->_length;
-}
-
-CORBA_Short& ttcp_sequence::ShortSeq::operator[](CORBA_ULong index)
-{
- if (index >= this->_length)
- exit(1);
- return this->_buffer[index];
-}
-
-const CORBA_Short& ttcp_sequence::ShortSeq::operator[](CORBA_ULong index) const
-{
- if (index >= this->_length)
- exit(1);
- return this->_buffer[index];
-}
-
-// LongSeq
-ttcp_sequence::LongSeq::LongSeq()
- : _maximum(0),
- _length(0),
- _buffer(0),
- _release(0)
-{
-}
-
-ttcp_sequence::LongSeq::LongSeq(CORBA_ULong max)
- : _maximum(max),
- _length(0),
- _release(0)
-{
- if (this->_maximum > 0){
- this->_buffer = new CORBA_Long[this->_maximum];
- } else {
- this->_buffer = 0;
- }
-}
-
-ttcp_sequence::LongSeq::LongSeq(CORBA_ULong max, CORBA_ULong length,
- CORBA_Long *value, CORBA_Boolean release)
- : _maximum(max),
- _length(length),
- _buffer(value),
- _release(release)
-{
-}
-
-ttcp_sequence::LongSeq::~LongSeq()
-{
- this->_maximum = this->_length = 0;
- if (this->_release != 0)
- delete this->_buffer;
-}
-
-void ttcp_sequence::LongSeq::length(CORBA_ULong newlen)
-{
- if (newlen > this->_maximum) {
- CORBA_Long *temp = new CORBA_Long[newlen];
- ::memcpy(temp, this->_buffer, (size_t(this->_length) * sizeof(CORBA_Long)));
- if (this->_release)
- delete this->_buffer;
- else
- this->_release = 1;
-
- this->_maximum = newlen;
- this->_buffer = temp;
- }
- if (newlen > this->_length)
- memset(&this->_buffer[this->_length], 0, size_t(newlen - this->_length) *
- sizeof(CORBA_Long));
- this->_length = newlen;
-}
-
-CORBA_ULong ttcp_sequence::LongSeq::length() const
-{
- return this->_length;
-}
-
-CORBA_Long& ttcp_sequence::LongSeq::operator[](CORBA_ULong index)
-{
- if (index >= this->_length)
- exit(1);
- return this->_buffer[index];
-}
-
-const CORBA_Long& ttcp_sequence::LongSeq::operator[](CORBA_ULong index) const
-{
- if (index >= this->_length)
- exit(1);
- return this->_buffer[index];
-}
-
-// DoubleSeq
-ttcp_sequence::DoubleSeq::DoubleSeq()
- : _maximum(0),
- _length(0),
- _buffer(0),
- _release(0)
-{
-}
-
-ttcp_sequence::DoubleSeq::DoubleSeq(CORBA_ULong max)
- : _maximum(max),
- _length(0),
- _release(0)
-{
- if (this->_maximum > 0){
- this->_buffer = new CORBA_Double[this->_maximum];
- } else {
- this->_buffer = 0;
- }
-}
-
-ttcp_sequence::DoubleSeq::DoubleSeq(CORBA_ULong max, CORBA_ULong length,
- CORBA_Double *value, CORBA_Boolean release)
- : _maximum(max),
- _length(length),
- _buffer(value),
- _release(release)
-{
-}
-
-ttcp_sequence::DoubleSeq::~DoubleSeq()
-{
- this->_maximum = this->_length = 0;
- if (this->_release != 0)
- delete this->_buffer;
-}
-
-void ttcp_sequence::DoubleSeq::length(CORBA_ULong newlen)
-{
- if (newlen > this->_maximum) {
- CORBA_Double *temp = new CORBA_Double[newlen];
- ::memcpy(temp, this->_buffer, (size_t(this->_length) * sizeof(CORBA_Double)));
- if (this->_release)
- delete this->_buffer;
- else
- this->_release = 1;
-
- this->_maximum = newlen;
- this->_buffer = temp;
- }
- if (newlen > this->_length)
- memset(&this->_buffer[this->_length], 0, size_t(newlen - this->_length) *
- sizeof(CORBA_Double));
- this->_length = newlen;
-}
-
-CORBA_ULong ttcp_sequence::DoubleSeq::length() const
-{
- return this->_length;
-}
-
-CORBA_Double& ttcp_sequence::DoubleSeq::operator[](CORBA_ULong index)
-{
- if (index >= this->_length)
- exit(1);
- return this->_buffer[index];
-}
-
-const CORBA_Double& ttcp_sequence::DoubleSeq::operator[](CORBA_ULong index) const
-{
- if (index >= this->_length)
- exit(1);
- return this->_buffer[index];
-}
-
-// Char seq
-ttcp_sequence::CharSeq::CharSeq()
- : _maximum(0),
- _length(0),
- _buffer(0),
- _release(0)
-{
-}
-
-ttcp_sequence::CharSeq::CharSeq(CORBA_ULong max)
- : _maximum(max),
- _length(0),
- _release(0)
-{
- if (this->_maximum > 0){
- this->_buffer = new CORBA_Char[this->_maximum];
- } else {
- this->_buffer = 0;
- }
-}
-
-ttcp_sequence::CharSeq::CharSeq(CORBA_ULong max, CORBA_ULong length,
- CORBA_Char *value, CORBA_Boolean release)
- : _maximum(max),
- _length(length),
- _buffer(value),
- _release(release)
-{
-}
-
-ttcp_sequence::CharSeq::~CharSeq()
-{
- this->_maximum = this->_length = 0;
- if (this->_release != 0)
- delete this->_buffer;
-}
-
-void ttcp_sequence::CharSeq::length(CORBA_ULong newlen)
-{
- if (newlen > this->_maximum) {
- CORBA_Char *temp = new CORBA_Char[newlen];
- ::memcpy(temp, this->_buffer, (size_t(this->_length) * sizeof(CORBA_Char)));
- if (this->_release)
- delete this->_buffer;
- else
- this->_release = 1;
-
- this->_maximum = newlen;
- this->_buffer = temp;
- }
- if (newlen > this->_length)
- memset(&this->_buffer[this->_length], 0, size_t(newlen - this->_length) *
- sizeof(CORBA_Char));
- this->_length = newlen;
-}
-
-CORBA_ULong ttcp_sequence::CharSeq::length() const
-{
- return this->_length;
-}
-
-CORBA_Char& ttcp_sequence::CharSeq::operator[](CORBA_ULong index)
-{
- if (index >= this->_length)
- exit(1);
- return this->_buffer[index];
-}
-
-const CORBA_Char& ttcp_sequence::CharSeq::operator[](CORBA_ULong index) const
-{
- if (index >= this->_length)
- exit(1);
- return this->_buffer[index];
-}
-
-//Octet Seq
-ttcp_sequence::OctetSeq::OctetSeq()
- : _maximum(0),
- _length(0),
- _buffer(0),
- _release(0)
-{
-}
-
-ttcp_sequence::OctetSeq::OctetSeq(CORBA_ULong max)
- : _maximum(max),
- _length(0),
- _release(0)
-{
- if (this->_maximum > 0){
- this->_buffer = new CORBA_Octet[this->_maximum];
- } else {
- this->_buffer = 0;
- }
-}
-
-ttcp_sequence::OctetSeq::OctetSeq(CORBA_ULong max, CORBA_ULong length,
- CORBA_Octet *value, CORBA_Boolean release)
- : _maximum(max),
- _length(length),
- _buffer(value),
- _release(release)
-{
-}
-
-ttcp_sequence::OctetSeq::~OctetSeq()
-{
- this->_maximum = this->_length = 0;
- if (this->_release != 0)
- delete this->_buffer;
-}
-
-void ttcp_sequence::OctetSeq::length(CORBA_ULong newlen)
-{
- if (newlen > this->_maximum) {
- CORBA_Octet *temp = new CORBA_Octet[newlen];
- ::memcpy(temp, this->_buffer, (size_t(this->_length) * sizeof(CORBA_Octet)));
- if (this->_release)
- delete this->_buffer;
- else
- this->_release = 1;
-
- this->_maximum = newlen;
- this->_buffer = temp;
- }
- if (newlen > this->_length)
- memset(&this->_buffer[this->_length], 0, size_t(newlen - this->_length) *
- sizeof(CORBA_Octet));
- this->_length = newlen;
-}
-
-CORBA_ULong ttcp_sequence::OctetSeq::length() const
-{
- return this->_length;
-}
-
-CORBA_Octet& ttcp_sequence::OctetSeq::operator[](CORBA_ULong index)
-{
- if (index >= this->_length)
- exit(1);
- return this->_buffer[index];
-}
-
-const CORBA_Octet& ttcp_sequence::OctetSeq::operator[](CORBA_ULong index) const
-{
- if (index >= this->_length)
- exit(1);
- return this->_buffer[index];
-}
-
-
-//struct seq
-ttcp_sequence::StructSeq::StructSeq()
- : _maximum(0),
- _length(0),
- _buffer(0),
- _release(0)
-{
-}
-
-ttcp_sequence::StructSeq::StructSeq(CORBA_ULong max)
- : _maximum(max),
- _length(0),
- _release(0)
-{
- if (this->_maximum > 0){
- this->_buffer = new PerfStruct[this->_maximum];
- } else {
- this->_buffer = 0;
- }
-}
-
-ttcp_sequence::StructSeq::StructSeq(CORBA_ULong max, CORBA_ULong length,
- PerfStruct *value, CORBA_Boolean release)
- : _maximum(max),
- _length(length),
- _buffer(value),
- _release(release)
-{
-}
-
-ttcp_sequence::StructSeq::~StructSeq()
-{
- this->_maximum = this->_length = 0;
- if (this->_release != 0)
- delete this->_buffer;
-}
-
-void ttcp_sequence::StructSeq::length(CORBA_ULong newlen)
-{
- if (newlen > this->_maximum) {
- PerfStruct *temp = new PerfStruct[newlen];
- ::memcpy(temp, this->_buffer, (size_t(this->_length) * sizeof(PerfStruct)));
- if (this->_release)
- delete this->_buffer;
- else
- this->_release = 1;
-
- this->_maximum = newlen;
- this->_buffer = temp;
- }
- if (newlen > this->_length)
- memset(&this->_buffer[this->_length], 0, size_t(newlen - this->_length) *
- sizeof(PerfStruct));
- this->_length = newlen;
-}
-
-CORBA_ULong ttcp_sequence::StructSeq::length() const
-{
- return this->_length;
-}
-
-PerfStruct& ttcp_sequence::StructSeq::operator[](CORBA_ULong index)
-{
- if (index >= this->_length)
- exit(1);
- return this->_buffer[index];
-}
-
-const PerfStruct& ttcp_sequence::StructSeq::operator[](CORBA_ULong index) const
-{
- if (index >= this->_length)
- exit(1);
- return this->_buffer[index];
-}
-
-
-/***************** TypeCodes **************/
-
-// encapsulated parameters for struct PerfStruct typecode
-static const CORBA_Long _oc_PerfStruct [] = {
- // strings are encoded as length followed by the string. A length of 1 stands
- // for the NULL character
- MY_BYTE_SEX, // byte order
- 1, 0, // empty string, repoID
- 1, 0, // empty string, struct name
- 6, // 6 struct elements
-
- // short
- 1, 0, // empty string
- tk_short,
-
- // char
- 1, 0,
- tk_char,
-
- // long
- 1, 0,
- tk_long,
-
- // octet
- 1, 0,
- tk_octet,
-
- // double
- 1, 0,
- tk_double,
-
- // padding
- 1, 0,
- tk_array,
- 12, // encapsulation length
- MY_BYTE_SEX,
- tk_octet,
- 8
-};
-
-
-static CORBA_TypeCode _tc__tc_PerfStruct(tk_struct,
- sizeof _oc_PerfStruct,
- (unsigned char *) &_oc_PerfStruct,
- 0);
-CORBA_TypeCode_ptr _tc_PerfStruct = &_tc__tc_PerfStruct;
-
-// Typecodes for all the sequences
-
-// StructSeq
-static const CORBA_Long _oc_ttcp_sequence_StructSeq [] = {
- MY_BYTE_SEX, // byte order
- tk_struct, // sequence of struct
- 112, // encapsulaton length
- MY_BYTE_SEX, // byte order
- 1, 0, // empty string, repoID
- 1, 0, // empty string, struct name
- 6, // 6 struct elements
-
- // short
- 1, 0, // empty string
- tk_short,
-
- // char
- 1, 0,
- tk_char,
-
- // long
- 1, 0,
- tk_long,
-
- // octet
- 1, 0,
- tk_octet,
-
- // double
- 1, 0,
- tk_double,
-
- // padding
- 1, 0,
- tk_array, // array
- 12, //encapsulation length
- MY_BYTE_SEX,
- tk_octet,
- 8,
- 0, // a length of 0 => unbounded sequence
-};
-static CORBA_TypeCode _tc__tc_ttcp_sequence_StructSeq(tk_sequence,
- sizeof
- _oc_ttcp_sequence_StructSeq,
- (unsigned char *)
- &_oc_ttcp_sequence_StructSeq,
- 0);
-CORBA_TypeCode_ptr ttcp_sequence::_tc_StructSeq = &_tc__tc_ttcp_sequence_StructSeq;
-
-// ShortSeq
-static const CORBA_Long _oc_ttcp_sequence_ShortSeq [] = {
- MY_BYTE_SEX, // byte order
- tk_short, // sequence of short
- 0, // a length of 0 => unbounded sequence
-};
-static CORBA_TypeCode _tc__tc_ttcp_sequence_ShortSeq(tk_sequence,
- sizeof
- _oc_ttcp_sequence_ShortSeq,
- (unsigned char *)
- &_oc_ttcp_sequence_ShortSeq,
- 0);
-CORBA_TypeCode_ptr ttcp_sequence::_tc_ShortSeq = &_tc__tc_ttcp_sequence_ShortSeq;
-
-// LongSeq
-static const CORBA_Long _oc_ttcp_sequence_LongSeq [] = {
- MY_BYTE_SEX, // byte order
- tk_long, // sequence of long
- 0, // a length of 0 => unbounded sequence
-};
-static CORBA_TypeCode _tc__tc_ttcp_sequence_LongSeq(tk_sequence,
- sizeof
- _oc_ttcp_sequence_LongSeq,
- (unsigned char *)
- &_oc_ttcp_sequence_LongSeq,
- 0);
-CORBA_TypeCode_ptr ttcp_sequence::_tc_LongSeq = &_tc__tc_ttcp_sequence_LongSeq;
-
-// DoubleSeq
-static const CORBA_Long _oc_ttcp_sequence_DoubleSeq [] = {
- MY_BYTE_SEX, // byte order
- tk_double, // sequence of doubles
- 0, // a length of 0 => unbounded sequence
-};
-static CORBA_TypeCode _tc__tc_ttcp_sequence_DoubleSeq(tk_sequence,
- sizeof
- _oc_ttcp_sequence_DoubleSeq,
- (unsigned char *)
- &_oc_ttcp_sequence_DoubleSeq,
- 0);
-CORBA_TypeCode_ptr ttcp_sequence::_tc_DoubleSeq = &_tc__tc_ttcp_sequence_DoubleSeq;
-
-// CharSeq
-static const CORBA_Long _oc_ttcp_sequence_CharSeq [] = {
- MY_BYTE_SEX, // byte order
- tk_char, // sequence of chars
- 0, // a length of 0 => unbounded sequence
-};
-static CORBA_TypeCode _tc__tc_ttcp_sequence_CharSeq(tk_sequence,
- sizeof
- _oc_ttcp_sequence_CharSeq,
- (unsigned char *)
- &_oc_ttcp_sequence_CharSeq,
- 0);
-CORBA_TypeCode_ptr ttcp_sequence::_tc_CharSeq = &_tc__tc_ttcp_sequence_CharSeq;
-
-//OctetSeq
-static const CORBA_Long _oc_ttcp_sequence_OctetSeq [] = {
- MY_BYTE_SEX, // byte order
- tk_octet, // sequence of octets
- 0, // a length of 0 => unbounded sequence
-};
-static CORBA_TypeCode _tc__tc_ttcp_sequence_OctetSeq(tk_sequence,
- sizeof
- _oc_ttcp_sequence_OctetSeq,
- (unsigned char *)
- &_oc_ttcp_sequence_OctetSeq,
- 0);
-CORBA_TypeCode_ptr ttcp_sequence::_tc_OctetSeq = &_tc__tc_ttcp_sequence_OctetSeq;
-
-
-
-/***************** All the methods ********************/
-
-//sendShortSeq
-static const TAO_Param_Data ttcp_sequence_sendShortSeq_params [] = {
-#ifndef ONEWAY
- { _tc_CORBA_Void,
- PARAM_RETURN,
- 0
- },
-#endif
- { ttcp_sequence::_tc_ShortSeq,
- PARAM_IN,
- 0
- }
-};
-
-static const TAO_Call_Data ttcp_sequence_sendShortSeq_TAO_Call_Data = {
- "sendShortSeq", // opname
-#ifndef ONEWAY
- 1, // twoway
- 2, // param count
-#else
- 0, // oneway
- 1,
-#endif
- &ttcp_sequence_sendShortSeq_params [0],
- 0, 0
-};
-
-// stub
-void ttcp_sequence::sendShortSeq(const ttcp_sequence::ShortSeq &ttcp_seq,
- CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface (IID_STUB_Object, (void **) &istub) != NOERROR){
- env.exception (new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
-#ifndef ONEWAY
- // twoway
- istub->do_call(env, &ttcp_sequence_sendShortSeq_TAO_Call_Data, 0, &ttcp_seq);
-#else
- istub->do_call(env, &ttcp_sequence_sendShortSeq_TAO_Call_Data, &ttcp_seq);
-#endif
-}
-
-//sendLongSeq
-static const TAO_Param_Data ttcp_sequence_sendLongSeq_params [] = {
-#ifndef ONEWAY
- { _tc_CORBA_Void,
- PARAM_RETURN,
- 0
- },
-#endif
- { ttcp_sequence::_tc_LongSeq,
- PARAM_IN,
- 0
- }
-};
-
-static const TAO_Call_Data ttcp_sequence_sendLongSeq_TAO_Call_Data = {
- "sendLongSeq", // opname
-#ifndef ONEWAY
- 1, // twoway
- 2, // param count
-#else
- 0, // oneway
- 1,
-#endif
- &ttcp_sequence_sendLongSeq_params [0],
- 0, 0
-};
-
-// stub
-void ttcp_sequence::sendLongSeq(const ttcp_sequence::LongSeq &ttcp_seq,
- CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface (IID_STUB_Object, (void **) &istub) != NOERROR){
- env.exception (new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
-#ifndef ONEWAY
- // twoway
- istub->do_call(env, &ttcp_sequence_sendLongSeq_TAO_Call_Data, 0, &ttcp_seq);
-#else
- istub->do_call(env, &ttcp_sequence_sendLongSeq_TAO_Call_Data, &ttcp_seq);
-#endif
-}
-
-//sendDoubleSeq
-static const TAO_Param_Data ttcp_sequence_sendDoubleSeq_params [] = {
-#ifndef ONEWAY
- { _tc_CORBA_Void,
- PARAM_RETURN,
- 0
- },
-#endif
- { ttcp_sequence::_tc_DoubleSeq,
- PARAM_IN,
- 0
- }
-};
-
-static const TAO_Call_Data ttcp_sequence_sendDoubleSeq_TAO_Call_Data = {
- "sendDoubleSeq", // opname
-#ifndef ONEWAY
- 1, // twoway
- 2, // param count
-#else
- 0, // oneway
- 1,
-#endif
- &ttcp_sequence_sendDoubleSeq_params [0],
- 0, 0
-};
-
-// stub
-void ttcp_sequence::sendDoubleSeq(const ttcp_sequence::DoubleSeq &ttcp_seq,
- CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface (IID_STUB_Object, (void **) &istub) != NOERROR){
- env.exception (new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
-#ifndef ONEWAY
- // twoway
- istub->do_call(env, &ttcp_sequence_sendDoubleSeq_TAO_Call_Data, 0, &ttcp_seq);
-#else
- istub->do_call(env, &ttcp_sequence_sendDoubleSeq_TAO_Call_Data, &ttcp_seq);
-#endif
-}
-
-//sendCharSeq
-static const TAO_Param_Data ttcp_sequence_sendCharSeq_params [] = {
-#ifndef ONEWAY
- { _tc_CORBA_Void,
- PARAM_RETURN,
- 0
- },
-#endif
- { ttcp_sequence::_tc_CharSeq,
- PARAM_IN,
- 0
- }
-};
-
-static const TAO_Call_Data ttcp_sequence_sendCharSeq_TAO_Call_Data = {
- "sendCharSeq", // opname
-#ifndef ONEWAY
- 1, // twoway
- 2, // param count
-#else
- 0, // oneway
- 1,
-#endif
- &ttcp_sequence_sendCharSeq_params [0],
- 0, 0
-};
-
-// stub
-void ttcp_sequence::sendCharSeq(const ttcp_sequence::CharSeq &ttcp_seq,
- CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface (IID_STUB_Object, (void **) &istub) != NOERROR){
- env.exception (new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
-#ifndef ONEWAY
- // twoway
- istub->do_call(env, &ttcp_sequence_sendCharSeq_TAO_Call_Data, 0, &ttcp_seq);
-#else
- istub->do_call(env, &ttcp_sequence_sendCharSeq_TAO_Call_Data, &ttcp_seq);
-#endif
-}
-
-//sendOctetSeq
-static const TAO_Param_Data ttcp_sequence_sendOctetSeq_params [] = {
-#ifndef ONEWAY
- { _tc_CORBA_Void,
- PARAM_RETURN,
- 0
- },
-#endif
- { ttcp_sequence::_tc_OctetSeq,
- PARAM_IN,
- 0
- }
-};
-
-static const TAO_Call_Data ttcp_sequence_sendOctetSeq_TAO_Call_Data = {
- "sendOctetSeq", // opname
-#ifndef ONEWAY
- 1, // twoway
- 2, // param count
-#else
- 0, // oneway
- 1,
-#endif
- &ttcp_sequence_sendOctetSeq_params [0],
- 0, 0
-};
-
-// stub
-void ttcp_sequence::sendOctetSeq(const ttcp_sequence::OctetSeq &ttcp_seq,
- CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface (IID_STUB_Object, (void **) &istub) != NOERROR){
- env.exception (new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
-#ifndef ONEWAY
- // twoway
- istub->do_call(env, &ttcp_sequence_sendOctetSeq_TAO_Call_Data, 0, &ttcp_seq);
-#else
- istub->do_call(env, &ttcp_sequence_sendOctetSeq_TAO_Call_Data, &ttcp_seq);
-#endif
-}
-
-//sendStructSeq
-static const TAO_Param_Data ttcp_sequence_sendStructSeq_params [] = {
-#ifndef ONEWAY
- { _tc_CORBA_Void,
- PARAM_RETURN,
- 0
- },
-#endif
- { ttcp_sequence::_tc_StructSeq,
- PARAM_IN,
- 0
- }
-};
-
-static const TAO_Call_Data ttcp_sequence_sendStructSeq_TAO_Call_Data = {
- "sendStructSeq", // opname
-#ifndef ONEWAY
- 1, // twoway
- 2, // param count
-#else
- 0, // oneway
- 1,
-#endif
- &ttcp_sequence_sendStructSeq_params [0],
- 0, 0
-};
-
-// stub
-void ttcp_sequence::sendStructSeq(const ttcp_sequence::StructSeq &ttcp_seq,
- CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface (IID_STUB_Object, (void **) &istub) != NOERROR){
- env.exception (new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
-#ifndef ONEWAY
- // twoway
- istub->do_call(env, &ttcp_sequence_sendStructSeq_TAO_Call_Data, 0, &ttcp_seq);
-#else
- istub->do_call(env, &ttcp_sequence_sendStructSeq_TAO_Call_Data, &ttcp_seq);
-#endif
-}
-
-// start timer
-#ifndef ONEWAY
-static const TAO_Param_Data ttcp_sequence_start_timer_params [] = {
- { _tc_CORBA_Void,
- PARAM_RETURN,
- 0
- }
-};
-#endif
-
-static const TAO_Call_Data ttcp_sequence_start_timer_TAO_Call_Data = {
- "start_timer",
-#ifndef ONEWAY
- 1, // twoway
- 1,
- &ttcp_sequence_start_timer_params [0],
-#else
- 0, // oneway
- 0,
- 0,
-#endif
- 0, 0
-};
-
-//stub
-void ttcp_sequence::start_timer(CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface (IID_STUB_Object, (void **) &istub) != NOERROR){
- env.exception (new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
-#ifndef ONEWAY
- // twoway
- istub->do_call(env, &ttcp_sequence_start_timer_TAO_Call_Data);
-#else
- istub->do_call(env, &ttcp_sequence_start_timer_TAO_Call_Data);
-#endif
-}
-
-// stop timer
-#ifndef ONEWAY
-static const TAO_Param_Data ttcp_sequence_stop_timer_params [] = {
- { _tc_CORBA_Void,
- PARAM_RETURN,
- 0
- }
-};
-#endif
-
-static const TAO_Call_Data ttcp_sequence_stop_timer_TAO_Call_Data = {
- "stop_timer",
-#ifndef ONEWAY
- 1,
- 1,
- &ttcp_sequence_stop_timer_params[0],
-#else
- 0, // oneway
- 0,
- 0,
-#endif
- 0, 0
-};
-
-//stub
-void ttcp_sequence::stop_timer(CORBA_Environment &env)
-{
- STUB_Object *istub;
- if (this->QueryInterface (IID_STUB_Object, (void **) &istub) != NOERROR){
- env.exception (new CORBA_DATA_CONVERSION (COMPLETED_NO));
- return;
- }
-#ifndef ONEWAY
- // twoway
- istub->do_call(env, &ttcp_sequence_stop_timer_TAO_Call_Data);
-#else
- istub->do_call(env, &ttcp_sequence_stop_timer_TAO_Call_Data);
-#endif
-}
diff --git a/TAO/IIOP/tests/Thruput_test/ttcpC.h b/TAO/IIOP/tests/Thruput_test/ttcpC.h
deleted file mode 100644
index b23be499c73..00000000000
--- a/TAO/IIOP/tests/Thruput_test/ttcpC.h
+++ /dev/null
@@ -1,229 +0,0 @@
-// $Id$
-
-/**************************************************************************
-This file has been hand-crafted to work with the ORB API of TAO
-***************************************************************************/
-
-#ifndef TTCP_SEQUENCE_C_H
-#define TTCP_SEQUENCE_C_H
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "corba/orb.h"
-#include "corba/stub.h"
-#include "debug.h"
-
-// mapping for PerfStruct
-struct PerfStruct{
- CORBA_Short s;
- CORBA_Char c;
- CORBA_Long l;
- CORBA_Octet o;
- CORBA_Double d;
- CORBA_Octet pad[8];
-
-
- typedef CORBA_Octet pad_slice;
- typedef pad_slice *pad_slice_ptr;
-
- static inline pad_slice *pad_alloc() {
- return new CORBA_Octet[8];
- }
-
- static inline void pad_free(pad_slice *data) {
- if (data) delete[] data;
- }
-
-};
-extern CORBA_TypeCode_ptr _tc_PerfStruct;
-
-class ttcp_sequence;
-typedef ttcp_sequence *ttcp_sequence_ptr;
-typedef ttcp_sequence_ptr ttcp_sequenceRef;
-
-class ttcp_sequence: public virtual CORBA_Object
-{
-public:
- static ttcp_sequence_ptr _duplicate(ttcp_sequence_ptr obj);
- static ttcp_sequence_ptr _narrow(CORBA_Object_ptr obj);
- static ttcp_sequence_ptr _nil();
-
-
- class ShortSeq
- {
- public:
- ShortSeq();
- ShortSeq(CORBA_ULong max);
- ShortSeq(CORBA_ULong max,
- CORBA_ULong length,
- CORBA_Short *value,
- CORBA_Boolean release = 0
- );
- // ShortSeq(const ShortSeq&);
- ~ShortSeq();
- CORBA_ULong maximum() const;
- void length(CORBA_ULong);
- CORBA_ULong length() const;
- CORBA_Short &operator[](CORBA_ULong index);
- const CORBA_Short &operator[](CORBA_ULong index) const;
- private:
- CORBA_ULong _maximum;
- CORBA_ULong _length;
- CORBA_Short *_buffer;
- CORBA_Boolean _release;
- };
- static CORBA_TypeCode_ptr _tc_ShortSeq;
-
- class LongSeq
- {
- public:
- LongSeq();
- LongSeq(CORBA_ULong max);
- LongSeq(CORBA_ULong max,
- CORBA_ULong length,
- CORBA_Long *value,
- CORBA_Boolean release = 0
- );
- // LongSeq(const LongSeq&);
- ~LongSeq();
- CORBA_ULong maximum() const;
- void length(CORBA_ULong);
- CORBA_ULong length() const;
- CORBA_Long &operator[](CORBA_ULong index);
- const CORBA_Long &operator[](CORBA_ULong index) const;
- private:
- CORBA_ULong _maximum;
- CORBA_ULong _length;
- CORBA_Long *_buffer;
- CORBA_Boolean _release;
- };
- static CORBA_TypeCode_ptr _tc_LongSeq;
-
- class DoubleSeq
- {
- public:
- DoubleSeq();
- DoubleSeq(CORBA_ULong max);
- DoubleSeq(CORBA_ULong max,
- CORBA_ULong length,
- CORBA_Double *value,
- CORBA_Boolean release = 0
- );
- // DoubleSeq(const DoubleSeq&);
- ~DoubleSeq();
- CORBA_ULong maximum() const;
- void length(CORBA_ULong);
- CORBA_ULong length() const;
- CORBA_Double &operator[](CORBA_ULong index);
- const CORBA_Double &operator[](CORBA_ULong index) const;
- private:
- CORBA_ULong _maximum;
- CORBA_ULong _length;
- CORBA_Double *_buffer;
- CORBA_Boolean _release;
- };
- static CORBA_TypeCode_ptr _tc_DoubleSeq;
-
- class CharSeq
- {
- public:
- CharSeq();
- CharSeq(CORBA_ULong max);
- CharSeq(CORBA_ULong max,
- CORBA_ULong length,
- CORBA_Char *value,
- CORBA_Boolean release = 0
- );
- // CharSeq(const CharSeq&);
- ~CharSeq();
- CORBA_ULong maximum() const;
- void length(CORBA_ULong);
- CORBA_ULong length() const;
- CORBA_Char &operator[](CORBA_ULong index);
- const CORBA_Char &operator[](CORBA_ULong index) const;
- private:
- CORBA_ULong _maximum;
- CORBA_ULong _length;
- CORBA_Char *_buffer;
- CORBA_Boolean _release;
- };
- static CORBA_TypeCode_ptr _tc_CharSeq;
-
- class OctetSeq
- {
- public:
- OctetSeq();
- OctetSeq(CORBA_ULong max);
- OctetSeq(CORBA_ULong max,
- CORBA_ULong length,
- CORBA_Octet *value,
- CORBA_Boolean release = 0
- );
- // OctetSeq(const OctetSeq&);
- ~OctetSeq();
- CORBA_ULong maximum() const;
- void length(CORBA_ULong);
- CORBA_ULong length() const;
- CORBA_Octet &operator[](CORBA_ULong index);
- const CORBA_Octet &operator[](CORBA_ULong index) const;
- private:
- CORBA_ULong _maximum;
- CORBA_ULong _length;
- CORBA_Octet *_buffer;
- CORBA_Boolean _release;
- };
- static CORBA_TypeCode_ptr _tc_OctetSeq;
-
- class StructSeq
- {
- public:
- StructSeq();
- StructSeq(CORBA_ULong max);
- StructSeq(CORBA_ULong max,
- CORBA_ULong length,
- PerfStruct *value,
- CORBA_Boolean release = 0
- );
- // StructSeq(const StructSeq&);
- ~StructSeq();
- CORBA_ULong maximum() const;
- void length(CORBA_ULong);
- CORBA_ULong length() const;
- PerfStruct &operator[](CORBA_ULong index);
- const PerfStruct &operator[](CORBA_ULong index) const;
- private:
- CORBA_ULong _maximum;
- CORBA_ULong _length;
- PerfStruct *_buffer;
- CORBA_Boolean _release;
- };
- static CORBA_TypeCode_ptr _tc_StructSeq;
-
-
- // now the methods
- virtual void sendShortSeq(const ShortSeq& ttcp_seq, CORBA_Environment &);
- virtual void sendLongSeq(const LongSeq& ttcp_seq, CORBA_Environment &);
- virtual void sendDoubleSeq(const DoubleSeq& ttcp_seq, CORBA_Environment &);
- virtual void sendOctetSeq(const OctetSeq& ttcp_seq, CORBA_Environment &);
- virtual void sendCharSeq(const CharSeq& ttcp_seq, CORBA_Environment &);
- virtual void sendStructSeq(const StructSeq& ttcp_seq, CORBA_Environment &);
-
- virtual void start_timer(CORBA_Environment &);
- virtual void stop_timer(CORBA_Environment &);
-
-protected:
- ttcp_sequence() {}
- ttcp_sequence(STUB_Object *refdata);
- virtual ~ttcp_sequence() {}
-
-private:
- ttcp_sequence(const ttcp_sequence &) {}
- void operator=(const ttcp_sequence &) {}
-};
-
-#endif
-
-
-
-
diff --git a/TAO/IIOP/tests/Thruput_test/ttcpS.cpp b/TAO/IIOP/tests/Thruput_test/ttcpS.cpp
deleted file mode 100644
index c7e05a61b35..00000000000
--- a/TAO/IIOP/tests/Thruput_test/ttcpS.cpp
+++ /dev/null
@@ -1,325 +0,0 @@
-// $Id$
-
-#include <iostream.h>
-#include "ttcpS.h"
-#include "corba/orb.h"
-#include "params.h"
-#include "iiopobj.h"
-#include "corba/optable.h" // for registering our methods
-#include "corba/corbacom.h"
-
-ACE_RCSID(Thruput_test, ttcpS, "$Id$")
-
-TAO_Dynamic_Hash_OpTable tao_ttcp_sequence_optable(9); // 8 + 1 operations on our
- // interface
-// operation database
-struct method_db
-{
- CORBA_String opname;
- TAO_Skeleton skel_ptr;
-};
-
-static const method_db ttcp_sequence_operations[] = {
- {"_is_a", &_skel_ttcp_sequence::_ttcp_sequence_is_a_skel},
- { "sendShortSeq", &_skel_ttcp_sequence::_ttcp_sequence_sendShortSeq_skel},
- { "sendLongSeq", &_skel_ttcp_sequence::_ttcp_sequence_sendLongSeq_skel},
- { "sendDoubleSeq", &_skel_ttcp_sequence::_ttcp_sequence_sendDoubleSeq_skel},
- { "sendOctetSeq", &_skel_ttcp_sequence::_ttcp_sequence_sendOctetSeq_skel},
- { "sendCharSeq", &_skel_ttcp_sequence::_ttcp_sequence_sendCharSeq_skel},
- { "sendStructSeq", &_skel_ttcp_sequence::_ttcp_sequence_sendStructSeq_skel},
- { "start_timer", &_skel_ttcp_sequence::_ttcp_sequence_start_timer_skel},
- { "stop_timer", &_skel_ttcp_sequence::_ttcp_sequence_stop_timer_skel},
- { 0, 0 }
-};
-
-// constructor
-_skel_ttcp_sequence::_skel_ttcp_sequence(const char *obj_name)
-{
- CORBA_String_var type_id = "IDL:ttcp_sequence:1.0"; // repository ID
- IIOP_Object *data; // IIOP object
- CORBA_BOA_ptr oa = TAO_OA_PARAMS::instance()->oa(); // underlying BOA
- this->optable_ = &tao_ttcp_sequence_optable; // operation database
- CORBA_Long i;
-
- // insert operation names into the operation table
- for (i=0; i < 9; i++)
- {
- this->optable_->bind(ttcp_sequence_operations[i].opname,
- ttcp_sequence_operations[i].skel_ptr);
- }
-
- // setup an IIOP object
- data = new IIOP_Object(type_id);
- data->profile.iiop_version.major = IIOP::MY_MAJOR;
- data->profile.iiop_version.minor = IIOP::MY_MINOR;
- data->profile.host = ACE_OS::strdup(oa->get_addr().get_host_name());
- data->profile.port = oa->get_addr().get_port_number();
- data->profile.object_key.length = ACE_OS::strlen(obj_name);
- data->profile.object_key.maximum = data->profile.object_key.length;
- data->profile.object_key.buffer = new CORBA_Octet [(size_t)data->profile.object_key.length+1];
- ACE_OS::memcpy(data->profile.object_key.buffer, obj_name,
- data->profile.object_key.length); // set the object key
- this->set_parent(data); // store the IIOP obj reference with ourselves
- this->sub_ = this; // set the most derived class to be ourselves
- if (oa) oa->bind(data->profile.object_key, this);// register ourselves
-}
-
-// skeleton sendShortSeq
-void _skel_ttcp_sequence::_ttcp_sequence_sendShortSeq_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value(ttcp_sequence::_tc_ShortSeq);
- ttcp_sequence_ptr impl;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value(0, temp_value, CORBA_ARG_IN, env);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- ttcp_sequence::ShortSeq *value = (ttcp_sequence::ShortSeq *)nv->value()->value();
-
- // now invoke the implementation
- impl = (ttcp_sequence_ptr)(obj->get_subclass());
- // now the magic of dynamic binding
- impl->sendShortSeq(*value, env);
-
- // result - NO result
- CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, 1);
- req.result(any, env);
-}
-
-// skeleton sendLongSeq
-void _skel_ttcp_sequence::_ttcp_sequence_sendLongSeq_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value(ttcp_sequence::_tc_LongSeq);
- ttcp_sequence_ptr impl;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value(0, temp_value, CORBA_ARG_IN, env);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- ttcp_sequence::LongSeq *value = (ttcp_sequence::LongSeq *)nv->value()->value();
-
- // now invoke the implementation
- impl = (ttcp_sequence_ptr)(obj->get_subclass());
- // now the magic of dynamic binding
- impl->sendLongSeq(*value, env);
-
- // result - NO result
- CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, 1);
- req.result(any, env);
-}
-
-// skeleton sendDoubleSeq
-void _skel_ttcp_sequence::_ttcp_sequence_sendDoubleSeq_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value(ttcp_sequence::_tc_DoubleSeq);
- ttcp_sequence_ptr impl;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value(0, temp_value, CORBA_ARG_IN, env);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- ttcp_sequence::DoubleSeq *value = (ttcp_sequence::DoubleSeq *)nv->value()->value();
-
- // now invoke the implementation
- impl = (ttcp_sequence_ptr)(obj->get_subclass());
- // now the magic of dynamic binding
- impl->sendDoubleSeq(*value, env);
-
- // result - NO result
- CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, 1);
- req.result(any, env);
-}
-
-// skeleton sendOctetSeq
-void _skel_ttcp_sequence::_ttcp_sequence_sendOctetSeq_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value(ttcp_sequence::_tc_OctetSeq);
- ttcp_sequence_ptr impl;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value(0, temp_value, CORBA_ARG_IN, env);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- ttcp_sequence::OctetSeq *value = (ttcp_sequence::OctetSeq *)nv->value()->value();
-
- // now invoke the implementation
- impl = (ttcp_sequence_ptr)(obj->get_subclass());
- // now the magic of dynamic binding
- impl->sendOctetSeq(*value, env);
-
- // result - NO result
- CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, 1);
- req.result(any, env);
-}
-
-// skeleton sendCharSeq
-void _skel_ttcp_sequence::_ttcp_sequence_sendCharSeq_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value(ttcp_sequence::_tc_CharSeq);
- ttcp_sequence_ptr impl;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value(0, temp_value, CORBA_ARG_IN, env);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- ttcp_sequence::CharSeq *value = (ttcp_sequence::CharSeq *)nv->value()->value();
-
- // now invoke the implementation
- impl = (ttcp_sequence_ptr)(obj->get_subclass());
- // now the magic of dynamic binding
- impl->sendCharSeq(*value, env);
-
- // result - NO result
- CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, 1);
- req.result(any, env);
-}
-
-// skeleton sendStructSeq
-void _skel_ttcp_sequence::_ttcp_sequence_sendStructSeq_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value(ttcp_sequence::_tc_StructSeq);
- ttcp_sequence_ptr impl;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value(0, temp_value, CORBA_ARG_IN, env);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- ttcp_sequence::StructSeq *value = (ttcp_sequence::StructSeq *)nv->value()->value();
-
- // now invoke the implementation
- impl = (ttcp_sequence_ptr)(obj->get_subclass());
- // now the magic of dynamic binding
- impl->sendStructSeq(*value, env);
-
- // result - NO result
- CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, 1);
- req.result(any, env);
-}
-
-// skeleton start_timer
-void _skel_ttcp_sequence::_ttcp_sequence_start_timer_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- ttcp_sequence_ptr impl;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- // now invoke the implementation
- impl = (ttcp_sequence_ptr)(obj->get_subclass());
- // now the magic of dynamic binding
- impl->start_timer(env);
-
- // result - NO result
- CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, 1);
- req.result(any, env);
-}
-
-// skeleton stop_timer
-void _skel_ttcp_sequence::_ttcp_sequence_stop_timer_skel(CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env)
-{
- CORBA_NVList_ptr nvlist;
- ttcp_sequence_ptr impl;
-
- // now create a request and populate it with the typecodes
- req.orb()->create_list (0, nvlist);
-
- // retrieve params - call the interpreter to interpret the parameters for us.
- req.params(nvlist, env);
-
- // now invoke the implementation
- impl = (ttcp_sequence_ptr)(obj->get_subclass());
- // now the magic of dynamic binding
- impl->stop_timer(env);
-
- // result - NO result
- CORBA_Any *any = new CORBA_Any(_tc_CORBA_Void, 0, 1);
- req.result(any, env);
-}
-
-void _skel_ttcp_sequence::_ttcp_sequence_is_a_skel (
- CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env
- )
-{
- CORBA_NVList_ptr nvlist;
- CORBA_NamedValue_ptr nv;
- CORBA_Any temp_value (_tc_CORBA_String);
- char *type_id = "IDL:ttcp_sequence:1.0";
-
- req.orb()->create_list (0, nvlist);
- nv = nvlist->add_value (0, temp_value, CORBA_ARG_IN, env);
-
- req.params (nvlist, env);
- if (env.exception () != 0) {
- dexc (env, "is_a_skel, get params");
- return;
- }
-
- CORBA_Boolean *retval;
- CORBA_String value = *(CORBA_String *)nv->value ()->value ();
-
- cout << "object id = " << ((char *)value) << endl;
- if (strcmp ((char *)value, (char *)type_id) == 0
- || strcmp ((char *)value, _tc_CORBA_Object->id(env)) == 0)
- retval = new CORBA_Boolean (1);
- else
- retval = new CORBA_Boolean (0);
-
- CORBA_Any *any =
- new CORBA_Any (_tc_CORBA_Boolean, retval, 1);
-
- req.result (any, env);
- dexc (env, "_is_a, result");
-}
-
diff --git a/TAO/IIOP/tests/Thruput_test/ttcpS.h b/TAO/IIOP/tests/Thruput_test/ttcpS.h
deleted file mode 100644
index 14ff95379e3..00000000000
--- a/TAO/IIOP/tests/Thruput_test/ttcpS.h
+++ /dev/null
@@ -1,70 +0,0 @@
-// $Id$
-
-/**************************************************************************
-This file has been hand-crafted to work with the ORB API of TAO
-***************************************************************************/
-
-#ifndef TTCP_SEQUENCE_S_H
-#define TTCP_SEQUENCE_S_H
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "ttcpC.h"
-
-
-class _skel_ttcp_sequence;
-typedef _skel_ttcp_sequence *_skel_ttcp_sequence_ptr;
-typedef _skel_ttcp_sequence *_skel_ttcp_sequence_ref;
-
-class _skel_ttcp_sequence: public ttcp_sequence
-{
-public:
- // pure virtual functions implemented by the implementation class
- virtual void sendShortSeq(const ShortSeq& ttcp_seq, CORBA_Environment &) = 0;
- virtual void sendLongSeq(const LongSeq& ttcp_seq, CORBA_Environment &) = 0;
- virtual void sendDoubleSeq(const DoubleSeq& ttcp_seq, CORBA_Environment &) = 0;
- virtual void sendOctetSeq(const OctetSeq& ttcp_seq, CORBA_Environment &) = 0;
- virtual void sendCharSeq(const CharSeq& ttcp_seq, CORBA_Environment &) = 0;
- virtual void sendStructSeq(const StructSeq& ttcp_seq, CORBA_Environment &) = 0;
- virtual void start_timer(CORBA_Environment &) = 0;
- virtual void stop_timer(CORBA_Environment &) = 0;
-
- // skeletons that do the upcall
- static void _ttcp_sequence_is_a_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _ttcp_sequence_sendShortSeq_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _ttcp_sequence_sendLongSeq_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _ttcp_sequence_sendDoubleSeq_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _ttcp_sequence_sendOctetSeq_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _ttcp_sequence_sendCharSeq_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _ttcp_sequence_sendStructSeq_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _ttcp_sequence_start_timer_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
- static void _ttcp_sequence_stop_timer_skel (CORBA_ServerRequest &req,
- CORBA_Object_ptr obj,
- CORBA_Environment &env);
-protected:
- _skel_ttcp_sequence(const char *obj_name = 0);
- virtual ~_skel_ttcp_sequence() {}
-};
-
-#endif
-
-
-
-
diff --git a/TAO/IIOP/tests/Thruput_test/ttcp_decl.h b/TAO/IIOP/tests/Thruput_test/ttcp_decl.h
deleted file mode 100644
index f5e80420037..00000000000
--- a/TAO/IIOP/tests/Thruput_test/ttcp_decl.h
+++ /dev/null
@@ -1,153 +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 "ttcpC.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;
-
-#endif
diff --git a/TAO/IIOP/tests/Thruput_test/ttcp_i.cpp b/TAO/IIOP/tests/Thruput_test/ttcp_i.cpp
deleted file mode 100644
index 476b9de9f54..00000000000
--- a/TAO/IIOP/tests/Thruput_test/ttcp_i.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-// $Id$
-
-#include "ttcp_i.h"
-#include "ace/Log_Msg.h"
-
-ACE_RCSID(Thruput_test, ttcp_i, "$Id$")
-
-/* the ttcp_i class implementation */
-ttcp_sequence_i::ttcp_sequence_i(const char *obj_name)
- :_skel_ttcp_sequence(obj_name)
-{
- this->nbytes_ = 0;
- numCalls = 0;
-}
-
-
-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();
- ACE_Reactor::end_event_loop();
- ACE_DEBUG ((LM_DEBUG, "*********** just before exiting\n"));
-#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) ;
-#ifdef DEBUG
- ACE_DEBUG ((LM_DEBUG, "Bytes received so far = %u\n", this->nbytes_));
-#endif
-}
-
-
diff --git a/TAO/IIOP/tests/Thruput_test/ttcp_i.h b/TAO/IIOP/tests/Thruput_test/ttcp_i.h
deleted file mode 100644
index 71d2266e334..00000000000
--- a/TAO/IIOP/tests/Thruput_test/ttcp_i.h
+++ /dev/null
@@ -1,52 +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.
-//
-#if !defined (TTCP_I_H)
-#define TTCP_I_H
-
-#include "ttcp_decl.h"
-#include "ttcpS.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))
-
-
-class ttcp_sequence_i: public _skel_ttcp_sequence
-{
-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/IIOP/tests/Thruput_test/utils.cpp b/TAO/IIOP/tests/Thruput_test/utils.cpp
deleted file mode 100644
index 1622f37a166..00000000000
--- a/TAO/IIOP/tests/Thruput_test/utils.cpp
+++ /dev/null
@@ -1,563 +0,0 @@
-// $Id$
-
-#include "ttcp_decl.h"
-
-ACE_RCSID(Thruput_test, utils, "$Id$")
-
-int SetSocketBufferSize(int size, unsigned short isTrans)
-{
- // go thru open file descriptors and check if its is a socket and
- // if so, set its socket size to "size"
- struct rlimit rlm;
- memset(&rlm, 0, sizeof(struct rlimit));
- (void) getrlimit(RLIMIT_NOFILE, &rlm);
- cout << "Total file descriptors = " << rlm.rlim_max << endl;
- for (int i=3; i < rlm.rlim_max; i++){
- if (isTrans)
- (void) setsockopt(i, SOL_SOCKET, SO_SNDBUF,
- (char *) &size, sizeof(size));
- else
- (void) setsockopt(i, SOL_SOCKET, SO_RCVBUF,
- (char *) &size, sizeof(size));
- }
- return 1;
-}
-
-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_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);
- }
-}