summaryrefslogtreecommitdiff
path: root/performance-tests/TTCP
diff options
context:
space:
mode:
Diffstat (limited to 'performance-tests/TTCP')
-rw-r--r--performance-tests/TTCP/ACE-C++/How_to_run_tests29
-rw-r--r--performance-tests/TTCP/ACE-C++/Makefile52
-rw-r--r--performance-tests/TTCP/ACE-C++/run_test35
-rw-r--r--performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp947
-rw-r--r--performance-tests/TTCP/C/How_to_run_tests30
-rw-r--r--performance-tests/TTCP/C/Makefile52
-rw-r--r--performance-tests/TTCP/C/README38
-rw-r--r--performance-tests/TTCP/C/new-ttcp.cpp981
-rw-r--r--performance-tests/TTCP/C/run_test35
-rw-r--r--performance-tests/TTCP/Makefile27
-rw-r--r--performance-tests/TTCP/ORBeline/How_to_run_tests57
-rw-r--r--performance-tests/TTCP/ORBeline/Makefile33
-rw-r--r--performance-tests/TTCP/ORBeline/run_test30
-rw-r--r--performance-tests/TTCP/ORBeline/ser4
-rw-r--r--performance-tests/TTCP/ORBeline/stdmk34
-rw-r--r--performance-tests/TTCP/ORBeline/tango_clt6
-rw-r--r--performance-tests/TTCP/ORBeline/ttcp.idl23
-rw-r--r--performance-tests/TTCP/ORBeline/ttcp_c.cc302
-rw-r--r--performance-tests/TTCP/ORBeline/ttcp_c.hh181
-rw-r--r--performance-tests/TTCP/ORBeline/ttcp_i.cpp1028
-rw-r--r--performance-tests/TTCP/ORBeline/ttcp_i.h45
-rw-r--r--performance-tests/TTCP/ORBeline/ttcp_s.cc168
-rw-r--r--performance-tests/TTCP/ORBeline/ttcp_s.hh89
-rw-r--r--performance-tests/TTCP/Orbix/How_to_run_tests59
-rw-r--r--performance-tests/TTCP/Orbix/Makefile30
-rw-r--r--performance-tests/TTCP/Orbix/README13
-rw-r--r--performance-tests/TTCP/Orbix/orbix_defaults.mk85
-rw-r--r--performance-tests/TTCP/Orbix/run_test30
-rw-r--r--performance-tests/TTCP/Orbix/ttcp.hh376
-rw-r--r--performance-tests/TTCP/Orbix/ttcp.idl22
-rw-r--r--performance-tests/TTCP/Orbix/ttcpC.cpp343
-rw-r--r--performance-tests/TTCP/Orbix/ttcpS.cpp159
-rw-r--r--performance-tests/TTCP/Orbix/ttcp_i.cpp1013
-rw-r--r--performance-tests/TTCP/Orbix/ttcp_i.h46
34 files changed, 0 insertions, 6402 deletions
diff --git a/performance-tests/TTCP/ACE-C++/How_to_run_tests b/performance-tests/TTCP/ACE-C++/How_to_run_tests
deleted file mode 100644
index 1346a745504..00000000000
--- a/performance-tests/TTCP/ACE-C++/How_to_run_tests
+++ /dev/null
@@ -1,29 +0,0 @@
-// ACE version
-//
-//
-
-// HOSTNAMES:
-// for our tests, encip1-tango.cs.wustl.edu was the receiver hostname used for atm transfers
-// tango.cs.wustl.edu was the receiver hostname used for ethernet transfers
-// substitute the proper receiver hostname for your system.
-
-// Results:
-// These examples show the result files being stored in a /results directory off
-// the current path. This can be set to whatever you like.
-
-// ATM with 64k receiver buffers
-Receiver_Host: repeat 100 server -r -s -fm -p 10002 -b 65536
-Sender_Host: run_test 64 encip1-tango.cs.wustl.edu ./results/ace.atm.64 10002
- or: client -fm -s -t -l 1048576 -n 100 -h encip1-tango.cs.wustl.edu -L ./results/ace.atm.64 -p 10002
-
-// ATM with 8k receiver buffers
-Receiver_Host: repeat 100 wrapper-new-ttcp -r -s -fm -p 10002
-Sender_Host: run_test 64 encip1-tango.cs.wustl.edu ./results/ace.atm.8 10002
-
-// ETHERNET with 64k receiver buffers
-Receiver_Host: repeat 100 wrapper-new-ttcp -r -s -fm -p 10002 -b 65536
-Sender_Host: run_test 64 tango.cs.wustl.edu ./results/ace.ethernet.64 10002
-
-// ETHERNET with 8k receiver buffers
-Receiver_Host: repeat 100 wrapper-new-ttcp -r -s -fm -p 10002
-Sender_Host: run_test 64 tango.cs.wustl.edu ./results/ace.ethernet.8 10002
diff --git a/performance-tests/TTCP/ACE-C++/Makefile b/performance-tests/TTCP/ACE-C++/Makefile
deleted file mode 100644
index f54d72fe4f2..00000000000
--- a/performance-tests/TTCP/ACE-C++/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@
-#----------------------------------------------------------------------------
-# @(#)Makefile 1.1 10/18/96
-#
-# Makefile for the wrapper-new-ttcp
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-BIN = wrapper-new-ttcp
-
-LSRC = $(addsuffix .cpp,$(FILES))
-LOBJ = $(addsuffix .o,$(FILES))
-
-LDLIBS = $(addprefix .obj/,$(LOBJ)) -Bstatic -Bdynamic
-
-VLDLIBS = $(LDLIBS:%=%$(VAR))
-
-BUILD = $(VOBJS) $(VBIN)
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(WRAPPER_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(WRAPPER_ROOT)/include/makeinclude/macros.GNU
-include $(WRAPPER_ROOT)/include/makeinclude/rules.common.GNU
-include $(WRAPPER_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(WRAPPER_ROOT)/include/makeinclude/rules.lib.GNU
-include $(WRAPPER_ROOT)/include/makeinclude/rules.bin.GNU
-include $(WRAPPER_ROOT)/include/makeinclude/rules.local.GNU
-
-#----------------------------------------------------------------------------
-# Local targets
-#----------------------------------------------------------------------------
-
-LINK_COMMAND = quantify -cache-dir=/$(IR)/quantify
-
-CCFLAGS = -O2 -DLM_RESULTS
-#CCFLAGS = -g -DLM_RESULTS
-#DCCFLAGS = -g
-
-#----------------------------------------------------------------------------
-# Dependencies
-#----------------------------------------------------------------------------
-
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-
-
diff --git a/performance-tests/TTCP/ACE-C++/run_test b/performance-tests/TTCP/ACE-C++/run_test
deleted file mode 100644
index e07e6ed0c80..00000000000
--- a/performance-tests/TTCP/ACE-C++/run_test
+++ /dev/null
@@ -1,35 +0,0 @@
-# test_run 64 enatm0-kavita.cs.wustl.edu title 10002
-# repeat 100 wrapper-new-ttcp -r -s -fm -p 10002 -b 65536
-#!/bin/csh -f
-if ($#argv != 4) then
- echo "Usage: sclt <Max msg size> <destination> <TitleOfThisTest> <port>" $4
- exit 1
-endif
-#
-@ msize=1024
-@ limit= ($argv[1] * 1024)
-#echo $limit
-#echo $msize
-echo "Iteration#" 1 ": wrapper-new-ttcp -fm -s -t -l" $msize "-h" $2 "-L" $3 "-p" $4
-wrapper-new-ttcp -fm -s -t -l $msize -h $2 -x -L $3 -p $4
-sleep 1
-set flag=0
-while ($msize <= $limit)
- if ($flag == 0) goto label
- echo "Iteration#" 1 ": wrapper-new-ttcp -fm -s -t -l" $msize "-h" $2 "-x -L" $3 "-p" $4
- wrapper-new-ttcp -fm -s -t -l $msize -h $2 -x -L $3 -p $4
- sleep 1
- label:
- set flag=1
- foreach i (2 3 4 5)
- echo "Iteration#" $i ": wrapper-new-ttcp -fm -s -t -l" $msize "-h" $2 "-L " $3 "-p" $4
- wrapper-new-ttcp -fm -s -t -l $msize -h $2 -L $3 -p $4
- sleep 1
- end
- echo "---------------------------"
- @ msize = ($msize * 2)
-end
-
-echo " "
-echo "Done at:"
-date
diff --git a/performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp b/performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp
deleted file mode 100644
index 2033dba7c59..00000000000
--- a/performance-tests/TTCP/ACE-C++/wrapper-new-ttcp.cpp
+++ /dev/null
@@ -1,947 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-/*
- * T T C P . C
- *
- * Test TCP connection. Makes a connection on port 5001
- * and transfers fabricated buffers or data copied from stdin.
- *
- * Usable on 4.2, 4.3, and 4.1a systems by defining one of
- * BSD42 BSD43 (BSD41a)
- * Machines using System V with BSD sockets should define SYSV.
- *
- * Modified for operation under 4.2BSD, 18 Dec 84
- * T.C. Slattery, USNA
- * Minor improvements, Mike Muuss and Terry Slattery, 16-Oct-85.
- * Modified in 1989 at Silicon Graphics, Inc.
- * catch SIGPIPE to be able to print stats when receiver has died
- * for tcp, don't look for sentinel during reads to allow small transfers
- * increased default buffer size to 8K, nbuf to 2K to transfer 16MB
- * moved default port to 5001, beyond IPPORT_USERRESERVED
- * make sinkmode default because it is more popular,
- * -s now means don't sink/source
- * count number of read/write system calls to see effects of
- * blocking from full socket buffers
- * for tcp, -D option turns off buffered writes (sets TCP_NODELAY sockopt)
- * buffer alignment options, -A and -O
- * print stats in a format that's a bit easier to use with grep & awk
- * for SYSV, mimic BSD routines to use most of the existing timing code
- * Modified by Steve Miller of the University of Maryland, College Park
- * -b sets the socket buffer size (SO_SNDBUF/SO_RCVBUF)
- * Modified Sept. 1989 at Silicon Graphics, Inc.
- * restored -s sense at request of tcs@brl
- * Modified Oct. 1991 at Silicon Graphics, Inc.
- * use getopt(3) for option processing, add -f and -T options.
- * SGI IRIX 3.3 and 4.0 releases don't need #define SYSV.
- * Modified Aug.1993 at University Paderborn, Germany
- * some SVR4 changes and time functions changed to itimer() calls
- * Modified by Douglas C. Schmidt September 28, 1994
- * added support for testing UNIX domain socket performance
- * Modified by Tim Harrison May, 1995
- * added support for ACE wrappers
- * Distribution Status -
- * Public Domain. Distribution Unlimited.
- */
-#ifndef lint
-static char RCSid[] = "ttcp.c $Revision$";
-#endif
-
-/* #define BSD43 */
-/* #define BSD42 */
-/* #define BSD41a */
-#define SYSV /* required on SGI IRIX releases before 3.3 */
-
-#include <ace/SOCK_Connector.h>
-ACE_SOCK_Connector connector_factory;
-
-#include <ace/SOCK_Acceptor.h>
-ACE_SOCK_Acceptor acceptor_factory;
-
-#include <ace/INET_Addr.h>
-ACE_INET_Addr address;
-
-#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>
-
-#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>
-struct rusage
- {
- struct timeval ru_utime, ru_stime;
- };
-#define RUSAGE_SELF 0
-
-#else
-#include <sys/resource.h>
-#endif
-
-struct sockaddr_in sinme;
-struct sockaddr_un sunme;
-struct sockaddr_in sinhim;
-struct sockaddr_un sunhim;
-struct sockaddr_in frominet;
-struct sockaddr_un fromunix;
-
-struct Session_Control_Message
-{
- long nbuf_;
- // number of buffers that will be sent this round.
- long size_;
- // size of the buffers that will be sent
-} session_control_buf;
-
-struct Data_Control_Message
-{
- long size_;
- char data_;
-} *message_buf;
-
-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 data_buf_len = 1024 * 1024 * 2; // length of data portion
-long total_msg_len; // length of entire message
-char *data_buf; // pointer to data portion
-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 */
-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;
-extern int errno;
-extern int optind;
-extern char *optarg;
-
-char Usage[] = "\
-Usage: ttcp -t [-options] host [ < in ]\n\
- ttcp -r [-options > out]\n\
-Common options:\n\
- -l ## length of bufs read from or written to network (default 8192)\n\
- -u use UDP instead of TCP\n\
- -U use UNIX domain sockets instead of Internet domain sockets\n\
- -p ## port number to send to or listen at (default 5001)\n\
- -s -t: source a pattern to network\n\
- -r: sink (discard) all data from network\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\
-Options specific to -t:\n\
- -n## number of source bufs written to network (default 2048)\n\
- -D don't buffer TCP writes (sets TCP_NODELAY socket option)\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\
-";
-
-char stats[128];
-unsigned long nbytes; /* bytes on net */
-unsigned long numCalls = 0; /* # of I/O system calls */
-double cput, realt; /* user, real time (seconds) */
-
-void err (char *s);
-void mes (char *s);
-void pattern (register char *cp, register int cnt);
-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 (ACE_SOCK_Stream &s, void *buf, int count);
-int Nwrite (ACE_SOCK_Stream &s, void *buf, int count);
-
-#if !defined (__cplusplus)
-typedef void (*SIG_TYP)();
-#endif
-
-#ifdef SVR4
-void
-sigpipe (int foo)
-#else
-void
-sigpipe ()
-#endif
-{
-}
-
-char *title = 0;
-int new_line = 0;
-
-int
-main (int argc, char *argv[])
-{
- ACE_SOCK_Stream connection_stream;
- unsigned long addr_tmp;
- int c;
-
- if (argc < 2)
- goto usage;
-
- while ((c = getopt (argc, argv, "drstU:uvBDTb:f:l:n:p:A:O:L:xh:")) != -1)
- {
- switch (c)
- {
-
- case 'h':
- host = optarg;
- break;
- case 'x':
- new_line = 1;
- break;
- case 'L':
- title = optarg;
- break;
- case 'B':
- b_flag = 1;
- break;
- case 't':
- trans = 1;
- break;
- case 'r':
- trans = 0;
- 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':
- data_buf_len = atoi (optarg);
- break;
- case 's':
- sinkmode = !sinkmode;
- break;
- case 'p':
- port = atoi (optarg);
- break;
- case 'U':
- domain = PF_UNIX;
- domainname = optarg;
- break;
- case 'u':
- udp = 1;
- 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 'T':
- touchdata = 1;
- break;
-
- default:
- goto usage;
- }
- }
-
- /* if transmitter, create remote address to transmit to. */
-
- if (trans)
- {
- if (address.set (port, host) == -1)
- perror ("address.set"), exit (1);
- }
-
- /* else, receiver create address to listen on */
- else
- {
- address.set (port);
- }
-
- total_msg_len = sizeof (long) + data_buf_len;
-
- // allocate the buffer
- message_buf = (Data_Control_Message *) malloc (total_msg_len);
- if (message_buf == 0)
- err ("malloc");
-
-// if (bufalign != 0)
-// message_buf += (bufalign - ((int) message_buf % bufalign) + bufoffset) % bufalign;
-
- // let's go ahead and set the control message for every send right now
- message_buf->size_ = data_buf_len;
-
- session_control_buf.nbuf_ = nbuf;
- session_control_buf.size_ = data_buf_len;
-
- //
- // print out option values for trans and receiver
- //
-
- if (trans)
- {
- fprintf (stdout,
- "ttcp-t: data_buf_len=%d, nbuf=%d, align=%d/%d, port=%d",
- data_buf_len, nbuf, bufalign, bufoffset, port);
- if (sockbufsize)
- fprintf (stdout, ", sockbufsize=%d", sockbufsize);
- fprintf (stdout, " %s -> %s\n",
- domain == PF_INET ? (udp ? "udp" : "tcp") : "unix",
- host == 0 ? domainname : host);
- }
- else // receiver
- {
- fprintf (stdout,
- "ttcp-r: data_buf_len=%d, nbuf=%d, align=%d/%d, port=%d",
- data_buf_len, nbuf, bufalign, bufoffset, port);
- if (sockbufsize)
- fprintf (stdout, ", sockbufsize=%d", sockbufsize);
- fprintf (stdout, " %s\n", domain == PF_INET ? (udp ? "udp" : "tcp") : "unix");
- }
-
- mes ("socket");
-
- //
- // connect and accept
- //
-
- if (!udp)
- {
- signal (SIGPIPE, (SIG_TYP) sigpipe);
-
- /* the transmitter will set options and connect to receiver */
- if (trans)
- {
- if (connector_factory.connect (connection_stream, address) == -1)
- perror ("connection failed"), exit (1);
- fprintf (stdout,
- "ttcp-t: data_buf_len=%d, nbuf=%d, align=%d/%d, port=%d",
- data_buf_len, nbuf, bufalign, bufoffset, port);
-
- // turn off weird ack things
- if (nodelay)
- {
- struct protoent *p = getprotobyname ("tcp");
-
- if (p && connection_stream.set_option (p->p_proto,
- TCP_NODELAY,
- (char *)& one,
- sizeof (one)))
- err ("setsockopt: nodelay");
- mes ("nodelay");
- }
- if (sockbufsize)
- {
- if (connection_stream.set_option (SOL_SOCKET,
- SO_SNDBUF,
- (char *) &sockbufsize,
- sizeof sockbufsize) == -1)
- err ("acceptor_factory.set_option");
- mes ("sndbuf");
- }
- }
-
- /* receiver will listen for connections from the transmitter */
- else
- {
- if (acceptor_factory.open (address, 1) == -1)
- perror ("acceptor open"), exit (1);
-
- ACE_INET_Addr remote_address;
-
- if (acceptor_factory.accept (connection_stream,
- (ACE_Addr *) &remote_address) == -1)
- perror ("acceptor accept"), exit (1);
-
- // set the window size
- if (sockbufsize)
- {
- if (connection_stream.set_option (SOL_SOCKET,
- SO_RCVBUF,
- (char *) &sockbufsize,
- sizeof sockbufsize) == -1)
- err ("acceptor_factory.set_option");
- mes ("rcvbuf");
- }
-
- fprintf (stderr, "ttcp-r: accept from %s\n", remote_address.get_host_name());
- }
- }
-
- //
- // start timer
- //
-
- errno = 0;
- if (trans)
- {
- pattern (& (message_buf->data_), data_buf_len);
- prep_timer ();
-
- ACE_DEBUG ((LM_DEBUG, "Sending session control message"
- " nbuf %d, size %d\n", session_control_buf.nbuf_,
- session_control_buf.size_));
- if (connection_stream.send_n ((char *) &session_control_buf,
- sizeof (Session_Control_Message))
- != sizeof (Session_Control_Message))
- ACE_ERROR_RETURN ((LM_ERROR, "%p send session control failed\n",
- "ttcp"), -1);
-
- long ack;
- int send_result;
- while (nbuf--)
- {
- send_result = connection_stream.send_n ((char *) message_buf, total_msg_len);
- if (send_result != total_msg_len)
- ACE_ERROR_RETURN ((LM_ERROR, "%p only sent %d of %d bytes on call %d\n",
- "ttcp", send_result, total_msg_len, numCalls + 1), -1);
- numCalls++;
- nbytes += data_buf_len;
-
- if (connection_stream.recv_n ((char *) &ack, sizeof ack)
- != sizeof ack)
- ACE_ERROR_RETURN ((LM_ERROR, "%p recv of ack failed\n",
- "ttcp"), -1);
-
- if (ack != data_buf_len)
- ACE_DEBUG ((LM_DEBUG, "%received ack for only %d bytes\n", ack));
- }
- }
- else
- {
- prep_timer ();
-
- if (connection_stream.recv_n ((char *) &session_control_buf,
- sizeof (Session_Control_Message))
- != sizeof (Session_Control_Message))
- ACE_ERROR_RETURN ((LM_ERROR, "%p recv session control failed\n",
- "ttcp"), -1);
-
- ACE_DEBUG ((LM_DEBUG, "received session control message"
- " nbuf %d, size %d\n", session_control_buf.nbuf_,
- session_control_buf.size_));
-
- nbuf = session_control_buf.nbuf_;
- // ignore session_control_buf.size_ for now
-
- long cnt;
-
- while (nbuf--)
- {
- if (connection_stream.recv_n ((char *) message_buf, sizeof (long))
- != sizeof (long))
- ACE_ERROR_RETURN ((LM_ERROR, "%p recv data control failed\n",
- "ttcp"), -1);
-
- cnt = connection_stream.recv_n (& (message_buf->data_), message_buf->size_);
- if (cnt != message_buf->size_)
- ACE_ERROR_RETURN ((LM_ERROR, "recv data failed\n"), -1);
-
- numCalls++;
- nbytes += cnt;
-
- if (connection_stream.send_n ((char *) &cnt, sizeof cnt)
- != sizeof cnt)
- ACE_ERROR_RETURN ((LM_ERROR, "%p send ack failed\n",
- "ttcp"), -1);
- }
- }
-
- if (errno)
- err ("IO");
-
- //
- // stop the timer
- //
-
- (void) read_timer (stats, sizeof (stats));
- if (udp && trans)
- {
- (void) Nwrite (connection_stream, message_buf, 4); /* rcvr end */
- (void) Nwrite (connection_stream, message_buf, 4); /* rcvr end */
- (void) Nwrite (connection_stream, message_buf, 4); /* rcvr end */
- (void) Nwrite (connection_stream, message_buf, 4); /* rcvr end */
- }
- 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 *fd;
- char filename[BUFSIZ];
- ACE_OS::sprintf (filename, "%s.results", title);
- fd = fopen(filename,"a+");
- if (new_line)
- fprintf(fd,"\n -l %ldk \t", data_buf_len/1024);
- tmp = ((double) nbytes) / realt;
- fprintf(fd,"%.2f ", tmp * 8.0 / 1024.0 / 1024.0);
- fclose(fd);
- }
-#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 I/O 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",
- message_buf);
- }
- exit (0);
-
-usage:
- fprintf (stderr, Usage);
- 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);
-}
-
-void
-pattern (register char *cp, register int cnt)
-{
- register char c;
- c = 0;
- while (cnt-- > 0)
- {
- while (!isprint ((c & 0x7F)))
- c++;
- *cp++ = (c++ & 0x7F);
- }
-}
-
-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 (ACE_SOCK_Stream &s, void *buf, int count)
-{
- numCalls++;
- return (s.recv (buf, count));
-}
-
-/*
- * N W R I T E
- */
-int
-Nwrite (ACE_SOCK_Stream &s, void *buf, int count)
-{
- numCalls++;
- return s.send (buf, count);
-}
-
-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);
-}
diff --git a/performance-tests/TTCP/C/How_to_run_tests b/performance-tests/TTCP/C/How_to_run_tests
deleted file mode 100644
index c08a515a5af..00000000000
--- a/performance-tests/TTCP/C/How_to_run_tests
+++ /dev/null
@@ -1,30 +0,0 @@
-// C version
-//
-//
-
-// HOSTNAMES:
-// for our tests, enatm0-tango.cs.wustl.edu was the receiver hostname used for atm transfers
-// tango.cs.wustl.edu was the receiver hostname used for ethernet transfers
-// substitute the proper receiver hostname for your system.
-
-// Results:
-// These examples show the result files being stored in a /results directory off
-// the current path. This can be set to whatever you like.
-
-// ATM with 32k receiver buffers
-Receiver_Host: repeat 100 server -r -s -fm -p 10002 -b 65536
-Sender_Host: run_test 64 encip1-tango.cs.wustl.edu ./results/ace.atm.64 10002
- or: client -fm -s -t -l 1048576 -n 100 -h encip1-tango.cs.wustl.edu -L ./results/ace.atm.64 -p 10002
-
-// ATM with 8k receiver buffers
-Receiver_Host: repeat 100 new-ttcp -r -s -fm -p 10002
-Sender_Host: run_test 64 enatm0-tango.cs.wustl.edu ./results/c.atm.8 10002
-
-// ETHERNET with 64k receiver buffers
-Receiver_Host: repeat 100 new-ttcp -r -s -fm -p 10002 -b 65536
-Sender_Host: run_test 64 tango.cs.wustl.edu ./results/c.ethernet.64 10002
-
-// ETHERNET with 8k receiver buffers
-Receiver_Host: repeat 100 new-ttcp -r -s -fm -p 10002
-Sender_Host: run_test 64 tango.cs.wustl.edu ./results/c.ethernet.8 10002
-
diff --git a/performance-tests/TTCP/C/Makefile b/performance-tests/TTCP/C/Makefile
deleted file mode 100644
index d9df79f3bb0..00000000000
--- a/performance-tests/TTCP/C/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@
-#----------------------------------------------------------------------------
-# @(#)Makefile 1.1 10/18/96
-#
-# Makefile for the wrapper-new-ttcp
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-BIN = new-ttcp
-
-LSRC = $(addsuffix .cpp,$(FILES))
-LOBJ = $(addsuffix .o,$(FILES))
-
-LDLIBS = $(addprefix .obj/,$(LOBJ)) -Bstatic -Bdynamic
-
-VLDLIBS = $(LDLIBS:%=%$(VAR))
-
-BUILD = $(VOBJS) $(VBIN)
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(WRAPPER_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(WRAPPER_ROOT)/include/makeinclude/macros.GNU
-include $(WRAPPER_ROOT)/include/makeinclude/rules.common.GNU
-include $(WRAPPER_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(WRAPPER_ROOT)/include/makeinclude/rules.lib.GNU
-include $(WRAPPER_ROOT)/include/makeinclude/rules.bin.GNU
-include $(WRAPPER_ROOT)/include/makeinclude/rules.local.GNU
-
-#----------------------------------------------------------------------------
-# Local targets
-#----------------------------------------------------------------------------
-
-LINK_COMMAND = quantify -cache-dir=/$(IR)/quantify
-
-CCFLAGS = -O2 -DLM_RESULTS
-#CCFLAGS = -g -DLM_RESULTS
-#DCCFLAGS = -g
-
-#----------------------------------------------------------------------------
-# Dependencies
-#----------------------------------------------------------------------------
-
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-
-
diff --git a/performance-tests/TTCP/C/README b/performance-tests/TTCP/C/README
deleted file mode 100644
index 88788c386eb..00000000000
--- a/performance-tests/TTCP/C/README
+++ /dev/null
@@ -1,38 +0,0 @@
-
- TTCP for c_version, ACE-wrappers, ORBeline and Orbix
- ----------------------------------------------------
-
-This is the super-readme file for the "ttcp" code. This directory contains the C, ACE-wrappers,
-ORBeline and Orbix versions of ttcp code. To compile the code, you have to do the following:
-
-1. You should have ACE, ORBeline and Orbix installed in your system and configured correctly.
- (see the reference manual for installation and configuration procedure)
-
-2. Copy this directory (ttcp) in the same directory structure to your disk space.
-
-3. setup the following environment parameters (before compilation stage):
- WRAPPER_ROOT, ORBELINE_ROOT, ORBIX_ROOT, LD_LIBRARY_PATH.
-
-For example:
-WRAPPER_ROOT=/project/adaptive/ACE_wrappers
-ORBELINE_ROOT=/project/adaptive/ORBelineV1.2
-ORBIX_ROOT=/project/adaptive/Orbix
-LD_LIBRARY_PATH=/project/adaptive/ORBelineV1.2/lib
- :/project/adaptive/ACE_wrappers/build/SunOS5.4/src
- :/project/adaptive/Orbix/lib
-
-4. Do make (using GNU make) in this directory level. This will create the executable ttcp
- target code for each ttcp version.
-
-5. Read the README or How_to_run_tests file existing in each directory to know how to use the
- executable.
-
-6. Have fun.
-
-
-
-Ehab S. Al-Shaer
-6/30/1995
-
-
-
diff --git a/performance-tests/TTCP/C/new-ttcp.cpp b/performance-tests/TTCP/C/new-ttcp.cpp
deleted file mode 100644
index f4fe17da814..00000000000
--- a/performance-tests/TTCP/C/new-ttcp.cpp
+++ /dev/null
@@ -1,981 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-/*
- * T T C P . C
- *
- * Test TCP connection. Makes a connection on port 5001
- * and transfers fabricated buffers or data copied from stdin.
- *
- * Usable on 4.2, 4.3, and 4.1a systems by defining one of
- * BSD42 BSD43 (BSD41a)
- * Machines using System V with BSD sockets should define SYSV.
- *
- * Modified for operation under 4.2BSD, 18 Dec 84
- * T.C. Slattery, USNA
- * Minor improvements, Mike Muuss and Terry Slattery, 16-Oct-85.
- * Modified in 1989 at Silicon Graphics, Inc.
- * catch SIGPIPE to be able to print stats when receiver has died
- * for tcp, don't look for sentinel during reads to allow small transfers
- * increased default buffer size to 8K, nbuf to 2K to transfer 16MB
- * moved default port to 5001, beyond IPPORT_USERRESERVED
- * make sinkmode default because it is more popular,
- * -s now means don't sink/source
- * count number of read/write system calls to see effects of
- * blocking from full socket buffers
- * for tcp, -D option turns off buffered writes (sets TCP_NODELAY sockopt)
- * buffer alignment options, -A and -O
- * print stats in a format that's a bit easier to use with grep & awk
- * for SYSV, mimic BSD routines to use most of the existing timing code
- * Modified by Steve Miller of the University of Maryland, College Park
- * -b sets the socket buffer size (SO_SNDBUF/SO_RCVBUF)
- * Modified Sept. 1989 at Silicon Graphics, Inc.
- * restored -s sense at request of tcs@brl
- * Modified Oct. 1991 at Silicon Graphics, Inc.
- * use getopt(3) for option processing, add -f and -T options.
- * SGI IRIX 3.3 and 4.0 releases don't need #define SYSV.
- * Modified Aug.1993 at University Paderborn, Germany
- * some SVR4 changes and time functions changed to itimer() calls
- * Modified by Douglas C. Schmidt September 28, 1994
- * added support for testing UNIX domain socket performance
- * Modified by Tim Harrison May, 1995
- * added support for ACE wrappers
- * Distribution Status -
- * Public Domain. Distribution Unlimited.
- */
-#ifndef lint
-static char RCSid[] = "ttcp.c $Revision$";
-#endif
-
-/* #define BSD43 */
-/* #define BSD42 */
-/* #define BSD41a */
-#define SYSV /* required on SGI IRIX releases before 3.3 */
-
-#include <ace/SOCK_Connector.h>
-ACE_SOCK_Connector connector_factory;
-
-#include <ace/SOCK_Acceptor.h>
-ACE_SOCK_Acceptor acceptor_factory;
-
-#include <ace/INET_Addr.h>
-ACE_INET_Addr address;
-
-#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>
-
-#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>
-struct rusage
- {
- struct timeval ru_utime, ru_stime;
- };
-#define RUSAGE_SELF 0
-
-#else
-#include <sys/resource.h>
-#endif
-
-struct sockaddr_in sinme;
-struct sockaddr_un sunme;
-struct sockaddr_in sinhim;
-struct sockaddr_un sunhim;
-struct sockaddr_in frominet;
-struct sockaddr_un fromunix;
-
-int send_n (const void *buf, int len);
-int recv_n (void *buf, int len);
-int connection_descriptor;
-
-struct Session_Control_Message
-{
- long nbuf_;
- // number of buffers that will be sent this round.
- long size_;
- // size of the buffers that will be sent
-} session_control_buf;
-
-struct Data_Control_Message
-{
- long size_;
- char data_;
-} *message_buf;
-
-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 data_buf_len = 1024 * 1024 * 2; // length of data portion
-long total_msg_len; // length of entire message
-char *data_buf; // pointer to data portion
-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 */
-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;
-extern int errno;
-extern int optind;
-extern char *optarg;
-
-char Usage[] = "\
-Usage: ttcp -t [-options] host [ < in ]\n\
- ttcp -r [-options > out]\n\
-Common options:\n\
- -l ## length of bufs read from or written to network (default 8192)\n\
- -u use UDP instead of TCP\n\
- -U use UNIX domain sockets instead of Internet domain sockets\n\
- -p ## port number to send to or listen at (default 5001)\n\
- -s -t: source a pattern to network\n\
- -r: sink (discard) all data from network\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\
-Options specific to -t:\n\
- -n## number of source bufs written to network (default 2048)\n\
- -D don't buffer TCP writes (sets TCP_NODELAY socket option)\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\
-";
-
-char stats[128];
-unsigned long nbytes; /* bytes on net */
-unsigned long numCalls = 0; /* # of I/O system calls */
-double cput, realt; /* user, real time (seconds) */
-
-void err (char *s);
-void mes (char *s);
-void pattern (register char *cp, register int cnt);
-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 (ACE_SOCK_Stream &s, void *buf, int count);
-int Nwrite (ACE_SOCK_Stream &s, void *buf, int count);
-
-#if !defined (__cplusplus)
-typedef void (*SIG_TYP)();
-#endif
-
-#ifdef SVR4
-void
-sigpipe (int foo)
-#else
-void
-sigpipe ()
-#endif
-{
-}
-
-char *title = 0;
-int new_line = 0;
-
-int
-main (int argc, char *argv[])
-{
- ACE_SOCK_Stream connection_stream;
- unsigned long addr_tmp;
- int c;
-
- if (argc < 2)
- goto usage;
-
- while ((c = getopt (argc, argv, "drstU:uvBDTb:f:l:n:p:A:O:L:xh:")) != -1)
- {
- switch (c)
- {
-
- case 'h':
- host = optarg;
- break;
- case 'x':
- new_line = 1;
- break;
- case 'L':
- title = optarg;
- break;
- case 'B':
- b_flag = 1;
- break;
- case 't':
- trans = 1;
- break;
- case 'r':
- trans = 0;
- 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':
- data_buf_len = atoi (optarg);
- break;
- case 's':
- sinkmode = !sinkmode;
- break;
- case 'p':
- port = atoi (optarg);
- break;
- case 'U':
- domain = PF_UNIX;
- domainname = optarg;
- break;
- case 'u':
- udp = 1;
- 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 'T':
- touchdata = 1;
- break;
-
- default:
- goto usage;
- }
- }
-
- /* if transmitter, create remote address to transmit to. */
-
- if (trans)
- {
- if (address.set (port, host) == -1)
- perror ("address.set"), exit (1);
- }
-
- /* else, receiver create address to listen on */
- else
- {
- address.set (port);
- }
-
- total_msg_len = sizeof (long) + data_buf_len;
-
- // allocate the buffer
- message_buf = (Data_Control_Message *) malloc (total_msg_len);
- if (message_buf == 0)
- err ("malloc");
-
-// if (bufalign != 0)
-// message_buf += (bufalign - ((int) message_buf % bufalign) + bufoffset) % bufalign;
-
- // let's go ahead and set the control message for every send right now
- message_buf->size_ = data_buf_len;
-
- session_control_buf.nbuf_ = nbuf;
- session_control_buf.size_ = data_buf_len;
-
- //
- // print out option values for trans and receiver
- //
-
- if (trans)
- {
- fprintf (stdout,
- "ttcp-t: data_buf_len=%d, nbuf=%d, align=%d/%d, port=%d",
- data_buf_len, nbuf, bufalign, bufoffset, port);
- if (sockbufsize)
- fprintf (stdout, ", sockbufsize=%d", sockbufsize);
- fprintf (stdout, " %s -> %s\n",
- domain == PF_INET ? (udp ? "udp" : "tcp") : "unix",
- host == 0 ? domainname : host);
- }
- else // receiver
- {
- fprintf (stdout,
- "ttcp-r: data_buf_len=%d, nbuf=%d, align=%d/%d, port=%d",
- data_buf_len, nbuf, bufalign, bufoffset, port);
- if (sockbufsize)
- fprintf (stdout, ", sockbufsize=%d", sockbufsize);
- fprintf (stdout, " %s\n", domain == PF_INET ? (udp ? "udp" : "tcp") : "unix");
- }
-
- mes ("socket");
-
- //
- // connect and accept
- //
-
- if (!udp)
- {
- signal (SIGPIPE, (SIG_TYP) sigpipe);
-
- /* the transmitter will set options and connect to receiver */
- if (trans)
- {
- if (connector_factory.connect (connection_stream, address) == -1)
- perror ("connection failed"), exit (1);
- fprintf (stdout,
- "ttcp-t: data_buf_len=%d, nbuf=%d, align=%d/%d, port=%d",
- data_buf_len, nbuf, bufalign, bufoffset, port);
-
- // turn off weird ack things
- if (nodelay)
- {
- struct protoent *p = getprotobyname ("tcp");
-
- if (p && connection_stream.set_option (p->p_proto,
- TCP_NODELAY,
- (char *)& one,
- sizeof (one)))
- err ("setsockopt: nodelay");
- mes ("nodelay");
- }
- if (sockbufsize)
- {
- if (connection_stream.set_option (SOL_SOCKET,
- SO_SNDBUF,
- (char *) &sockbufsize,
- sizeof sockbufsize) == -1)
- err ("acceptor_factory.set_option");
- mes ("sndbuf");
- }
- }
-
- /* receiver will listen for connections from the transmitter */
- else
- {
- if (acceptor_factory.open (address, 1) == -1)
- perror ("acceptor open"), exit (1);
-
- ACE_INET_Addr remote_address;
-
- if (acceptor_factory.accept (connection_stream,
- (ACE_Addr *) &remote_address) == -1)
- perror ("acceptor accept"), exit (1);
-
- // set the window size
- if (sockbufsize)
- {
- if (connection_stream.set_option (SOL_SOCKET,
- SO_RCVBUF,
- (char *) &sockbufsize,
- sizeof sockbufsize) == -1)
- err ("acceptor_factory.set_option");
- mes ("rcvbuf");
- }
-
- fprintf (stderr, "ttcp-r: accept from %s\n", remote_address.get_host_name());
- }
- }
-
- //
- // start timer
- //
-
- errno = 0;
-
- // used in send_n and recv_n
- connection_descriptor = connection_stream.get_handle ();
-
- if (trans)
- {
- pattern (& (message_buf->data_), data_buf_len);
- prep_timer ();
-
- ACE_DEBUG ((LM_DEBUG, "Sending session control message"
- " nbuf %d, size %d\n", session_control_buf.nbuf_,
- session_control_buf.size_));
- if (send_n ((char *) &session_control_buf,
- sizeof (Session_Control_Message))
- != sizeof (Session_Control_Message))
- ACE_ERROR_RETURN ((LM_ERROR, "%p send session control failed\n",
- "ttcp"), -1);
-
- long ack;
- int send_result;
- while (nbuf--)
- {
- send_result = send_n ((char *) message_buf, total_msg_len);
- if (send_result != total_msg_len)
- ACE_ERROR_RETURN ((LM_ERROR, "%p only sent %d of %d bytes on call %d\n",
- "ttcp", send_result, total_msg_len, numCalls + 1), -1);
- numCalls++;
- nbytes += data_buf_len;
-
- if (recv_n ((char *) &ack, sizeof ack) != sizeof ack)
- ACE_ERROR_RETURN ((LM_ERROR, "%p recv of ack failed\n",
- "ttcp"), -1);
-
- if (ack != data_buf_len)
- ACE_DEBUG ((LM_DEBUG, "%received ack for only %d bytes\n", ack));
- }
- }
- else
- {
- prep_timer ();
-
- if (recv_n ((char *) &session_control_buf,
- sizeof (Session_Control_Message)) != sizeof (Session_Control_Message))
- ACE_ERROR_RETURN ((LM_ERROR, "%p recv session control failed\n",
- "ttcp"), -1);
-
- ACE_DEBUG ((LM_DEBUG, "received session control message"
- " nbuf %d, size %d\n", session_control_buf.nbuf_,
- session_control_buf.size_));
-
- nbuf = session_control_buf.nbuf_;
- // ignore session_control_buf.size_ for now
-
- long cnt;
-
- while (nbuf--)
- {
- if (recv_n ((char *) message_buf, sizeof (long)) != sizeof (long))
- ACE_ERROR_RETURN ((LM_ERROR, "%p recv data control failed\n",
- "ttcp"), -1);
-
- cnt = recv_n (& (message_buf->data_), message_buf->size_);
- if (cnt != message_buf->size_)
- ACE_ERROR_RETURN ((LM_ERROR, "recv data failed\n"), -1);
-
- numCalls++;
- nbytes += cnt;
-
- if (send_n ((char *) &cnt, sizeof cnt) != sizeof cnt)
- ACE_ERROR_RETURN ((LM_ERROR, "%p send ack failed\n",
- "ttcp"), -1);
- }
- }
-
- if (errno)
- err ("IO");
-
- //
- // stop the timer
- //
-
- (void) read_timer (stats, sizeof (stats));
- if (udp && trans)
- {
- (void) Nwrite (connection_stream, message_buf, 4); /* rcvr end */
- (void) Nwrite (connection_stream, message_buf, 4); /* rcvr end */
- (void) Nwrite (connection_stream, message_buf, 4); /* rcvr end */
- (void) Nwrite (connection_stream, message_buf, 4); /* rcvr end */
- }
- 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 *fd;
- char filename[BUFSIZ];
- ACE_OS::sprintf (filename, "%s.results", title);
- fd = fopen(filename,"a+");
- if (new_line)
- fprintf(fd,"\n -l %ldk \t", data_buf_len/1024);
- tmp = ((double) nbytes) / realt;
- fprintf(fd,"%.2f ", tmp * 8.0 / 1024.0 / 1024.0);
- fclose(fd);
- }
-#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 I/O 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",
- message_buf);
- }
- exit (0);
-
-usage:
- fprintf (stderr, Usage);
- return 1;
-}
-
-int
-send_n (const void *buf, int len)
-{
- size_t bytes_written;
- int n;
-
- for (bytes_written = 0; bytes_written < len; bytes_written += n)
- if ((n = write (connection_descriptor, (const char *) buf + bytes_written,
- len - bytes_written)) == -1)
- return -1;
-
- return bytes_written;
-}
-
-int
-recv_n (void *buf, int len)
-{
- size_t bytes_read;
- int n;
-
- for (bytes_read = 0; bytes_read < len; bytes_read += n)
- if ((n = read (connection_descriptor, (char *) buf + bytes_read,
- len - bytes_read)) == -1)
- return -1;
- else if (n == 0)
- break;
-
- return bytes_read;
-}
-
-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);
-}
-
-void
-pattern (register char *cp, register int cnt)
-{
- register char c;
- c = 0;
- while (cnt-- > 0)
- {
- while (!isprint ((c & 0x7F)))
- c++;
- *cp++ = (c++ & 0x7F);
- }
-}
-
-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 (ACE_SOCK_Stream &s, void *buf, int count)
-{
- numCalls++;
- return (s.recv (buf, count));
-}
-
-/*
- * N W R I T E
- */
-int
-Nwrite (ACE_SOCK_Stream &s, void *buf, int count)
-{
- numCalls++;
- return s.send (buf, count);
-}
-
-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);
-}
diff --git a/performance-tests/TTCP/C/run_test b/performance-tests/TTCP/C/run_test
deleted file mode 100644
index 9a4fa346ad3..00000000000
--- a/performance-tests/TTCP/C/run_test
+++ /dev/null
@@ -1,35 +0,0 @@
-# test_run 64 enatm0-kavita.cs.wustl.edu title 10002
-# repeat 100 new-ttcp -r -s -fm -p 10002 -b 65536
-#!/bin/csh -f
-if ($#argv != 4) then
- echo "Usage: sclt <Max msg size> <destination> <TitleOfThisTest> <port>" $4
- exit 1
-endif
-#
-@ msize=1024
-@ limit= ($argv[1] * 1024)
-#echo $limit
-#echo $msize
-echo "Iteration#" 1 ": new-ttcp -fm -s -t -l" $msize "-h" $2 "-x -L" $3 "-p" $4
-new-ttcp -fm -s -t -l $msize -h $2 -x -L $3 -p $4
-sleep 1
-set flag=0
-while ($msize <= $limit)
- if ($flag == 0) goto label
- echo "Iteration#" 1 ": new-ttcp -fm -s -t -l" $msize "-h" $2 "-x -L" $3 "-p" $4
- new-ttcp -fm -s -t -l $msize -h $2 -x -L $3 -p $4
- sleep 1
- label:
- set flag=1
- foreach i (2 3 4 5)
- echo "Iteration#" $i ": new-ttcp -fm -s -t -l" $msize "-h" $2 "-L" $3 "-p" $4
- new-ttcp -fm -s -t -l $msize -h $2 -L $3 -p $4
- sleep 1
- end
- echo "---------------------------"
- @ msize = ($msize * 2)
-end
-
-echo " "
-echo "Done at:"
-date
diff --git a/performance-tests/TTCP/Makefile b/performance-tests/TTCP/Makefile
deleted file mode 100644
index c62d08f8641..00000000000
--- a/performance-tests/TTCP/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-#----------------------------------------------------------------------------
-# @(#)Makefile 1.1 10/18/96
-#
-# Makefile for the Orbix applications
-#----------------------------------------------------------------------------
-
-#----------------------------------------------------------------------------
-# Local macros
-#----------------------------------------------------------------------------
-
-INFO = README
-
-DIRS = ACE-C++ \
- C \
- Orbix \
- ORBeline
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(WRAPPER_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(WRAPPER_ROOT)/include/makeinclude/macros.GNU
-include $(WRAPPER_ROOT)/include/makeinclude/rules.common.GNU
-include $(WRAPPER_ROOT)/include/makeinclude/rules.nested.GNU
-include $(WRAPPER_ROOT)/include/makeinclude/rules.nolocal.GNU
-
diff --git a/performance-tests/TTCP/ORBeline/How_to_run_tests b/performance-tests/TTCP/ORBeline/How_to_run_tests
deleted file mode 100644
index 1ec726d26bd..00000000000
--- a/performance-tests/TTCP/ORBeline/How_to_run_tests
+++ /dev/null
@@ -1,57 +0,0 @@
-// ORBeline
-//
-// sequence AND string
-
-// HOSTNAMES:
-// For our tests, tango.cs.wustl.edu was the receiver hostname. For atm transfers, you
-// should setup the environment variable ORBELINE_IPADDR=ATM-IP-ADDR. Otherwise,
-// the ethernet IP address of tango.cs.wustl.edu wis used.
-// For your case, substitute the proper receiver hostname for your system.
-
-// ORBeline DAEMONS:
-// there must be an ORBeline daemon running on the receiver host in your system.
-// in our case, we had an ORBeline daemon running on tango.cs.wustl.edu
-
-// WRAPPER_ROOT:
-// WRAPPER_ROOT can be set to the root directory of ACE so that these lines
-// can be cut and pasted to run tests.
-
-// Results:
-// These examples show the result files being stored in a /results directory off
-// the current path. This can be set to whatever you like.
-
-// ****** sequence ****** (-q option flag)
-
-// ATM with 64k receiver buffers (setenv ORBELINE_IPADDR=128.252.114.18)
-Receiver_Host: server "$WRAPPER_ROOT/apps/ttcp/orbeline/server -s -r -fm -b 65536 -q"
-Sender_Host: run_test 64 tango.cs.wustl.edu ./results/sequence.atm.64 -q
-
-// ATM with 8k reciever buffers (setenv ORBELINE_IPADDR=128.252.114.18)
-Receiver_Host: server "$WRAPPER_ROOT/apps/ttcp/orbeline/server -s -r -fm -q"
-Sender_Host: run_test 64 tango.cs.wustl.edu ./results/sequence.atm.8 -q
-
-// ETHERNET with 64k receiver buffers
-Receiver_Host: server "$WRAPPER_ROOT/apps/ttcp/orbeline/server -s -r -fm -b 65536 -q"
-Sender_Host: run_test 64 tango.cs.wustl.edu ./results/sequence.atm.64 -q
-
-// ETHERNET with 8k reciever buffers
-Receiver_Host: server "$WRAPPER_ROOT/apps/ttcp/orbeline/server -s -r -fm -q"
-Sender_Host: run_test 64 tango.cs.wustl.edu ./results/sequence.atm.8 -q
-
-// ****** string ****** (-q is omitted)
-
-// ATM with 64k receiver buffers (setenv ORBELINE_IPADDR=128.252.114.18)
-Receiver_Host: server "$WRAPPER_ROOT/apps/ttcp/orbeline/server -s -r -fm -b 65536"
-Sender_Host: run_test 64 tango.cs.wustl.edu ./results/sequence.atm.64
-
-// ATM with 8k reciever buffers (setenv ORBELINE_IPADDR=128.252.114.18)
-Receiver_Host: server "$WRAPPER_ROOT/apps/ttcp/orbeline/server -s -r -fm"
-Sender_Host: run_test 64 tango.cs.wustl.edu ./results/sequence.atm.64
-
-// ETHERNET with 64k receiver buffers
-Receiver_Host: server "$WRAPPER_ROOT/apps/ttcp/orbeline/server -s -r -fm"
-Sender_Host: run_test 64 tango.cs.wustl.edu ./results/sequence.atm.8
-
-// ETHERNET with 8k reciever buffers
-Receiver_Host: server "$WRAPPER_ROOT/apps/ttcp/orbeline/server -s -r -fm"
-Sender_Host: run_test 64 tango.cs.wustl.edu ./results/sequence.atm.8
diff --git a/performance-tests/TTCP/ORBeline/Makefile b/performance-tests/TTCP/ORBeline/Makefile
deleted file mode 100644
index b5e39348090..00000000000
--- a/performance-tests/TTCP/ORBeline/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-include ./stdmk
-EXE = server client
-
-all: $(EXE)
-
-# Remeber -p for generating mon.out for profiler
-#C++FLAGS = -O4 -p -DTEST_SEQUENCE
-#C++FLAGS = -O4 -DTEST_SEQUENCE
-#C++FLAGS = -O4 -p
-#C++FLAGS = -g
-C++FLAGS = -O4 $(CCFLAGS)
-
-realclean:
- -rm -f core *.o client server $(EXE) *~
-
-clean:
- -rm -f core *.o client server $(EXE) *~
-
-ttcp_c.cc: ttcp.idl
- $(ORBCC) ttcp.idl
-
-ttcp_s.cc: ttcp.idl
- $(ORBCC) ttcp.idl
-
-ttcp_i.o: ttcp_i.cpp
- $(CC) $(C++FLAGS) -I./ -I../../include -c ttcp_i.cpp
-
-client : ttcp_s.o ttcp_c.o ttcp_i.o
- $(CC) $(C++FLAGS) -o client ttcp_i.o ttcp_s.o ttcp_c.o $(LIBPATH) $(LIBORB) $(STDCC_LIBS)
-
-server : ttcp_s.o ttcp_c.o ttcp_i.o
- $(CC) $(C++FLAGS) -o server ttcp_i.o ttcp_s.o ttcp_c.o $(LIBPATH) $(LIBORB) $(STDCC_LIBS)
-
diff --git a/performance-tests/TTCP/ORBeline/run_test b/performance-tests/TTCP/ORBeline/run_test
deleted file mode 100644
index 842be36c4ac..00000000000
--- a/performance-tests/TTCP/ORBeline/run_test
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/csh -f
-if ($#argv < 3) then
- echo "Usage: sclt <Max msg size> <destination> <TitleOfThisTest> -q"
- exit 1
-endif
-#
-@ msize=1024
-@ limit= ($argv[1] * 1024)
-#echo $limit
-#echo $msize
-echo "Iteration#" 1 ": client -D -fm -s -t -l" $msize "-h" $2 "-L" $3 $4
-client -D -fm -s -t -l $msize -h $2 -x -L $3 $4
-set flag=0
-while ($msize <= $limit)
- if ($flag == 0) goto label
- echo "Iteration#" 1 ": client -D -fm -s -t -l" $msize "-h" $2 "-x -L" $3 $4
- client -D -fm -s -t -l $msize -h $2 -x -L $3 $4
- label:
- set flag=1
- foreach i (2 3 4 5)
- echo "Iteration#" $i ": client -D -fm -s -t -l" $msize "-h" $2 "-x -L " $3 $4
- client -D -fm -s -t -l $msize -h $2 -L $3 $4
- end
- echo "---------------------------"
- @ msize = ($msize * 2)
-end
-
-echo " "
-echo "Done at:"
-date
diff --git a/performance-tests/TTCP/ORBeline/ser b/performance-tests/TTCP/ORBeline/ser
deleted file mode 100644
index da25e305013..00000000000
--- a/performance-tests/TTCP/ORBeline/ser
+++ /dev/null
@@ -1,4 +0,0 @@
-server -s -r -fm -b 65536 $1
-#8192
-#16384
-#32768
diff --git a/performance-tests/TTCP/ORBeline/stdmk b/performance-tests/TTCP/ORBeline/stdmk
deleted file mode 100644
index 0acbf5c922c..00000000000
--- a/performance-tests/TTCP/ORBeline/stdmk
+++ /dev/null
@@ -1,34 +0,0 @@
-CC = CC
-DEBUG =
-
-ORBELINEDIR = $(ORBELINE_ROOT)
-
-ORBCC = $(ORBELINEDIR)/bin/orbeline -v _c -m _s
-
-CCINCLUDES = -I. -I$(ORBELINEDIR)/include
-
-CCFLAGS = $(CCINCLUDES) $(DEBUG)
-
-LIBPATH = -L$(ORBELINEDIR)/lib
-
-STDCC_LIBS = -lsocket -lnsl -ldl
-
-LIBIR = -lir
-LIBORB = -lorb -lorbinit
-LIBDII = -ldii -lir
-
-.SUFFIXES: .C .o .h .hh .cc
-
-.C.o:
- $(CC) $(CCFLAGS) -c -o $@ $<
-
-.cc.o:
- $(CC) $(CCFLAGS) -c -o $@ $<
-
-.C.cpp:
- $(CC) -E $(CCFLAGS) $< > $@
-
-.cc.cpp:
- $(CC) -E $(CCFLAGS) $< > $@
-
-
diff --git a/performance-tests/TTCP/ORBeline/tango_clt b/performance-tests/TTCP/ORBeline/tango_clt
deleted file mode 100644
index fb5ec083ec1..00000000000
--- a/performance-tests/TTCP/ORBeline/tango_clt
+++ /dev/null
@@ -1,6 +0,0 @@
-client -fm -s -t -D -l 1024 -h tango.cs.wustl.edu $1
-#4096
-#32768
-#16384
-#131072
-#262144
diff --git a/performance-tests/TTCP/ORBeline/ttcp.idl b/performance-tests/TTCP/ORBeline/ttcp.idl
deleted file mode 100644
index cf83cc83a20..00000000000
--- a/performance-tests/TTCP/ORBeline/ttcp.idl
+++ /dev/null
@@ -1,23 +0,0 @@
-/* -*- C++ -*- */
-// @(#)ttcp.idl 1.1 10/18/96
-
-
-interface ttcp_sequence {
-
-typedef sequence<char> my_sequence;
-
- oneway void send (in my_sequence ttcp_rec);
- oneway void send_hack (in string ttcp_string);
- oneway void start_timer ();
- oneway void stop_timer ();
-};
-
-interface ttcp_string {
-
- oneway void send (in string ttcp_string);
- oneway void send_hack (in string ttcp_string);
- oneway void start_timer ();
- oneway void stop_timer ();
-};
-
-
diff --git a/performance-tests/TTCP/ORBeline/ttcp_c.cc b/performance-tests/TTCP/ORBeline/ttcp_c.cc
deleted file mode 100644
index da268e96821..00000000000
--- a/performance-tests/TTCP/ORBeline/ttcp_c.cc
+++ /dev/null
@@ -1,302 +0,0 @@
-/* This file is automatically generated by Orbeline. */
-/* Do not modify this file. */
-/* Orbeline (c) is copyrighted by PostModern Computing, Inc. */
-
-#include <ttcp_c.hh>
-
-const CORBA::TypeInfo ttcp_sequence::_class_info("ttcp_sequence",
- &ttcp_sequence::_reader,
- CORBA::Object::_desc(),
- 0);
-const CORBA::TypeInfo *ttcp_sequence::_desc()
-{
- return &_class_info;
-}
-const CORBA::TypeInfo *ttcp_sequence::_type_info() const
-{
- return &_class_info;
-}
-void *ttcp_sequence::_safe_narrow(const CORBA::TypeInfo *info) const
-{
- if (&_class_info == info)
- return (void *) this;
- void *ret = NULL;
- return ret;
-}
-ttcp_sequence *ttcp_sequence::_narrow(const CORBA::Object *obj)
-{
- void *ptr = obj->_safe_narrow(&_class_info);
- return (ttcp_sequence *) ptr;
-}
-ttcp_sequence *ttcp_sequence::_bind(CORBA::Environment &_env, const char *_object_name,
- const char *_host_name, const CORBA::BindOptions *opt)
-{
- _env.clear_exception();
- ttcp_sequence *_impl;
- CORBA::Object *_obj = _implementation("ttcp_sequence", _object_name);
- if (!_obj) {
- _impl = new ttcp_sequence(_object_name);
-#if defined(_MSC_BUG)
- _impl->Object::_bind("ttcp_sequence", _env, _object_name, _host_name, opt);
-#else
- _impl->CORBA::Object::_bind("ttcp_sequence", _env, _object_name, _host_name, opt);
-#endif
- if (_env.check_exception()) {
- delete _impl;
- return NULL;
- }
- }
- else
- _impl = ttcp_sequence::_narrow(_obj);
- return _impl;
-}
-
-#if !defined(_IMPLEMENT_SEQUENCE_CORBA__Char_ttcp_sequence__) && defined(_DECLARE_SEQUENCE_CORBA__Char_ttcp_sequence___ttcp_idl)
-#define _IMPLEMENT_SEQUENCE_CORBA__Char_ttcp_sequence__
-IMPLEMENT_PRIMITIVE_SEQUENCE(CORBA__Char,CORBA::Char,ttcp_sequence::)
-#endif
-
-
-
-
-
-void ttcp_sequence::send(const ttcp_sequence::my_sequence& ttcp_rec, CORBA::Environment& _env)
-{
- _env.clear_exception();
- if (_is_local()) {
- send(ttcp_rec);
- return;
- }
- CORBA::MarshalStream *_strm = _create_oneway_request(
- "ttcp_sequence", _ttcp_sequence_M_send,_env);
- if (_env.check_exception())
- return;
- _strm->putSequence(ttcp_rec, CORBA::MarshalStream::ARG_IN);
- _send_oneway(_env);
- if (_env.check_exception()) {
- if (CORBA::StExcep::TRANSIENT::_cast(_env.exception_value()) != NULL)
- send(ttcp_rec, _env);
- return;
- }
- _strm->flush(_env);
- return;
-}
-
-
-
-
-void ttcp_sequence::send_hack(const CORBA::String& ttcp_string, CORBA::Environment& _env)
-{
- _env.clear_exception();
- if (_is_local()) {
- send_hack(ttcp_string);
- return;
- }
- CORBA::MarshalStream *_strm = _create_oneway_request(
- "ttcp_sequence", _ttcp_sequence_M_send_hack,_env);
- if (_env.check_exception())
- return;
- _strm->putString(ttcp_string, CORBA::MarshalStream::ARG_IN);
- _send_oneway(_env);
- if (_env.check_exception()) {
- if (CORBA::StExcep::TRANSIENT::_cast(_env.exception_value()) != NULL)
- send_hack(ttcp_string, _env);
- return;
- }
- _strm->flush(_env);
- return;
-}
-
-
-
-
-void ttcp_sequence::start_timer(CORBA::Environment& _env)
-{
- _env.clear_exception();
- if (_is_local()) {
- start_timer();
- return;
- }
- CORBA::MarshalStream *_strm = _create_oneway_request(
- "ttcp_sequence", _ttcp_sequence_M_start_timer,_env);
- if (_env.check_exception())
- return;
- _send_oneway(_env);
- if (_env.check_exception()) {
- if (CORBA::StExcep::TRANSIENT::_cast(_env.exception_value()) != NULL)
- start_timer(_env);
- return;
- }
- _strm->flush(_env);
- return;
-}
-
-
-
-
-void ttcp_sequence::stop_timer(CORBA::Environment& _env)
-{
- _env.clear_exception();
- if (_is_local()) {
- stop_timer();
- return;
- }
- CORBA::MarshalStream *_strm = _create_oneway_request(
- "ttcp_sequence", _ttcp_sequence_M_stop_timer,_env);
- if (_env.check_exception())
- return;
- _send_oneway(_env);
- if (_env.check_exception()) {
- if (CORBA::StExcep::TRANSIENT::_cast(_env.exception_value()) != NULL)
- stop_timer(_env);
- return;
- }
- _strm->flush(_env);
- return;
-}
-
-const CORBA::TypeInfo ttcp_string::_class_info("ttcp_string",
- &ttcp_string::_reader,
- CORBA::Object::_desc(),
- 0);
-const CORBA::TypeInfo *ttcp_string::_desc()
-{
- return &_class_info;
-}
-const CORBA::TypeInfo *ttcp_string::_type_info() const
-{
- return &_class_info;
-}
-void *ttcp_string::_safe_narrow(const CORBA::TypeInfo *info) const
-{
- if (&_class_info == info)
- return (void *) this;
- void *ret = NULL;
- return ret;
-}
-ttcp_string *ttcp_string::_narrow(const CORBA::Object *obj)
-{
- void *ptr = obj->_safe_narrow(&_class_info);
- return (ttcp_string *) ptr;
-}
-ttcp_string *ttcp_string::_bind(CORBA::Environment &_env, const char *_object_name,
- const char *_host_name, const CORBA::BindOptions *opt)
-{
- _env.clear_exception();
- ttcp_string *_impl;
- CORBA::Object *_obj = _implementation("ttcp_string", _object_name);
- if (!_obj) {
- _impl = new ttcp_string(_object_name);
-#if defined(_MSC_BUG)
- _impl->Object::_bind("ttcp_string", _env, _object_name, _host_name, opt);
-#else
- _impl->CORBA::Object::_bind("ttcp_string", _env, _object_name, _host_name, opt);
-#endif
- if (_env.check_exception()) {
- delete _impl;
- return NULL;
- }
- }
- else
- _impl = ttcp_string::_narrow(_obj);
- return _impl;
-}
-
-
-
-void ttcp_string::send(const CORBA::String& ttcp_string, CORBA::Environment& _env)
-{
- _env.clear_exception();
- if (_is_local()) {
- send(ttcp_string);
- return;
- }
- CORBA::MarshalStream *_strm = _create_oneway_request(
- "ttcp_string", _ttcp_string_M_send,_env);
- if (_env.check_exception())
- return;
- _strm->putString(ttcp_string, CORBA::MarshalStream::ARG_IN);
- _send_oneway(_env);
- if (_env.check_exception()) {
- if (CORBA::StExcep::TRANSIENT::_cast(_env.exception_value()) != NULL)
- send(ttcp_string, _env);
- return;
- }
- _strm->flush(_env);
- return;
-}
-
-
-
-
-void ttcp_string::send_hack(const CORBA::String& ttcp_string, CORBA::Environment& _env)
-{
- _env.clear_exception();
- if (_is_local()) {
- send_hack(ttcp_string);
- return;
- }
- CORBA::MarshalStream *_strm = _create_oneway_request(
- "ttcp_string", _ttcp_string_M_send_hack,_env);
- if (_env.check_exception())
- return;
- _strm->putString(ttcp_string, CORBA::MarshalStream::ARG_IN);
- _send_oneway(_env);
- if (_env.check_exception()) {
- if (CORBA::StExcep::TRANSIENT::_cast(_env.exception_value()) != NULL)
- send_hack(ttcp_string, _env);
- return;
- }
- _strm->flush(_env);
- return;
-}
-
-
-
-
-void ttcp_string::start_timer(CORBA::Environment& _env)
-{
- _env.clear_exception();
- if (_is_local()) {
- start_timer();
- return;
- }
- CORBA::MarshalStream *_strm = _create_oneway_request(
- "ttcp_string", _ttcp_string_M_start_timer,_env);
- if (_env.check_exception())
- return;
- _send_oneway(_env);
- if (_env.check_exception()) {
- if (CORBA::StExcep::TRANSIENT::_cast(_env.exception_value()) != NULL)
- start_timer(_env);
- return;
- }
- _strm->flush(_env);
- return;
-}
-
-
-
-
-void ttcp_string::stop_timer(CORBA::Environment& _env)
-{
- _env.clear_exception();
- if (_is_local()) {
- stop_timer();
- return;
- }
- CORBA::MarshalStream *_strm = _create_oneway_request(
- "ttcp_string", _ttcp_string_M_stop_timer,_env);
- if (_env.check_exception())
- return;
- _send_oneway(_env);
- if (_env.check_exception()) {
- if (CORBA::StExcep::TRANSIENT::_cast(_env.exception_value()) != NULL)
- stop_timer(_env);
- return;
- }
- _strm->flush(_env);
- return;
-}
-
-
diff --git a/performance-tests/TTCP/ORBeline/ttcp_c.hh b/performance-tests/TTCP/ORBeline/ttcp_c.hh
deleted file mode 100644
index b8eaca3f9a8..00000000000
--- a/performance-tests/TTCP/ORBeline/ttcp_c.hh
+++ /dev/null
@@ -1,181 +0,0 @@
-#ifndef _ttcp_c_hh
-#define _ttcp_c_hh
-
-/* This file is automatically generated by Orbeline. */
-/* Do not modify this file. */
-/* Orbeline (c) is copyrighted by PostModern Computing, Inc. */
-
-#include <corba.h>
-#include <arrmac.h>
-#include <seqmac.h>
-
-
-
-class ttcp_sequence: public virtual CORBA::Object
-{
- private:
- static const CORBA::TypeInfo _class_info;
- public:
- static const CORBA::TypeInfo *_desc();
- virtual const CORBA::TypeInfo *_type_info() const;
- virtual void *_safe_narrow(const CORBA::TypeInfo *) const;
- static CORBA::Object *_reader(NCistream& strm) {
- return new ttcp_sequence(strm);
- }
- protected:
-#if defined(_MSC_BUG)
- ttcp_sequence(const char *obj_name = NULL) :Object(obj_name) {}
- ttcp_sequence(NCistream& strm) :Object(strm) {}
-#else
- ttcp_sequence(const char *obj_name = NULL) :CORBA::Object(obj_name) {}
- ttcp_sequence(NCistream& strm) :CORBA::Object(strm) {}
-#endif
- virtual ~ttcp_sequence() {}
- public:
- enum _ttcp_sequence_Methods {
- _ttcp_sequence_M_send = 0,
- _ttcp_sequence_M_send_hack,
- _ttcp_sequence_M_start_timer,
- _ttcp_sequence_M_stop_timer
- };
- static ttcp_sequence *_narrow(const CORBA::Object *obj);
- static ttcp_sequence *_bind(CORBA::Environment &_env, const char *object_name = NULL,
- const char *host_name = NULL, const CORBA::BindOptions* opt = NULL);
- static ttcp_sequence *_bind(const char *object_name = NULL,
- const char *host_name = NULL, const CORBA::BindOptions* opt = NULL) {
- CORBA::Environment env;
- return _bind(env, object_name, host_name, opt);
- }
- virtual const char *_interface_name() const { return "ttcp_sequence"; }
-
-#ifndef _DECLARE_SEQUENCE_CORBA__Char_ttcp_sequence__
-#define _DECLARE_SEQUENCE_CORBA__Char_ttcp_sequence__
-#define _DECLARE_SEQUENCE_CORBA__Char_ttcp_sequence___ttcp_idl
-DECLARE_PRIMITIVE_SEQUENCE(CORBA__Char,CORBA::Char);
-#endif
-
- typedef ttcp_sequence::IDLSequence(CORBA__Char) my_sequence;
-
-
-
-
- void send(const ttcp_sequence::my_sequence& ttcp_rec, CORBA::Environment& _env);
-
- virtual void send(const ttcp_sequence::my_sequence& ttcp_rec) {
- send(ttcp_rec, _environment());
- }
-
-
-
-
- void send_hack(const CORBA::String& ttcp_string, CORBA::Environment& _env);
-
- virtual void send_hack(const CORBA::String& ttcp_string) {
- send_hack(ttcp_string, _environment());
- }
-
-
-
-
- void start_timer(CORBA::Environment& _env);
-
- virtual void start_timer() {
- start_timer(_environment());
- }
-
-
-
-
- void stop_timer(CORBA::Environment& _env);
-
- virtual void stop_timer() {
- stop_timer(_environment());
- }
-
-
-};
-typedef ttcp_sequence* ttcp_sequenceRef;
-
-
-
-
-class ttcp_string: public virtual CORBA::Object
-{
- private:
- static const CORBA::TypeInfo _class_info;
- public:
- static const CORBA::TypeInfo *_desc();
- virtual const CORBA::TypeInfo *_type_info() const;
- virtual void *_safe_narrow(const CORBA::TypeInfo *) const;
- static CORBA::Object *_reader(NCistream& strm) {
- return new ttcp_string(strm);
- }
- protected:
-#if defined(_MSC_BUG)
- ttcp_string(const char *obj_name = NULL) :Object(obj_name) {}
- ttcp_string(NCistream& strm) :Object(strm) {}
-#else
- ttcp_string(const char *obj_name = NULL) :CORBA::Object(obj_name) {}
- ttcp_string(NCistream& strm) :CORBA::Object(strm) {}
-#endif
- virtual ~ttcp_string() {}
- public:
- enum _ttcp_string_Methods {
- _ttcp_string_M_send = 0,
- _ttcp_string_M_send_hack,
- _ttcp_string_M_start_timer,
- _ttcp_string_M_stop_timer
- };
- static ttcp_string *_narrow(const CORBA::Object *obj);
- static ttcp_string *_bind(CORBA::Environment &_env, const char *object_name = NULL,
- const char *host_name = NULL, const CORBA::BindOptions* opt = NULL);
- static ttcp_string *_bind(const char *object_name = NULL,
- const char *host_name = NULL, const CORBA::BindOptions* opt = NULL) {
- CORBA::Environment env;
- return _bind(env, object_name, host_name, opt);
- }
- virtual const char *_interface_name() const { return "ttcp_string"; }
-
-
-
- void send(const CORBA::String& ttcp_string, CORBA::Environment& _env);
-
- virtual void send(const CORBA::String& ttcp_string) {
- send(ttcp_string, _environment());
- }
-
-
-
-
- void send_hack(const CORBA::String& ttcp_string, CORBA::Environment& _env);
-
- virtual void send_hack(const CORBA::String& ttcp_string) {
- send_hack(ttcp_string, _environment());
- }
-
-
-
-
- void start_timer(CORBA::Environment& _env);
-
- virtual void start_timer() {
- start_timer(_environment());
- }
-
-
-
-
- void stop_timer(CORBA::Environment& _env);
-
- virtual void stop_timer() {
- stop_timer(_environment());
- }
-
-
-};
-typedef ttcp_string* ttcp_stringRef;
-
-
-
-#endif
-
diff --git a/performance-tests/TTCP/ORBeline/ttcp_i.cpp b/performance-tests/TTCP/ORBeline/ttcp_i.cpp
deleted file mode 100644
index 4a089a8bc09..00000000000
--- a/performance-tests/TTCP/ORBeline/ttcp_i.cpp
+++ /dev/null
@@ -1,1028 +0,0 @@
-/*
-// $Id$
-
- * T T C P . C
- *
- */
-#ifndef lint
-static char RCSid[] = "ttcp.c $Revision$";
-#endif
-
-/* #define BSD43 */
-/* #define BSD42 */
-/* #define BSD41a */
-#define SYSV /* required on SGI IRIX releases before 3.3 */
-
-#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>
-
-#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>
-struct rusage
- {
- struct timeval ru_utime, ru_stime;
- };
-#define RUSAGE_SELF 0
-
-#else
-#include <sys/resource.h>
-#endif
-
-void err (char *s);
-void mes (char *s);
-void pattern (register char *cp, register int cnt);
-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);
-static void SD_Ready (int io_descriptor);
-void set_sock_desc(int starter);
-void stop_timer (unsigned long numbytes);
-
-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)*/
-int SEQUENCE=0; /* String parameter is the 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;
-extern int errno;
-extern int optind;
-extern char *optarg;
-char *title = 0;
-
-char stats[128];
-unsigned long nbytes; /* bytes on net */
-unsigned long numCalls; /* # of I/O system calls */
-double cput, realt; /* user, real time (seconds) */
-
-// AAAAHHHHHHH what's this!!! C++ in the middle of C code???????!!!!!!
-
-
-#include <iostream.h>
-#include "ttcp_i.h"
-
-char *orb_host;
-
-// ttcp_i is the server side
-
-
-// ----------------------------------------- start hack
-// hack to get the sock desc ehab
-
-void
-set_sock_desc(int starter)
-{
- // 14 is just a guess...
- for (int i = starter; i < 14; i++)
- {
- sockaddr_in addr;
- int addrlen = sizeof addr;
- if (getpeername (i, (sockaddr *) &addr, &addrlen) < 0)
- continue;
-
- printf ("socket descriptor %d connected to %s on port %d\n",
- i, inet_ntoa (addr.sin_addr), ntohs (addr.sin_port));
- SD_Ready (i);
- }
-}
-
-// hack to get the socket descriptor in the server side
-
-// I dublicated the functions. However, the ideal way is to creat a base
-// class that will be inhereted from both ttcp_sequence and ttcp_string.
-// BTW, I could not get '#ifdef' to work over here !
-void
-ttcp_sequence_i::send_hack (const CORBA::String& ttcp_string)
-{
- set_sock_desc(1);
-}
-
-void
-ttcp_string_i::send_hack (const CORBA::String& ttcp_string)
-{
- set_sock_desc(1);
-}
-
-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);
-
- if (setsockopt (io_descriptor, SOL_SOCKET, SO_SNDBUF, (char *) &sockbufsize,
- sizeof sockbufsize) < 0)
- perror ("setsockopt: sndbuf"), exit (1);
- }
-
- int sndbufsize = 0, rcvbufsize = 0;
- int buflen = sizeof (int);
- if (getsockopt (io_descriptor, SOL_SOCKET, SO_SNDBUF, (char *) &sndbufsize, &buflen) < 0)
- err ("getsockopt: sndbuf");
- if (getsockopt (io_descriptor, SOL_SOCKET, SO_RCVBUF, (char *) &rcvbufsize, &buflen) < 0)
- err ("getsockopt: rcvbuf");
- char buf[BUFSIZ];
- sprintf (buf, "descriptor %d, sndbuf = %d, rcvbuf = %d\n",
- io_descriptor, sndbufsize, rcvbufsize);
- mes (buf);
-
- if (nodelay)
- {
- struct protoent *p;
- p = getprotobyname ("tcp");
- if (setsockopt (io_descriptor,
- p->p_proto,
- TCP_NODELAY,
- (char *)& one,
- sizeof (one)))
- mes ("setsockopt: nodelay");
- mes ("nodelay");
- }
-}
-
-// ----------------------------------------- end hack
-
-
-// ttcp_i is the server side
-
-ttcp_sequence_i::ttcp_sequence_i()
-{
- this->nbytes_ = 0;
- // register a callback so we can futs with the descriptor
- // being used by orbix.
-}
-
-void
-ttcp_sequence_i::start_timer ()
-{
- this->nbytes_ = 0;
- prep_timer ();
-}
-
-void
-ttcp_sequence_i::stop_timer ()
-{
- stop_timer (this->nbytes_);
-}
-
-void
-ttcp_sequence_i::send(const ttcp_sequence::my_sequence& ttcp_seq)
-{
- this->nbytes_ += ttcp_seq.length();
-}
-
-ttcp_string_i::ttcp_string_i()
-{
- this->nbytes_ = 0;
- // register a callback so we can futs with the descriptor
- // being used by orbix.
-}
-
-void
-ttcp_string_i::start_timer ()
-{
- prep_timer ();
-}
-
-
-void
-ttcp_string_i::stop_timer ()
-{
- stop_timer (this->nbytes_);
-}
-
-void
-ttcp_string_i::send(const CORBA::String& ttcp_string)
-{
- this->nbytes_ += strlen (ttcp_string);
-}
-
-// common to sequence and string
-void
-stop_timer (unsigned long numbytes)
-{
- (void) read_timer (stats, sizeof (stats));
-
- if (cput <= 0.0)
- cput = 0.001;
- if (realt <= 0.0)
- realt = 0.001;
- fprintf (stdout,
- "ttcp%s%s: %ld bytes in %.2f real seconds = %s/sec +++\n",
- trans ? "-t" : "-r", SEQUENCE ? "(Seq)" : "(Str)",
- numbytes, realt, outfmt (((double) numbytes) / realt));
-
-
- if (verbose)
- {
- fprintf (stdout,
- "ttcp%s%s: %ld bytes in %.2f CPU seconds = %s/cpu sec\n",
- trans ? "-t" : "-r",SEQUENCE ? "(Seq)" : "(Str)",
- numbytes, cput, outfmt (((double) numbytes) / cput));
- }
- fprintf (stdout,
- "ttcp%s%s: %d I/O calls, msec/call = %.2f, calls/sec = %.2f\n",
- trans ? "-t" : "-r",SEQUENCE ? "(Seq)" : "(Str)",
- numCalls,
- 1024.0 * realt / ((double) numCalls),
- ((double) numCalls) / realt);
- fprintf (stdout, "ttcp%s%s: %s\n", trans ? "-t" : "-r",SEQUENCE ? "(Seq)" : "(Str)", stats);
- if (verbose)
- {
- fprintf (stdout,
- "ttcp%s: buffer address %#x\n",
- trans ? "-t" : "-r",
- buf);
- }
-numbytes = 0;
-
- // you shoudl exit here when you use -p (profiler) so the server will
- // produce mon.out
-#ifdef PROFILE
- exit(1);
-#endif
-} // end of stop_timer
-
-
-char Usage[] = "\
-Usage: ttcp -t [-options] host [ < in ]\n\
- ttcp -r [-options > out]\n\
-Common options:\n\
- -l ## length of bufs read from or written to network (default 8192)\n\
- -u use UDP instead of TCP\n\
- -U use UNIX domain sockets instead of Internet domain sockets\n\
- -p ## port number to send to or listen at (default 5001)\n\
- -s -t: source a pattern to network\n\
- -r: sink (discard) all data from network\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\
-Options specific to -t:\n\
- -n## number of source bufs written to network (default 2048)\n\
- -D don't buffer TCP writes (sets TCP_NODELAY socket option)\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\
- -L<test_title> the title of the current test\n\
- -F don't write to a file (writting in a file dat.out is default)\n\
- -q run the test using sequence parameter (string is defualt) \n\
-";
-
-#if !defined (__cplusplus)
-typedef void (*SIG_TYP)();
-#endif
-
-#ifdef SVR4
-void
-sigpipe (int foo)
-#else
-void
-sigpipe ()
-#endif
-{
-}
-
-int
-main (int argc, char *argv[])
-{
-
- unsigned long addr_tmp;
- int c;
-
- if (argc < 2)
- goto usage;
-
- while ((c = ACE_OS::getopt (argc, argv, "qFdrstU:uvBDTb:L:f:l:n:p:A:O:h:x")) != -1)
- {
- switch (c)
- {
- case 'L':
- title = optarg;
- fprintf(stdout,"---->title=%s\n",title);
- break;
- case 'x':
- new_line = 1;
- break;
- case 'q':
- SEQUENCE = 1;
- break;
- case 'F':
- write_to_file = 0;
- break;
- case 'h':
- orb_host = optarg;
- break;
- case 'B':
- b_flag = 1;
- break;
- case 't':
- trans = 1;
- break;
- case 'r':
- trans = 0;
- 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 's':
- sinkmode = !sinkmode;
- break;
- case 'p':
- port = atoi (optarg);
- break;
- case 'U':
- domain = PF_UNIX;
- domainname = optarg;
- break;
- case 'u':
- udp = 1;
- 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 'T':
- touchdata = 1;
- break;
-
- default:
- goto usage;
- }
- }
-
- //
- // Receiver
- //
-
- if (!trans)
- {
-
- // Sequence and String Interfaces
- // instantiate ONLY one object at a time, so no dispatching overhead is counted
- char *interface_name = new char[15];
- if (SEQUENCE)
- {
- printf("I am here\n");
- ttcp_sequence *my_ttcp = new ttcp_sequence_i;
- strcpy(interface_name,"ttcp_sequence");
- }
- else
- {
- ttcp_string *my_ttcp_s = new ttcp_string_i;
- strcpy(interface_name,"ttcp_string");
- }
-
- // tell ORBeline that we have completed the server's initialization:
- CORBA::BOA::impl_is_ready();
-
- cout << "server exiting" << endl;
- return 42;
- }
-
- //
- // Transmitter
- //
-
- CORBA::Environment env;
- ttcp_sequence *ttcp_seq;
- ttcp_string *ttcp_str;
-
- if (SEQUENCE)
- {
- if ( (ttcp_seq = ttcp_sequence::_bind(0,::orb_host,0)) == 0)
- {
- cerr << "\n ttcp_i: Failed to _bind to " << orb_host << endl;
- exit(-1);
- }
- }
- else // string parameter used
- if ( (ttcp_str = ttcp_string::_bind (0,::orb_host,0))== 0)
- {
- cerr << "\n ttcp_i: Failed to _bind to " << orb_host << endl;
- exit(-1);
- }
-
- // hack to get the socket descriptor in the server side after sending this msg
- if (SEQUENCE)
- ttcp_seq->send_hack("hack");
- else
- ttcp_str->send_hack("hack");
-
- // hack to get the socket descriptor in the client side:
-
- set_sock_desc(1); // replace "ttcp_->_fd" in the following with sockdesc
-
- //
- // Prepare the Message to be sent
- //
-
- errno = 0;
- if (sinkmode)
- {
- if ((buf = (char *) malloc (buflen + bufalign)) == (char *) NULL)
- err ("malloc");
- if (bufalign != 0)
- buf += (bufalign - ((int) buf % bufalign) + bufoffset) % bufalign;
-
- // ttcp_sequence::my_sequence sequence_message; ORBIX
- ttcp_sequence::my_sequence message (buflen + 1);
- ::buf[::buflen-1] = '\0';
- if (SEQUENCE)
- {
- message._num_allocated = buflen;
- message._count = buflen;
- message._contents = buf;
- }
-
-
- pattern (buf, buflen);
- //
- // Start the timers on the client and server sides
- //
-
- prep_timer ();
-
- if (SEQUENCE)
- ttcp_seq->start_timer ();
- else
- ttcp_str->start_timer ();
- while (nbuf--)
- {
- if (SEQUENCE)
- ttcp_seq->send (message);
- else
- ttcp_str->send (buf);
-
- numCalls++;
- nbytes += buflen;
- }
-
- }
- else
- {
- register int cnt;
- while ((cnt = read (0, buf, buflen)) > 0 &&
- Nwrite (fd, buf, cnt) == cnt)
- nbytes += cnt;
- }
-
- if (errno)
- err ("IO");
-
-
- //
- // Stop the timers on both sides
- //
-
-
- if (SEQUENCE)
- ttcp_seq->stop_timer();
- else
- ttcp_str->stop_timer();
-
-
- (void) read_timer (stats, sizeof (stats));
-
-
- //
- // Print the results.
- //
-
- if (cput <= 0.0)
- cput = 0.001;
- if (realt <= 0.0)
- realt = 0.001;
-
- if (write_to_file)
- {
- if (title != 0)
- {
- double tmp;
- FILE *fd;
- char filename[BUFSIZ];
- ACE_OS::sprintf (filename, "%s.results", title);
- fd = fopen(filename,"a+");
- if (new_line)
- fprintf(fd,"\n -l %ldk \t", buflen/1024);
- tmp = ((double) nbytes) / realt;
- fprintf(fd,"%.2f ", tmp * 8.0 / 1024.0 / 1024.0);
- fclose(fd);
- }
- }
-
- fprintf (stdout,
- "\nttcp%s%s: %ld bytes in %.2f real seconds = %s/sec +++\n",
- trans ? "-t" : "-r", SEQUENCE ? "(Seq)" : "(Str)",
- nbytes, realt, outfmt (((double) nbytes) / realt));
-
- if (verbose)
- {
- fprintf (stdout,
- "ttcp%s%s: %ld bytes in %.2f CPU seconds = %s/cpu sec\n",
- trans ? "-t" : "-r", SEQUENCE ? "(Seq)" : "(Str)",
- nbytes, cput, outfmt (((double) nbytes) / cput));
- }
- fprintf (stdout,
- "ttcp%s%s: %d I/O calls, msec/call = %.2f, calls/sec = %.2f\n",
- trans ? "-t" : "-r", SEQUENCE ? "(Seq)" : "(Str)",
- numCalls,
- 1024.0 * realt / ((double) numCalls),
- ((double) numCalls) / realt);
- fprintf (stdout, "ttcp%s%s: %s\n",trans ? "-t" : "-r", SEQUENCE ? "(Seq)" : "(Str)", stats);
- if (verbose)
- {
- fprintf (stdout,
- "ttcp%s: buffer address %#x\n",
- trans ? "-t" : "-r",
- buf);
- }
- exit (0);
-
- usage:
- fprintf (stderr, Usage);
- 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: %s\n", trans ? "-t" : "-r",SEQUENCE ? "(Seq)" : "(Str)", s);
-// fprintf (stderr, "ttcp%s: %s\n", trans ? "-t" : "-r", s);
-}
-
-void
-pattern (register char *cp, register int cnt)
-{
- register char c;
- c = 0;
- while (cnt-- > 0)
- {
- while (!isprint ((c & 0x7F)))
- c++;
- *cp++ = (c++ & 0x7F);
- }
-}
-
-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);
-}
diff --git a/performance-tests/TTCP/ORBeline/ttcp_i.h b/performance-tests/TTCP/ORBeline/ttcp_i.h
deleted file mode 100644
index b7a82a1b84a..00000000000
--- a/performance-tests/TTCP/ORBeline/ttcp_i.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-
-// ttcp_i.C
-// implementation of the ttcp and Profile_Logger objects.
-
-#if !defined (TTCP_I_H)
-#define TTCP_I_H
-
-// This is a total hack...
-#define private public
-#include "ttcp_s.hh"
-#include "ttcp_c.hh"
-
-class ttcp_string_i : public ttcp_string_impl {
-public:
-
- ttcp_string_i();
-
- virtual void send(const CORBA::String& ttcp_string);
- virtual void send_hack(const CORBA::String& ttcp_string);
- virtual void start_timer();
- virtual void stop_timer();
-
-private:
- unsigned long nbytes_;
-};
-
-class ttcp_sequence_i : public ttcp_sequence_impl {
-public:
-
- ttcp_sequence_i();
-
- virtual void send(const ttcp_sequence::my_sequence& ttcp_seq);
- virtual void send_hack(const CORBA::String& ttcp_string);
- virtual void start_timer();
- virtual void stop_timer();
-
-private:
- unsigned long nbytes_;
-};
-
-
-#endif
diff --git a/performance-tests/TTCP/ORBeline/ttcp_s.cc b/performance-tests/TTCP/ORBeline/ttcp_s.cc
deleted file mode 100644
index 514ff8a5d26..00000000000
--- a/performance-tests/TTCP/ORBeline/ttcp_s.cc
+++ /dev/null
@@ -1,168 +0,0 @@
-/* This file is automatically generated by Orbeline. */
-/* Do not modify this file. */
-/* Orbeline (c) is copyrighted by PostModern Computing, Inc. */
-
-#include <ttcp_s.hh>
-
-
-
-static CORBA::_PMCSkelFunc _ttcp_sequence_func_array[] = {
- &ttcp_sequence_impl::_send,
- &ttcp_sequence_impl::_send_hack,
- &ttcp_sequence_impl::_start_timer,
- &ttcp_sequence_impl::_stop_timer,
- 0
- };
-ttcp_sequence_impl::ttcp_sequence_impl(const char *object_name) :
- ttcp_sequence(object_name)
-{
- _object_name(object_name);
- CORBA::Environment _env;
- _register_implementation("ttcp_sequence", 4, _ttcp_sequence_func_array, (void *) this, _env);
-}
-ttcp_sequence_impl::~ttcp_sequence_impl()
-{
- CORBA::Environment _env;
- _unregister_implementation("ttcp_sequence", (void *) this, _env);
-}
-
-
-void ttcp_sequence_impl::_send(void *obj, CORBA::MarshalStream &strm,
- CORBA::Environment& _env, CORBA::Principal *principal) {
- ttcp_sequence_impl *_impl = (ttcp_sequence_impl *) obj;
- _env.clear_exception();
- ttcp_sequence::my_sequence ttcp_rec;
- strm.getSequence(ttcp_rec, CORBA::MarshalStream::ARG_IN);
- strm.flush(_env);
- if (_env.check_exception())
- return;
- _impl->_principal(principal);
- _impl->send(ttcp_rec);
- strm.putEnvironment(_env);
- _impl->_principal((CORBA::Principal *) NULL);
-}
-
-
-void ttcp_sequence_impl::_send_hack(void *obj, CORBA::MarshalStream &strm,
- CORBA::Environment& _env, CORBA::Principal *principal) {
- ttcp_sequence_impl *_impl = (ttcp_sequence_impl *) obj;
- _env.clear_exception();
- CORBA::String ttcp_string;
- strm.getString(ttcp_string, CORBA::MarshalStream::ARG_IN);
- strm.flush(_env);
- if (_env.check_exception())
- return;
- _impl->_principal(principal);
- _impl->send_hack(ttcp_string);
- strm.putEnvironment(_env);
- _impl->_principal((CORBA::Principal *) NULL);
-}
-
-
-void ttcp_sequence_impl::_start_timer(void *obj, CORBA::MarshalStream &strm,
- CORBA::Environment& _env, CORBA::Principal *principal) {
- ttcp_sequence_impl *_impl = (ttcp_sequence_impl *) obj;
- _env.clear_exception();
- strm.flush(_env);
- if (_env.check_exception())
- return;
- _impl->_principal(principal);
- _impl->start_timer();
- strm.putEnvironment(_env);
- _impl->_principal((CORBA::Principal *) NULL);
-}
-
-
-void ttcp_sequence_impl::_stop_timer(void *obj, CORBA::MarshalStream &strm,
- CORBA::Environment& _env, CORBA::Principal *principal) {
- ttcp_sequence_impl *_impl = (ttcp_sequence_impl *) obj;
- _env.clear_exception();
- strm.flush(_env);
- if (_env.check_exception())
- return;
- _impl->_principal(principal);
- _impl->stop_timer();
- strm.putEnvironment(_env);
- _impl->_principal((CORBA::Principal *) NULL);
-}
-
-static CORBA::_PMCSkelFunc _ttcp_string_func_array[] = {
- &ttcp_string_impl::_send,
- &ttcp_string_impl::_send_hack,
- &ttcp_string_impl::_start_timer,
- &ttcp_string_impl::_stop_timer,
- 0
- };
-ttcp_string_impl::ttcp_string_impl(const char *object_name) :
- ttcp_string(object_name)
-{
- _object_name(object_name);
- CORBA::Environment _env;
- _register_implementation("ttcp_string", 4, _ttcp_string_func_array, (void *) this, _env);
-}
-ttcp_string_impl::~ttcp_string_impl()
-{
- CORBA::Environment _env;
- _unregister_implementation("ttcp_string", (void *) this, _env);
-}
-
-void ttcp_string_impl::_send(void *obj, CORBA::MarshalStream &strm,
- CORBA::Environment& _env, CORBA::Principal *principal) {
- ttcp_string_impl *_impl = (ttcp_string_impl *) obj;
- _env.clear_exception();
- CORBA::String ttcp_string;
- strm.getString(ttcp_string, CORBA::MarshalStream::ARG_IN);
- strm.flush(_env);
- if (_env.check_exception())
- return;
- _impl->_principal(principal);
- _impl->send(ttcp_string);
- strm.putEnvironment(_env);
- _impl->_principal((CORBA::Principal *) NULL);
-}
-
-
-void ttcp_string_impl::_send_hack(void *obj, CORBA::MarshalStream &strm,
- CORBA::Environment& _env, CORBA::Principal *principal) {
- ttcp_string_impl *_impl = (ttcp_string_impl *) obj;
- _env.clear_exception();
- CORBA::String ttcp_string;
- strm.getString(ttcp_string, CORBA::MarshalStream::ARG_IN);
- strm.flush(_env);
- if (_env.check_exception())
- return;
- _impl->_principal(principal);
- _impl->send_hack(ttcp_string);
- strm.putEnvironment(_env);
- _impl->_principal((CORBA::Principal *) NULL);
-}
-
-
-void ttcp_string_impl::_start_timer(void *obj, CORBA::MarshalStream &strm,
- CORBA::Environment& _env, CORBA::Principal *principal) {
- ttcp_string_impl *_impl = (ttcp_string_impl *) obj;
- _env.clear_exception();
- strm.flush(_env);
- if (_env.check_exception())
- return;
- _impl->_principal(principal);
- _impl->start_timer();
- strm.putEnvironment(_env);
- _impl->_principal((CORBA::Principal *) NULL);
-}
-
-
-void ttcp_string_impl::_stop_timer(void *obj, CORBA::MarshalStream &strm,
- CORBA::Environment& _env, CORBA::Principal *principal) {
- ttcp_string_impl *_impl = (ttcp_string_impl *) obj;
- _env.clear_exception();
- strm.flush(_env);
- if (_env.check_exception())
- return;
- _impl->_principal(principal);
- _impl->stop_timer();
- strm.putEnvironment(_env);
- _impl->_principal((CORBA::Principal *) NULL);
-}
-
-
diff --git a/performance-tests/TTCP/ORBeline/ttcp_s.hh b/performance-tests/TTCP/ORBeline/ttcp_s.hh
deleted file mode 100644
index 645981eec22..00000000000
--- a/performance-tests/TTCP/ORBeline/ttcp_s.hh
+++ /dev/null
@@ -1,89 +0,0 @@
-#ifndef _ttcp_s_hh
-#define _ttcp_s_hh
-
-#include <ttcp_c.hh>
-#include <corba.h>
-
-/* This file is automatically generated by Orbeline. */
-/* Do not modify this file. */
-/* Orbeline (c) is copyrighted by PostModern Computing, Inc. */
-
-class ttcp_sequence_impl: public virtual ttcp_sequence
-{
- protected:
- ttcp_sequence_impl(const char *object_name = NULL);
- virtual ~ttcp_sequence_impl();
- public:
- virtual const CORBA::TypeInfo *_type_info() const {
- return ttcp_sequence::_type_info();
- }
- virtual void *_safe_narrow(const CORBA::TypeInfo *inf) const {
- return ttcp_sequence::_safe_narrow(inf);
- }
- virtual const char *_interface_name() const {
- return ttcp_sequence::_interface_name();
- }
- virtual CORBA::Boolean _is_local() const { return 1; }
-
- /* The following operations need to be implemented by the server. */
- virtual void send(const ttcp_sequence::my_sequence& ttcp_rec) = 0;
- virtual void send_hack(const CORBA::String& ttcp_string) = 0;
- virtual void start_timer() = 0;
- virtual void stop_timer() = 0;
-
- /* The following operations are implemented automatically. */
-
- static void _send(void *obj, CORBA::MarshalStream &strm,
- CORBA::Environment& _env, CORBA::Principal *principal);
-
- static void _send_hack(void *obj, CORBA::MarshalStream &strm,
- CORBA::Environment& _env, CORBA::Principal *principal);
-
- static void _start_timer(void *obj, CORBA::MarshalStream &strm,
- CORBA::Environment& _env, CORBA::Principal *principal);
-
- static void _stop_timer(void *obj, CORBA::MarshalStream &strm,
- CORBA::Environment& _env, CORBA::Principal *principal);
-
-};
-class ttcp_string_impl: public virtual ttcp_string
-{
- protected:
- ttcp_string_impl(const char *object_name = NULL);
- virtual ~ttcp_string_impl();
- public:
- virtual const CORBA::TypeInfo *_type_info() const {
- return ttcp_string::_type_info();
- }
- virtual void *_safe_narrow(const CORBA::TypeInfo *inf) const {
- return ttcp_string::_safe_narrow(inf);
- }
- virtual const char *_interface_name() const {
- return ttcp_string::_interface_name();
- }
- virtual CORBA::Boolean _is_local() const { return 1; }
-
- /* The following operations need to be implemented by the server. */
- virtual void send(const CORBA::String& ttcp_string) = 0;
- virtual void send_hack(const CORBA::String& ttcp_string) = 0;
- virtual void start_timer() = 0;
- virtual void stop_timer() = 0;
-
- /* The following operations are implemented automatically. */
-
- static void _send(void *obj, CORBA::MarshalStream &strm,
- CORBA::Environment& _env, CORBA::Principal *principal);
-
- static void _send_hack(void *obj, CORBA::MarshalStream &strm,
- CORBA::Environment& _env, CORBA::Principal *principal);
-
- static void _start_timer(void *obj, CORBA::MarshalStream &strm,
- CORBA::Environment& _env, CORBA::Principal *principal);
-
- static void _stop_timer(void *obj, CORBA::MarshalStream &strm,
- CORBA::Environment& _env, CORBA::Principal *principal);
-
-};
-
-#endif
-
diff --git a/performance-tests/TTCP/Orbix/How_to_run_tests b/performance-tests/TTCP/Orbix/How_to_run_tests
deleted file mode 100644
index 435959f4511..00000000000
--- a/performance-tests/TTCP/Orbix/How_to_run_tests
+++ /dev/null
@@ -1,59 +0,0 @@
-// Orbix
-//
-// sequence AND string
-
-// HOSTNAMES:
-// for our tests, enatm0-tango.cs.wustl.edu was the receiver hostname used for atm transfers
-// tango.cs.wustl.edu was the receiver hostname used for ethernet transfers
-// substitute the proper receiver hostname for your system.
-
-// ORBIX DAEMONS:
-// there must be an orbix daemon running on the receiver host in your system.
-// in our case, we had an orbix daemon running on tango.cs.wustl.edu
-
-// WRAPPER_ROOT:
-// WRAPPER_ROOT can be set to the root directory of ACE so that these lines
-// can be cut and pasted to run tests.
-
-// Results:
-// These examples show the result files being stored in a /results directory off
-// the current path. This can be set to whatever you like.
-
-// ****** sequence ******
-
-// ATM with 64k receiver buffers
-Receiver_Host: putit ttcp_sequence "$WRAPPER_ROOT/apps/TTCP/Orbix/server -q -s -r -fm -b 65536"
-Sender_Host: run_test 64 encip1-tango.cs.wustl.edu ./results/sequence.atm.64 -q
- or: client -D -fm -s -t -l 1048576 -n 100 -h encip1-tango.cs.wustl.edu -L ./results/sequence.atm.64 -q
-
-// ATM with 8k reciever buffers
-Receiver_Host: putit ttcp_sequence "$WRAPPER_ROOT/apps/TTCP/Orbix/server -q -s -r -fm"
-Sender_Host: run_test 64 encip1-tango.cs.wustl.edu ./results/sequence.atm.8 -q
-
-// ETHERNET with 64k receiver buffers
-Receiver_Host: putit ttcp_sequence "$WRAPPER_ROOT/apps/TTCP/Orbix/server -q -s -r -fm -b 65536"
-Sender_Host: run_test 64 tango.cs.wustl.edu ./results/sequence.ethernet.64 -q
-
-// ETHERNET with 8k reciever buffers
-Receiver_Host: putit ttcp_sequence "$WRAPPER_ROOT/apps/TTCP/Orbix/server -q -s -r -fm"
-Sender_Host: run_test 64 tango.cs.wustl.edu ./results/sequence.ethernet.8 -q
-
-// ****** string ******
-
-// ATM with 64k receiver buffers
-Receiver_Host: putit ttcp_string "$WRAPPER_ROOT/apps/TTCP/Orbix/server -s -r -fm -b 65536"
-Sender_Host: run_test 64 encip1-tango.cs.wustl.edu ./results/string.atm.64
- or: client -D -fm -s -t -l 1048576 -n 100 -h encip1-tango.cs.wustl.edu -L ./results/string.atm.64
-
-// ATM with 8k reciever buffers
-Receiver_Host: putit ttcp_string "$WRAPPER_ROOT/apps/TTCP/Orbix/server -s -r -fm"
-Sender_Host: run_test 64 encip1-tango.cs.wustl.edu ./results/string.atm.8
-
-// ETHERNET with 64k receiver buffers
-Receiver_Host: putit ttcp_string "$WRAPPER_ROOT/apps/TTCP/Orbix/server -s -r -fm -b 65536"
-Sender_Host: run_test 64 tango.cs.wustl.edu ./results/string.ethernet.64
-
-// ETHERNET with 8k reciever buffers
-Receiver_Host: putit ttcp_string "$WRAPPER_ROOT/apps/TTCP/Orbix/server -s -r -fm"
-Sender_Host: run_test 64 tango.cs.wustl.edu ./results/string.ethernet.8
-
diff --git a/performance-tests/TTCP/Orbix/Makefile b/performance-tests/TTCP/Orbix/Makefile
deleted file mode 100644
index 3a8c4a9ffd4..00000000000
--- a/performance-tests/TTCP/Orbix/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-include ./orbix_defaults.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 += -DWANT_ORBIX_FDS -DLM_RESULTS
-IDLFLAGS += -c C.cpp -s S.cpp -B
-SERVER_OBJS = ttcpS.o ttcp_i.o
-CLIENT_OBJS = ttcpC.o ttcp_i.o
-
-#QUANTIFY =
-QUANTIFY = quantify -cache-dir=$(IR)/quantify
-
-client: $(CLIENT_OBJS)
- $(QUANTIFY) $(C++) $(C++FLAGS) -o client $(CLIENT_OBJS) -lITclt $(LDFLAGS)
-
-server: $(SERVER_OBJS)
- $(QUANTIFY) $(C++) $(C++FLAGS) -o server $(SERVER_OBJS) -lITsrv $(LDFLAGS)
-
-clean:
- rm -f core *.o *~ client server
-
-realclean:
- rm -f core *.o *~ client server
-
diff --git a/performance-tests/TTCP/Orbix/README b/performance-tests/TTCP/Orbix/README
deleted file mode 100644
index 6fd64c6fdec..00000000000
--- a/performance-tests/TTCP/Orbix/README
+++ /dev/null
@@ -1,13 +0,0 @@
-How to compile.
-
-1. Orbix must be installed.
-2. You must set the following paths in ./orbix_defaults.mk
-ORBIX_BINDIR = /the/path/to/Orbix/bin
-ORBIX_LIBDIR = /the/path/to/Orbix/lib
-ORBIX_INCDIR = /the/path/to/Orbix/include
-
-
-How to run tests.
-1. Orbix must be installed and proper Orbix environment variables
- must be set. (ie. IT_CONFIG_PATH)
-2. Read ./how_to_run_tests
diff --git a/performance-tests/TTCP/Orbix/orbix_defaults.mk b/performance-tests/TTCP/Orbix/orbix_defaults.mk
deleted file mode 100644
index 9a3e83f5fe3..00000000000
--- a/performance-tests/TTCP/Orbix/orbix_defaults.mk
+++ /dev/null
@@ -1,85 +0,0 @@
-
-# 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 = $(ORBIX_ROOT)/bin
-ORBIX_LIBDIR = $(ORBIX_ROOT)/lib
-ORBIX_INCDIR = $(ORBIX_ROOT)/include
-
-C++ = CC
-C++FLAGS = -I$(ORBIX_INCDIR)
-C++SUFFIX = cpp
-
-LDFLAGS = -L$(ORBIX_LIBDIR) -R $(ORBIX_LIBDIR) -lnsl -lsocket
-
-IDL = $(ORBIX_BINDIR)/idl
-
-IDLFLAGS =
-
-
-# ------------------------------------------------------------
-# The following section defines implicit rules for creating
-# *.{client,server}.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
- $(IDL) $(IDLFLAGS) $<
-
diff --git a/performance-tests/TTCP/Orbix/run_test b/performance-tests/TTCP/Orbix/run_test
deleted file mode 100644
index 842be36c4ac..00000000000
--- a/performance-tests/TTCP/Orbix/run_test
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/csh -f
-if ($#argv < 3) then
- echo "Usage: sclt <Max msg size> <destination> <TitleOfThisTest> -q"
- exit 1
-endif
-#
-@ msize=1024
-@ limit= ($argv[1] * 1024)
-#echo $limit
-#echo $msize
-echo "Iteration#" 1 ": client -D -fm -s -t -l" $msize "-h" $2 "-L" $3 $4
-client -D -fm -s -t -l $msize -h $2 -x -L $3 $4
-set flag=0
-while ($msize <= $limit)
- if ($flag == 0) goto label
- echo "Iteration#" 1 ": client -D -fm -s -t -l" $msize "-h" $2 "-x -L" $3 $4
- client -D -fm -s -t -l $msize -h $2 -x -L $3 $4
- label:
- set flag=1
- foreach i (2 3 4 5)
- echo "Iteration#" $i ": client -D -fm -s -t -l" $msize "-h" $2 "-x -L " $3 $4
- client -D -fm -s -t -l $msize -h $2 -L $3 $4
- end
- echo "---------------------------"
- @ msize = ($msize * 2)
-end
-
-echo " "
-echo "Done at:"
-date
diff --git a/performance-tests/TTCP/Orbix/ttcp.hh b/performance-tests/TTCP/Orbix/ttcp.hh
deleted file mode 100644
index ff24bfe58ec..00000000000
--- a/performance-tests/TTCP/Orbix/ttcp.hh
+++ /dev/null
@@ -1,376 +0,0 @@
-
-#ifndef ttcp_hh
-#define ttcp_hh
-
-#include <CORBA.h>
-
-#include <string.h>
-
-
-#ifndef _IDL_SEQUENCE_char_defined
-#define _IDL_SEQUENCE_char_defined
-
-struct IONANC__IDL_SEQUENCE_char;
-struct _IDL_SEQUENCE_char {
- unsigned long _maximum;
- unsigned long _length;
- char *_buffer;
-
- operator IONANC__IDL_SEQUENCE_char();
- operator const IONANC__IDL_SEQUENCE_char() const;
- _IDL_SEQUENCE_char& operator= (const IONANC__IDL_SEQUENCE_char&);
-
- _IDL_SEQUENCE_char& operator= (const _IDL_SEQUENCE_char&);
- _IDL_SEQUENCE_char (const _IDL_SEQUENCE_char&);
-
- _IDL_SEQUENCE_char (unsigned long IT_size = 0);
-
- ~_IDL_SEQUENCE_char () { if (_buffer) delete [] _buffer; }
-
- char& operator [] (unsigned long IT_i) const {return _buffer[IT_i]; }
-
- void encodeOp (CORBA::Request &IT_r) const;
- void decodeOp (CORBA::Request &IT_r);
- void decodeInOutOp (CORBA::Request &IT_r);
-};
-
-struct IONANC__IDL_SEQUENCE_char {
- unsigned long _maximum;
- unsigned long _length;
- char *_buffer;
-
- char& operator [] (unsigned long IT_i) const;
-
- operator _IDL_SEQUENCE_char ();
-
- operator const _IDL_SEQUENCE_char () const;
-
-};
-
-
-
-#endif
-
-
-#ifndef _ttcp_sequence_defined
-#define _ttcp_sequence_defined
-class ttcp_sequence_dispatch : public virtual CORBA::PPTR {
-public:
-
- ttcp_sequence_dispatch (void *IT_p, CORBA::Object* IT_o, const char *IT_m,
- CORBA::LoaderClass *IT_l, char *IT_i, void* IT_im)
- : CORBA::PPTR (IT_p,IT_o,IT_m,IT_l,IT_i,IT_im) {}
-
-
- ttcp_sequence_dispatch (char *IT_OR, void *IT_p, CORBA::Object *IT_o)
- : CORBA::PPTR (IT_OR,IT_p,IT_o) {}
-
-
- ttcp_sequence_dispatch () {}
-
- ttcp_sequence_dispatch (void *IT_p, CORBA::Object *IT_o, const char *IT_m,
- char *IT_i, CORBA::Object* IT_ob, void* IT_im)
- : CORBA::PPTR (IT_p,IT_o,IT_m,IT_i,IT_ob,IT_im) {}
-
-
- virtual unsigned char dispatch (CORBA::Request &IT_r,
- unsigned char IT_isTarget, void* IT_pp=NULL);
-
-
-};
-
-class ttcp_sequence;
-
-
-#ifndef ttcp_sequenceForwH
-#define ttcp_sequenceForwH
-CORBA::ObjectRef ttcp_sequence_getBase (void *);
-void ttcp_sequence_release (void *, CORBA::Environment &IT_env=CORBA::default_environment);
-ttcp_sequence* ttcp_sequence_duplicate (void *, CORBA::Environment &IT_env=CORBA::default_environment);
-#endif
-#define ttcp_sequence_IMPL "ttcp_sequence"
-
-
-class ttcp_sequence;
-#define ttcp_sequence_IR "ttcp_sequence"
-#define ttcp_sequence_IMPL "ttcp_sequence"
-
-typedef ttcp_sequence* ttcp_sequenceRef;
-typedef ttcp_sequence* ttcp_sequence_ptr;
-class ttcp_sequence: public virtual CORBA::Object {
-public:
- ttcp_sequence (char *IT_OR);
- ttcp_sequence () : CORBA::Object (1) {}
- ttcp_sequence* _duplicate(
- CORBA::Environment &IT_env=CORBA::default_environment) {
- CORBA::Object::_duplicate (IT_env); return this; }
- static ttcp_sequence* _bind (const char* IT_markerServer, const char* host,
- const CORBA::Context &IT_c,
- CORBA::Environment &IT_env=CORBA::default_environment);
- static ttcp_sequence* _bind (CORBA::Environment &IT_env);
- static ttcp_sequence* _bind (const char* IT_markerServer=NULL, const char* host=NULL,
- CORBA::Environment &IT_env=CORBA::default_environment);
- static ttcp_sequence* _narrow (CORBA::Object* , CORBA::Environment &IT_env=CORBA::default_environment);
-typedef _IDL_SEQUENCE_char my_sequence;
- virtual long send (const ttcp_sequence::my_sequence& ttcp_seq, CORBA::Environment &IT_env=CORBA::default_environment);
- virtual void start_timer (CORBA::Environment &IT_env=CORBA::default_environment);
- virtual void stop_timer (CORBA::Environment &IT_env=CORBA::default_environment);
-};
-
-
-#define TIE_ttcp_sequence(X) ttcp_sequence##X
-
-#define DEF_TIE_ttcp_sequence(X) \
- class ttcp_sequence##X : public virtual ttcp_sequence { \
- X* m_obj; \
- public: \
- \
- ttcp_sequence##X (X *objp, const char* m="", CORBA::LoaderClass *l=nil)\
- : ttcp_sequence(), CORBA::Object (), m_obj(objp) { \
- m_pptr = new ttcp_sequence_dispatch \
- (( ttcp_sequence*)this,(CORBA::Object*)this,m,l,ttcp_sequence_IR,m_obj); \
- } \
- ttcp_sequence##X (CORBA::Object *IT_p, const char* IT_m="", void *IT_q=nil)\
- : ttcp_sequence(), CORBA::Object () { \
- m_pptr = new ttcp_sequence_dispatch \
- (( ttcp_sequence*)this,(CORBA::Object*)this,IT_m,ttcp_sequence_IR,IT_p,IT_q); \
- m_obj = (X*)(m_pptr->getImplObj ()); \
- } \
- \
- virtual ~ttcp_sequence##X () { \
- if (_okToDeleteImpl ()) delete m_obj; } \
- \
- virtual void* _deref () { \
- return m_obj; } \
- \
- virtual long send (const ttcp_sequence::my_sequence& ttcp_seq, CORBA::Environment &IT_env) {\
-return m_obj->send ( ttcp_seq,IT_env);\
-}\
- \
- virtual void start_timer (CORBA::Environment &IT_env) {\
-m_obj->start_timer (IT_env);\
-}\
- \
- virtual void stop_timer (CORBA::Environment &IT_env) {\
-m_obj->stop_timer (IT_env);\
-}\
- \
- };
-
-
-#define QUALS_ttcp_sequence \
- virtual long send (const ttcp_sequence::my_sequence& ttcp_seq, CORBA::Environment &IT_env) {\
-return m_obj->send ( ttcp_seq,IT_env);\
-}\
- \
- virtual void start_timer (CORBA::Environment &IT_env) {\
-m_obj->start_timer (IT_env);\
-}\
- \
- virtual void stop_timer (CORBA::Environment &IT_env) {\
-m_obj->stop_timer (IT_env);\
-}\
-
-
-
-
-class ttcp_sequenceProxyFactoryClass : public virtual CORBA::ObjectFactoryClass {
-public:
- ttcp_sequenceProxyFactoryClass (unsigned char IT_p=0)
- : CORBA::ProxyFactory (ttcp_sequence_IR, IT_p) {}
-
- virtual void* New (char *IT_OR, CORBA::Environment&);
-
- virtual void* New2 ();
-
- virtual void* IT_castUp (void *IT_p, char* IT_s);
-
- virtual CORBA::PPTR* pptr (void *IT_p);
-
- virtual void baseInterfaces (_IDL_SEQUENCE_string&);
-
-
-};
-
-extern ttcp_sequenceProxyFactoryClass ttcp_sequenceProxyFactory;
-
-
-
-class ttcp_sequenceBOAImpl : public virtual ttcp_sequence {
-public:
- ttcp_sequenceBOAImpl (const char *m="", CORBA::LoaderClass *l=NULL) {
- if (CORBA::PPTR::isOK (m_pptr, ttcp_sequence_IR))
- m_pptr = new ttcp_sequence_dispatch ( (ttcp_sequence*)this,
- (CORBA::Object*)this, m, l, ttcp_sequence_IR, this);
-}
-
- virtual long send (const ttcp_sequence::my_sequence& ttcp_seq, CORBA::Environment &IT_env=CORBA::default_environment) =0;
- virtual void start_timer (CORBA::Environment &IT_env=CORBA::default_environment) =0;
- virtual void stop_timer (CORBA::Environment &IT_env=CORBA::default_environment) =0;
-};
-
-
-#endif
-
-
-#ifndef _ttcp_string_defined
-#define _ttcp_string_defined
-class ttcp_string_dispatch : public virtual CORBA::PPTR {
-public:
-
- ttcp_string_dispatch (void *IT_p, CORBA::Object* IT_o, const char *IT_m,
- CORBA::LoaderClass *IT_l, char *IT_i, void* IT_im)
- : CORBA::PPTR (IT_p,IT_o,IT_m,IT_l,IT_i,IT_im) {}
-
-
- ttcp_string_dispatch (char *IT_OR, void *IT_p, CORBA::Object *IT_o)
- : CORBA::PPTR (IT_OR,IT_p,IT_o) {}
-
-
- ttcp_string_dispatch () {}
-
- ttcp_string_dispatch (void *IT_p, CORBA::Object *IT_o, const char *IT_m,
- char *IT_i, CORBA::Object* IT_ob, void* IT_im)
- : CORBA::PPTR (IT_p,IT_o,IT_m,IT_i,IT_ob,IT_im) {}
-
-
- virtual unsigned char dispatch (CORBA::Request &IT_r,
- unsigned char IT_isTarget, void* IT_pp=NULL);
-
-
-};
-
-class ttcp_string;
-
-
-#ifndef ttcp_stringForwH
-#define ttcp_stringForwH
-CORBA::ObjectRef ttcp_string_getBase (void *);
-void ttcp_string_release (void *, CORBA::Environment &IT_env=CORBA::default_environment);
-ttcp_string* ttcp_string_duplicate (void *, CORBA::Environment &IT_env=CORBA::default_environment);
-#endif
-#define ttcp_string_IMPL "ttcp_string"
-
-
-class ttcp_string;
-#define ttcp_string_IR "ttcp_string"
-#define ttcp_string_IMPL "ttcp_string"
-
-typedef ttcp_string* ttcp_stringRef;
-typedef ttcp_string* ttcp_string_ptr;
-class ttcp_string: public virtual CORBA::Object {
-public:
- ttcp_string (char *IT_OR);
- ttcp_string () : CORBA::Object (1) {}
- ttcp_string* _duplicate(
- CORBA::Environment &IT_env=CORBA::default_environment) {
- CORBA::Object::_duplicate (IT_env); return this; }
- static ttcp_string* _bind (const char* IT_markerServer, const char* host,
- const CORBA::Context &IT_c,
- CORBA::Environment &IT_env=CORBA::default_environment);
- static ttcp_string* _bind (CORBA::Environment &IT_env);
- static ttcp_string* _bind (const char* IT_markerServer=NULL, const char* host=NULL,
- CORBA::Environment &IT_env=CORBA::default_environment);
- static ttcp_string* _narrow (CORBA::Object* , CORBA::Environment &IT_env=CORBA::default_environment);
- virtual long send (const char * ttcp_str, CORBA::Environment &IT_env=CORBA::default_environment);
- virtual void start_timer (CORBA::Environment &IT_env=CORBA::default_environment);
- virtual void stop_timer (CORBA::Environment &IT_env=CORBA::default_environment);
-};
-
-
-#define TIE_ttcp_string(X) ttcp_string##X
-
-#define DEF_TIE_ttcp_string(X) \
- class ttcp_string##X : public virtual ttcp_string { \
- X* m_obj; \
- public: \
- \
- ttcp_string##X (X *objp, const char* m="", CORBA::LoaderClass *l=nil)\
- : ttcp_string(), CORBA::Object (), m_obj(objp) { \
- m_pptr = new ttcp_string_dispatch \
- (( ttcp_string*)this,(CORBA::Object*)this,m,l,ttcp_string_IR,m_obj); \
- } \
- ttcp_string##X (CORBA::Object *IT_p, const char* IT_m="", void *IT_q=nil)\
- : ttcp_string(), CORBA::Object () { \
- m_pptr = new ttcp_string_dispatch \
- (( ttcp_string*)this,(CORBA::Object*)this,IT_m,ttcp_string_IR,IT_p,IT_q); \
- m_obj = (X*)(m_pptr->getImplObj ()); \
- } \
- \
- virtual ~ttcp_string##X () { \
- if (_okToDeleteImpl ()) delete m_obj; } \
- \
- virtual void* _deref () { \
- return m_obj; } \
- \
- virtual long send (const char * ttcp_str, CORBA::Environment &IT_env) {\
-return m_obj->send ( ttcp_str,IT_env);\
-}\
- \
- virtual void start_timer (CORBA::Environment &IT_env) {\
-m_obj->start_timer (IT_env);\
-}\
- \
- virtual void stop_timer (CORBA::Environment &IT_env) {\
-m_obj->stop_timer (IT_env);\
-}\
- \
- };
-
-
-#define QUALS_ttcp_string \
- virtual long send (const char * ttcp_str, CORBA::Environment &IT_env) {\
-return m_obj->send ( ttcp_str,IT_env);\
-}\
- \
- virtual void start_timer (CORBA::Environment &IT_env) {\
-m_obj->start_timer (IT_env);\
-}\
- \
- virtual void stop_timer (CORBA::Environment &IT_env) {\
-m_obj->stop_timer (IT_env);\
-}\
-
-
-
-
-class ttcp_stringProxyFactoryClass : public virtual CORBA::ObjectFactoryClass {
-public:
- ttcp_stringProxyFactoryClass (unsigned char IT_p=0)
- : CORBA::ProxyFactory (ttcp_string_IR, IT_p) {}
-
- virtual void* New (char *IT_OR, CORBA::Environment&);
-
- virtual void* New2 ();
-
- virtual void* IT_castUp (void *IT_p, char* IT_s);
-
- virtual CORBA::PPTR* pptr (void *IT_p);
-
- virtual void baseInterfaces (_IDL_SEQUENCE_string&);
-
-
-};
-
-extern ttcp_stringProxyFactoryClass ttcp_stringProxyFactory;
-
-
-
-class ttcp_stringBOAImpl : public virtual ttcp_string {
-public:
- ttcp_stringBOAImpl (const char *m="", CORBA::LoaderClass *l=NULL) {
- if (CORBA::PPTR::isOK (m_pptr, ttcp_string_IR))
- m_pptr = new ttcp_string_dispatch ( (ttcp_string*)this,
- (CORBA::Object*)this, m, l, ttcp_string_IR, this);
-}
-
- virtual long send (const char * ttcp_str, CORBA::Environment &IT_env=CORBA::default_environment) =0;
- virtual void start_timer (CORBA::Environment &IT_env=CORBA::default_environment) =0;
- virtual void stop_timer (CORBA::Environment &IT_env=CORBA::default_environment) =0;
-};
-
-
-#endif
-
-
-#endif
diff --git a/performance-tests/TTCP/Orbix/ttcp.idl b/performance-tests/TTCP/Orbix/ttcp.idl
deleted file mode 100644
index 9ceef61e0a3..00000000000
--- a/performance-tests/TTCP/Orbix/ttcp.idl
+++ /dev/null
@@ -1,22 +0,0 @@
-/* -*- C++ -*- */
-// @(#)ttcp.idl 1.1 10/18/96
-
-
-interface ttcp_sequence
-{
- typedef sequence<char> my_sequence;
-
- long send (in my_sequence ttcp_seq);
- oneway void start_timer ();
- oneway void stop_timer ();
-};
-
-interface ttcp_string
-{
- long send (in string ttcp_str);
- oneway void start_timer ();
- oneway void stop_timer ();
-};
-
-
-
diff --git a/performance-tests/TTCP/Orbix/ttcpC.cpp b/performance-tests/TTCP/Orbix/ttcpC.cpp
deleted file mode 100644
index 1e623b01f2e..00000000000
--- a/performance-tests/TTCP/Orbix/ttcpC.cpp
+++ /dev/null
@@ -1,343 +0,0 @@
-
-// $Id$
-
-#include "ttcp.hh"
-
-
-#ifndef _IDL_SEQUENCE_char_Ops
-#define _IDL_SEQUENCE_char_Ops
-
-_IDL_SEQUENCE_char &_IDL_SEQUENCE_char:: operator= (const IONANC__IDL_SEQUENCE_char& IT_p) {
- this->operator= (*(_IDL_SEQUENCE_char*) &IT_p);
- return (*this);
-}
-
-_IDL_SEQUENCE_char:: operator IONANC__IDL_SEQUENCE_char () {
- IONANC__IDL_SEQUENCE_char tmp;
- memset (&tmp, 0, sizeof(tmp));
- ((_IDL_SEQUENCE_char *) &tmp)->operator= (*this);
- return tmp;
-}
-
-_IDL_SEQUENCE_char:: operator const IONANC__IDL_SEQUENCE_char () const {
- IONANC__IDL_SEQUENCE_char tmp;
- memset (&tmp, 0, sizeof(tmp));
- ((_IDL_SEQUENCE_char *) &tmp)->operator= (*this);
- return tmp;
-}
-
-_IDL_SEQUENCE_char& _IDL_SEQUENCE_char:: operator= (const _IDL_SEQUENCE_char &IT_s){
- if (this == &IT_s) return *this;
- if (_buffer) delete [] _buffer;
- _length = IT_s._length;
- _maximum = IT_s._maximum;
- if (_maximum) {
- _buffer = new char [ _maximum ];
- for (unsigned long IT_j=0; IT_j < _length; IT_j++)
- _buffer [IT_j] = IT_s._buffer[IT_j];
- }
- else
- _buffer = NULL;
- return *this;
-}
-
-_IDL_SEQUENCE_char:: _IDL_SEQUENCE_char (unsigned long IT_size) {
- if (IT_size)
- _buffer = new char [ IT_size ];
- else
- _buffer = NULL;
- _length = 0;
- _maximum = IT_size;
- }
-
-_IDL_SEQUENCE_char:: _IDL_SEQUENCE_char (const _IDL_SEQUENCE_char &IT_s) {
- _length = IT_s._length;
- _maximum = IT_s._maximum;
- if (_maximum) {
- _buffer = new char [ _maximum ];
- for (unsigned long IT_j=0; IT_j < _length; IT_j++)
- _buffer [IT_j] = IT_s._buffer[IT_j];
- }
- else
- _buffer = NULL;
-}
-
-void _IDL_SEQUENCE_char:: decodeInOutOp (CORBA::Request &IT_r) {
- unsigned long IT_max;
- IT_r >> IT_max;
- if (IT_max > _maximum)
- IT_r.makeRuntimeException3 ();
- else {
- IT_r >> _length;
- if (_length > _maximum)
- IT_r.makeRuntimeException4 ();
- else
- if (_maximum) {
- char* IT_arr = (char*) _buffer;
- IT_r.decodeCharArray (IT_arr, _length);
- }
- }
-}
-
-void _IDL_SEQUENCE_char:: encodeOp (CORBA::Request &IT_r) const {
- IT_r << _maximum;
- IT_r << _length;
-if (_maximum) {
- char* IT_arr = (char*) _buffer;
- IT_r.encodeCharArray (IT_arr, _length);
-}
-}
-
-void _IDL_SEQUENCE_char:: decodeOp (CORBA::Request &IT_r) {
- IT_r >> _maximum;
- IT_r >> _length;
- if (_maximum) {
- _buffer = new char [ _maximum ];
- {
- char* IT_arr = (char*) _buffer;
- IT_r.decodeCharArray (IT_arr, _length);
- }
- }
- else
- _buffer = NULL;
-}
-
-char &IONANC__IDL_SEQUENCE_char:: operator [](unsigned long IT_i) const {
- return _buffer[IT_i];
-}
-
-IONANC__IDL_SEQUENCE_char:: operator _IDL_SEQUENCE_char () {
- return (*((_IDL_SEQUENCE_char *) this));
-}
-
-IONANC__IDL_SEQUENCE_char:: operator const _IDL_SEQUENCE_char () const {
- return (*((const _IDL_SEQUENCE_char *) this));
-}
-
-
-#endif
-
-ttcp_sequence::ttcp_sequence (char *IT_OR) {
- m_pptr = new ttcp_sequence_dispatch (IT_OR, this,(CORBA::Object*)this);
-}
-
-#ifndef ttcp_sequenceForwC
-#define ttcp_sequenceForwC
-CORBA::ObjectRef ttcp_sequence_getBase(void *IT_p){
- return (ttcp_sequence*)IT_p;}
-
-void ttcp_sequence_release (void *IT_p, CORBA::Environment &IT_env) {
- ((ttcp_sequence*)IT_p)->_release(IT_env);}
-
-ttcp_sequence* ttcp_sequence_duplicate (void *IT_p, CORBA::Environment &IT_env) {
- return ((ttcp_sequence*)IT_p)->_duplicate(IT_env); }
-#endif
-
-
-
-ttcp_sequence* ttcp_sequence:: _bind (const char* IT_markerServer, const char* host,
- const CORBA::Context &IT_c,
- CORBA::Environment &IT_env) {
- ttcp_sequence*IT_p =
- (ttcp_sequence*)CORBA::Factory.New (IT_markerServer, IT_env, IT_c, host,
- ttcp_sequence_IMPL, ttcp_sequence_IR);
- return IT_p ? IT_p->_duplicate () : NULL; }
-
-
-
-ttcp_sequence* ttcp_sequence:: _bind (CORBA::Environment &IT_env) {
- return _bind (NULL,NULL,CORBA::Context(), IT_env); }
-
-
-ttcp_sequence* ttcp_sequence:: _bind (const char* IT_markerServer, const char* host,
- CORBA::Environment &IT_env) {
- return _bind (IT_markerServer, host, CORBA::Context (), IT_env); }
-ttcp_sequence* ttcp_sequence::_narrow (CORBA::Object* IT_obj, CORBA::Environment &IT_env) {
- ttcp_sequence* IT_p = (ttcp_sequence*)CORBA::Object::_castDown (IT_obj, ttcp_sequence_IR, IT_env);
- return IT_p ? IT_p->_duplicate(IT_env) : NULL;
- }
-
-void* ttcp_sequenceProxyFactoryClass::New (char *IT_OR, CORBA::Environment&) {
- return new ttcp_sequence(IT_OR);}
-
-void* ttcp_sequenceProxyFactoryClass::New2 () {
- return new ttcp_sequence();}
-
-void* ttcp_sequenceProxyFactoryClass::IT_castUp (void *IT_p, char* IT_s) {
- void *IT_l;
- if (!CORBA::_interfaceCmp (IT_s,ttcp_sequence_IR))
- return IT_p;
- else if (IT_l=CORBA::ObjectFactoryClass::IT_castUp((CORBA::Object*)((ttcp_sequence*)IT_p),IT_s))
- return IT_l;
- else return NULL;
- }
-
-
-CORBA::PPTR* ttcp_sequenceProxyFactoryClass::pptr (void *IT_p) {
- return ((ttcp_sequence*)IT_p)->_pptr ();}
-
-void ttcp_sequenceProxyFactoryClass::baseInterfaces (_IDL_SEQUENCE_string& seq) {
- add (seq, ttcp_sequence_IR);
- CORBA::ObjectFactoryClass::baseInterfaces (seq);
-}
-
-long ttcp_sequence:: send(const ttcp_sequence::my_sequence& ttcp_seq, CORBA::Environment &IT_env) {
-
- if (IT_env || m_isNull) return 0;
- CORBA::Request IT_r (this, "send",IT_env,1,0);
- if (!IT_r.isException (IT_env)) {
- ttcp_seq.encodeOp (IT_r);
- }
-
- IT_r.invoke (CORBA::Flags(0),IT_env);
- if (!IT_r.isException (IT_env)) {
- long IT_result;
- IT_r >> IT_result;
- IT_r.checkEnv (IT_env);
- return IT_result;
- }
- return 0;
-}
-
-void ttcp_sequence:: start_timer(CORBA::Environment &IT_env) {
-
- if (IT_env || m_isNull) return ;
- CORBA::Request IT_r (this, "start_timer",IT_env,1,1);
-
- IT_r.invoke (CORBA::Flags(CORBA::INV_NO_RESPONSE), IT_env);
-}
-
-void ttcp_sequence:: stop_timer(CORBA::Environment &IT_env) {
-
- if (IT_env || m_isNull) return ;
- CORBA::Request IT_r (this, "stop_timer",IT_env,1,1);
-
- IT_r.invoke (CORBA::Flags(CORBA::INV_NO_RESPONSE), IT_env);
-}
-
-
-ttcp_sequenceProxyFactoryClass ttcp_sequenceProxyFactory(1);
-
-
-#ifndef ttcp_sequence_dispatch_impl
-
-unsigned char ttcp_sequence_dispatch::dispatch (CORBA::Request &IT_r,
- unsigned char, void *) {
- IT_r.makeRuntimeException1 ("ttcp_sequence");
- return 0;
-}
-
-#endif
-
-ttcp_string::ttcp_string (char *IT_OR) {
- m_pptr = new ttcp_string_dispatch (IT_OR, this,(CORBA::Object*)this);
-}
-
-#ifndef ttcp_stringForwC
-#define ttcp_stringForwC
-CORBA::ObjectRef ttcp_string_getBase(void *IT_p){
- return (ttcp_string*)IT_p;}
-
-void ttcp_string_release (void *IT_p, CORBA::Environment &IT_env) {
- ((ttcp_string*)IT_p)->_release(IT_env);}
-
-ttcp_string* ttcp_string_duplicate (void *IT_p, CORBA::Environment &IT_env) {
- return ((ttcp_string*)IT_p)->_duplicate(IT_env); }
-#endif
-
-
-
-ttcp_string* ttcp_string:: _bind (const char* IT_markerServer, const char* host,
- const CORBA::Context &IT_c,
- CORBA::Environment &IT_env) {
- ttcp_string*IT_p =
- (ttcp_string*)CORBA::Factory.New (IT_markerServer, IT_env, IT_c, host,
- ttcp_string_IMPL, ttcp_string_IR);
- return IT_p ? IT_p->_duplicate () : NULL; }
-
-
-
-ttcp_string* ttcp_string:: _bind (CORBA::Environment &IT_env) {
- return _bind (NULL,NULL,CORBA::Context(), IT_env); }
-
-
-ttcp_string* ttcp_string:: _bind (const char* IT_markerServer, const char* host,
- CORBA::Environment &IT_env) {
- return _bind (IT_markerServer, host, CORBA::Context (), IT_env); }
-ttcp_string* ttcp_string::_narrow (CORBA::Object* IT_obj, CORBA::Environment &IT_env) {
- ttcp_string* IT_p = (ttcp_string*)CORBA::Object::_castDown (IT_obj, ttcp_string_IR, IT_env);
- return IT_p ? IT_p->_duplicate(IT_env) : NULL;
- }
-
-void* ttcp_stringProxyFactoryClass::New (char *IT_OR, CORBA::Environment&) {
- return new ttcp_string(IT_OR);}
-
-void* ttcp_stringProxyFactoryClass::New2 () {
- return new ttcp_string();}
-
-void* ttcp_stringProxyFactoryClass::IT_castUp (void *IT_p, char* IT_s) {
- void *IT_l;
- if (!CORBA::_interfaceCmp (IT_s,ttcp_string_IR))
- return IT_p;
- else if (IT_l=CORBA::ObjectFactoryClass::IT_castUp((CORBA::Object*)((ttcp_string*)IT_p),IT_s))
- return IT_l;
- else return NULL;
- }
-
-
-CORBA::PPTR* ttcp_stringProxyFactoryClass::pptr (void *IT_p) {
- return ((ttcp_string*)IT_p)->_pptr ();}
-
-void ttcp_stringProxyFactoryClass::baseInterfaces (_IDL_SEQUENCE_string& seq) {
- add (seq, ttcp_string_IR);
- CORBA::ObjectFactoryClass::baseInterfaces (seq);
-}
-
-long ttcp_string:: send(const char * ttcp_str, CORBA::Environment &IT_env) {
-
- if (IT_env || m_isNull) return 0;
- CORBA::Request IT_r (this, "send",IT_env,1,0);
- if (!IT_r.isException (IT_env)) {
- IT_r.encodeStringOp (ttcp_str);
- }
-
- IT_r.invoke (CORBA::Flags(0),IT_env);
- if (!IT_r.isException (IT_env)) {
- long IT_result;
- IT_r >> IT_result;
- IT_r.checkEnv (IT_env);
- return IT_result;
- }
- return 0;
-}
-
-void ttcp_string:: start_timer(CORBA::Environment &IT_env) {
-
- if (IT_env || m_isNull) return ;
- CORBA::Request IT_r (this, "start_timer",IT_env,1,1);
-
- IT_r.invoke (CORBA::Flags(CORBA::INV_NO_RESPONSE), IT_env);
-}
-
-void ttcp_string:: stop_timer(CORBA::Environment &IT_env) {
-
- if (IT_env || m_isNull) return ;
- CORBA::Request IT_r (this, "stop_timer",IT_env,1,1);
-
- IT_r.invoke (CORBA::Flags(CORBA::INV_NO_RESPONSE), IT_env);
-}
-
-
-ttcp_stringProxyFactoryClass ttcp_stringProxyFactory(1);
-
-
-#ifndef ttcp_string_dispatch_impl
-
-unsigned char ttcp_string_dispatch::dispatch (CORBA::Request &IT_r,
- unsigned char, void *) {
- IT_r.makeRuntimeException1 ("ttcp_string");
- return 0;
-}
-
-#endif
-
diff --git a/performance-tests/TTCP/Orbix/ttcpS.cpp b/performance-tests/TTCP/Orbix/ttcpS.cpp
deleted file mode 100644
index 0b31298d758..00000000000
--- a/performance-tests/TTCP/Orbix/ttcpS.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-
-// $Id$
-
-#include "ttcp.hh"
-
-
-#define ttcp_sequence_dispatch_impl
-
-unsigned char ttcp_sequence_dispatch::dispatch (CORBA::Request &IT_r,
- unsigned char IT_isTarget, void *IT_pp) {
- if (!IT_pp)
- IT_pp = m_obj;
- const char *IT_s = IT_r.getOperation ();
- if (!strcmp(IT_s,"send")) {
- long IT_result;
- CORBA::Environment IT_env (IT_r);
- CORBA::Filter* IT_f = CORBA::Orbix.getFilter ();
- if (!IT_r.tcAssert ("\
-Ro~send~+ttcp_seq{S{c},0},>{l},N{}\
-"))
- return 1;
- ttcp_sequence::my_sequence ttcp_seq;
- ttcp_seq.decodeOp (IT_r);
-
- if (IT_f && !IT_r.isException (IT_env))
- IT_f->inRequestPostM (IT_r, IT_env);
- if (!IT_r.isException (IT_env))
- IT_result = ((ttcp_sequence*)IT_pp)->send ( ttcp_seq, IT_env);
-
-
- if (!IT_r.isException (IT_env)) {
- if (!IT_r.convertToReply ("\
-l\
-", IT_env)) return 1;
- IT_r << IT_result;
- }
-
- else IT_r.makeSystemException (IT_env);
- return 1;
- }
-
- else if (!strcmp(IT_s,"start_timer")) {
- CORBA::Environment IT_env (IT_r);
- CORBA::Filter* IT_f = CORBA::Orbix.getFilter ();
- if (!IT_r.tcAssert ("\
-Ro~start_timer~>{v},O{}\
-"))
- return 1;
-
- if (IT_f && !IT_r.isException (IT_env))
- IT_f->inRequestPostM (IT_r, IT_env);
- if (!IT_r.isException (IT_env))
- ((ttcp_sequence*)IT_pp)->start_timer (IT_env);
-
- IT_r.replyNoResults (CORBA::Flags(CORBA::INV_NO_RESPONSE),IT_env);
- return 1;
- }
-
- else if (!strcmp(IT_s,"stop_timer")) {
- CORBA::Environment IT_env (IT_r);
- CORBA::Filter* IT_f = CORBA::Orbix.getFilter ();
- if (!IT_r.tcAssert ("\
-Ro~stop_timer~>{v},O{}\
-"))
- return 1;
-
- if (IT_f && !IT_r.isException (IT_env))
- IT_f->inRequestPostM (IT_r, IT_env);
- if (!IT_r.isException (IT_env))
- ((ttcp_sequence*)IT_pp)->stop_timer (IT_env);
-
- IT_r.replyNoResults (CORBA::Flags(CORBA::INV_NO_RESPONSE),IT_env);
- return 1;
- }
-
- else if (IT_isTarget)
- IT_r.makeRuntimeException2 ();
-
- return 0;
-}
-
-#define ttcp_string_dispatch_impl
-
-unsigned char ttcp_string_dispatch::dispatch (CORBA::Request &IT_r,
- unsigned char IT_isTarget, void *IT_pp) {
- if (!IT_pp)
- IT_pp = m_obj;
- const char *IT_s = IT_r.getOperation ();
- if (!strcmp(IT_s,"send")) {
- long IT_result;
- CORBA::Environment IT_env (IT_r);
- CORBA::Filter* IT_f = CORBA::Orbix.getFilter ();
- if (!IT_r.tcAssert ("\
-Ro~send~+ttcp_str{0},>{l},N{}\
-"))
- return 1;
- char * ttcp_str;
- IT_r.decodeStringOp(ttcp_str);
-
- if (IT_f && !IT_r.isException (IT_env))
- IT_f->inRequestPostM (IT_r, IT_env);
- if (!IT_r.isException (IT_env))
- IT_result = ((ttcp_string*)IT_pp)->send ( ttcp_str, IT_env);
-
- delete [] ttcp_str;
-
- if (!IT_r.isException (IT_env)) {
- if (!IT_r.convertToReply ("\
-l\
-", IT_env)) return 1;
- IT_r << IT_result;
- }
-
- else IT_r.makeSystemException (IT_env);
- return 1;
- }
-
- else if (!strcmp(IT_s,"start_timer")) {
- CORBA::Environment IT_env (IT_r);
- CORBA::Filter* IT_f = CORBA::Orbix.getFilter ();
- if (!IT_r.tcAssert ("\
-Ro~start_timer~>{v},O{}\
-"))
- return 1;
-
- if (IT_f && !IT_r.isException (IT_env))
- IT_f->inRequestPostM (IT_r, IT_env);
- if (!IT_r.isException (IT_env))
- ((ttcp_string*)IT_pp)->start_timer (IT_env);
-
- IT_r.replyNoResults (CORBA::Flags(CORBA::INV_NO_RESPONSE),IT_env);
- return 1;
- }
-
- else if (!strcmp(IT_s,"stop_timer")) {
- CORBA::Environment IT_env (IT_r);
- CORBA::Filter* IT_f = CORBA::Orbix.getFilter ();
- if (!IT_r.tcAssert ("\
-Ro~stop_timer~>{v},O{}\
-"))
- return 1;
-
- if (IT_f && !IT_r.isException (IT_env))
- IT_f->inRequestPostM (IT_r, IT_env);
- if (!IT_r.isException (IT_env))
- ((ttcp_string*)IT_pp)->stop_timer (IT_env);
-
- IT_r.replyNoResults (CORBA::Flags(CORBA::INV_NO_RESPONSE),IT_env);
- return 1;
- }
-
- else if (IT_isTarget)
- IT_r.makeRuntimeException2 ();
-
- return 0;
-}
-
-#include "ttcpC.cpp"
-
diff --git a/performance-tests/TTCP/Orbix/ttcp_i.cpp b/performance-tests/TTCP/Orbix/ttcp_i.cpp
deleted file mode 100644
index 78067ee98ce..00000000000
--- a/performance-tests/TTCP/Orbix/ttcp_i.cpp
+++ /dev/null
@@ -1,1013 +0,0 @@
-
-// $Id$
-
-/*
- * T T C P . C
- *
- */
-#ifndef lint
-static char RCSid[] = "ttcp.c $Revision$";
-#endif
-
-/* #define BSD43 */
-/* #define BSD42 */
-/* #define BSD41a */
-#define SYSV /* required on SGI IRIX releases before 3.3 */
-
-#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>
-
-#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>
-struct rusage
- {
- struct timeval ru_utime, ru_stime;
- };
-#define RUSAGE_SELF 0
-
-#else
-#include <sys/resource.h>
-#endif
-
-void err (char *s);
-void mes (char *s);
-void pattern (register char *cp, register int cnt);
-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);
-static void SD_Ready (int io_descriptor);
-void set_sock_desc(int starter);
-void c_stop_timer (unsigned long numbytes);
-
-int global_done = 0;
-
-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 = 1024 * 1024 * 2; /* 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)*/
-int SEQUENCE=0; /* String parameter is the 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;
-extern int errno;
-extern int optind;
-extern char *optarg;
-char *title = 0;
-
-char stats[128];
-unsigned long nbytes; /* bytes on net */
-unsigned long numCalls; /* # of I/O system calls */
-double cput, realt; /* user, real time (seconds) */
-
-// AAAAHHHHHHH what's this!!! C++ in the middle of C code???????!!!!!!
-
-
-#include <iostream.h>
-#include "ttcp_i.h"
-
-char *orb_host;
-
-// ttcp_i is the server side
-
-
-
-// ttcp_i is the server side
-
-static void
-SD_Ready (int io_descriptor)
-{
- cout << "Orbix is using " << io_descriptor << endl;
- if (sockbufsize)
- {
- if (setsockopt (io_descriptor, SOL_SOCKET, SO_RCVBUF, (char *) &sockbufsize,
- sizeof sockbufsize) < 0)
- perror ("setsockopt: rcvbuf"), exit (1);
- }
-}
-
-
-ttcp_sequence_i::ttcp_sequence_i()
-{
- this->nbytes_ = 0;
- // register a callback so we can futs with 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)
-{
- c_stop_timer (this->nbytes_);
- global_done = 1;
-}
-
-long
-ttcp_sequence_i::send(const ttcp_sequence::my_sequence& ttcp_seq,CORBA::Environment &IT_env)
-{
- this->nbytes_ += ttcp_seq._length;
- return this->nbytes_;
-}
-
-ttcp_string_i::ttcp_string_i()
-{
- this->nbytes_ = 0;
- // register a callback so we can futs with 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_string_i::start_timer (CORBA::Environment &IT_env)
-{
- prep_timer ();
-}
-
-
-void
-ttcp_string_i::stop_timer (CORBA::Environment &IT_env)
-{
- c_stop_timer (this->nbytes_);
- global_done = 1;
-}
-
-long
-ttcp_string_i::send(const char * ttcp_string,CORBA::Environment &IT_env)
-{
- this->nbytes_ += strlen (ttcp_string);
- return this->nbytes_;
-}
-
-// common to sequence and string
-void
-c_stop_timer (unsigned long numbytes)
-{
- (void) read_timer (stats, sizeof (stats));
-
- if (cput <= 0.0)
- cput = 0.001;
- if (realt <= 0.0)
- realt = 0.001;
- fprintf (stdout,
- "ttcp%s%s: %ld bytes in %.2f real seconds = %s/sec +++\n",
- trans ? "-t" : "-r", SEQUENCE ? "(Seq)" : "(Str)",
- numbytes, realt, outfmt (((double) numbytes) / realt));
-
-
- if (verbose)
- {
- fprintf (stdout,
- "ttcp%s%s: %ld bytes in %.2f CPU seconds = %s/cpu sec\n",
- trans ? "-t" : "-r",SEQUENCE ? "(Seq)" : "(Str)",
- numbytes, cput, outfmt (((double) numbytes) / cput));
- }
- fprintf (stdout,
- "ttcp%s%s: %d I/O calls, msec/call = %.2f, calls/sec = %.2f\n",
- trans ? "-t" : "-r",SEQUENCE ? "(Seq)" : "(Str)",
- numCalls,
- 1024.0 * realt / ((double) numCalls),
- ((double) numCalls) / realt);
- fprintf (stdout, "ttcp%s%s: %s\n", trans ? "-t" : "-r",SEQUENCE ? "(Seq)" : "(Str)", stats);
- if (verbose)
- {
- fprintf (stdout,
- "ttcp%s: buffer address %#x\n",
- trans ? "-t" : "-r",
- buf);
- }
-numbytes = 0;
-
- // you shoudl exit here when you use -p (profiler) so the server will
- // produce mon.out
-#ifdef PROFILE
- exit(1);
-#endif
-} // end of stop_timer
-
-
-char Usage[] = "\
-Usage: ttcp -t [-options] host [ < in ]\n\
- ttcp -r [-options > out]\n\
-Common options:\n\
- -l ## length of bufs read from or written to network (default 8192)\n\
- -u use UDP instead of TCP\n\
- -U use UNIX domain sockets instead of Internet domain sockets\n\
- -p ## port number to send to or listen at (default 5001)\n\
- -s -t: source a pattern to network\n\
- -r: sink (discard) all data from network\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\
-Options specific to -t:\n\
- -n## number of source bufs written to network (default 2048)\n\
- -D don't buffer TCP writes (sets TCP_NODELAY socket option)\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\
- -L<test_title> the title of the current test\n\
- -F don't write to a file (writting in a file dat.out is default)\n\
- -q run the test using sequence parameter (string is defualt) \n\
-";
-
-#if !defined (__cplusplus)
-typedef void (*SIG_TYP)();
-#endif
-
-#ifdef SVR4
-void
-sigpipe (int foo)
-#else
-void
-sigpipe ()
-#endif
-{
-}
-
-int
-main (int argc, char *argv[])
-{
-
- unsigned long addr_tmp;
- int c;
-
- if (argc < 2)
- goto usage;
-
- while ((c = getopt (argc, argv, "qFdrstU:uvBDTb:L:f:l:n:p:A:O:h:x")) != -1)
- {
- switch (c)
- {
- case 'L':
- title = optarg;
- fprintf(stdout,"---->title=%s\n",title);
- break;
- case 'x':
- new_line = 1;
- break;
- case 'q':
- SEQUENCE = 1;
- break;
- case 'F':
- write_to_file = 0;
- break;
- case 'h':
- orb_host = optarg;
- break;
- case 'B':
- b_flag = 1;
- break;
- case 't':
- trans = 1;
- break;
- case 'r':
- trans = 0;
- 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 's':
- sinkmode = !sinkmode;
- break;
- case 'p':
- port = atoi (optarg);
- break;
- case 'U':
- domain = PF_UNIX;
- domainname = optarg;
- break;
- case 'u':
- udp = 1;
- 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 'T':
- touchdata = 1;
- break;
-
- default:
- goto usage;
- }
- }
-
- //
- // Receiver
- //
-
- if (!trans)
- {
-
- // Sequence and String Interfaces
- // instantiate ONLY one object at a time, so no dispatching overhead is counted
- char *interface_name = new char[15];
- if (SEQUENCE)
- {
- ttcp_sequence *my_ttcp = new ttcp_sequence_i;
- strcpy(interface_name,"ttcp_sequence");
- }
- else
- {
- ttcp_string *my_ttcp_s = new ttcp_string_i;
- strcpy(interface_name,"ttcp_string");
- }
-
- // tell Orbix/ORBeline that we have completed the server's initialization:
- TRY {
- CORBA::Orbix.impl_is_ready(interface_name, 0, IT_X);
-
- while ((!global_done) && (!IT_X))
- CORBA::Orbix.processNextEvent (CORBA::ORB::INFINITE_TIMEOUT, IT_X);
- }
- CATCHANY {
- // an error occured calling impl_is_ready() - output the error.
- cout << IT_X;
- }
- ENDTRY;
-
- cout << "server exiting" << endl;
- return 42;
- }
-
- //
- // Transmitter
- //
-
-// CORBA::Environment env;
- ttcp_sequence *ttcp_seq;
- ttcp_string *ttcp_str;
-
-
- CORBA::Object *ttcp_;
-
- if (SEQUENCE)
- {
- TRY
- {
- ttcp_ = ttcp_seq = ttcp_sequence::_bind ("", orb_host, IT_X);
- }
- CATCHANY
- {
- // an error occurred while trying to bind to the logger object.
- cerr << "Bind to object failed" << endl;
- cerr << "Unexpected exception " << IT_X << endl;
- return -1;
- } ENDTRY;
-
- }
- else // string parameter used
- {
- TRY
- {
- ttcp_ = ttcp_str = ttcp_string::_bind ("", orb_host, IT_X);
- }
- CATCHANY
- {
- // an error occurred while trying to bind to the logger object.
- cerr << "Bind to object failed" << endl;
- cerr << "Unexpected exception " << IT_X << endl;
- return -1;
- } ENDTRY;
- }
-
- if (sockbufsize)
- {
- if (setsockopt (ttcp_->_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_->_fd (),
- p->p_proto,
- TCP_NODELAY,
- (char *)& one,
- sizeof (one)))
- err ("setsockopt: nodelay");
- mes ("nodelay");
- }
-
- //
- // Prepare the Message to be sent
- //
-
- errno = 0;
- if (sinkmode)
- {
- if ((buf = (char *) malloc (buflen + bufalign)) == (char *) NULL)
- err ("malloc");
- if (bufalign != 0)
- buf += (bufalign - ((int) buf % bufalign) + bufoffset) % bufalign;
-
- // ttcp_sequence::my_sequence sequence_message; ORBIX
- ttcp_sequence::my_sequence message (buflen + 1);
- ::buf[::buflen-1] = '\0';
- if (SEQUENCE)
- {
- message._maximum = buflen;
- message._length = buflen;
- message._buffer = buf;
- }
-
-
- pattern (buf, buflen);
- //
- // Start the timers on the client and server sides
- //
-
- prep_timer ();
-
- if (SEQUENCE)
- ttcp_seq->start_timer ();
- else
- ttcp_str->start_timer ();
- while (nbuf--)
- {
- if (SEQUENCE)
- ttcp_seq->send (message);
- else
- ttcp_str->send (buf);
-
- numCalls++;
- nbytes += buflen;
- }
-
- }
- else
- {
- register int cnt;
- while ((cnt = read (0, buf, buflen)) > 0 &&
- Nwrite (fd, buf, cnt) == cnt)
- nbytes += cnt;
- }
-
- if (errno)
- err ("IO");
-
-
- //
- // Stop the timers on both sides
- //
-
-
- if (SEQUENCE)
- ttcp_seq->stop_timer();
- else
- ttcp_str->stop_timer();
-
-
- (void) read_timer (stats, sizeof (stats));
-
-
- //
- // Print the results.
- //
-
- if (cput <= 0.0)
- cput = 0.001;
- if (realt <= 0.0)
- realt = 0.001;
-
- if (write_to_file)
- {
- if (title != 0)
- {
- double tmp;
- FILE *fd;
- char filename[BUFSIZ];
- sprintf (filename, "%s.results", title);
- fd = fopen(filename,"a+");
- if (new_line)
- fprintf(fd,"\n -l %ldk \t", buflen/1024);
- tmp = ((double) nbytes) / realt;
- fprintf(fd,"%.2f ", tmp * 8.0 / 1024.0 / 1024.0);
- fclose(fd);
- }
- }
-
- fprintf (stdout,
- "\nttcp%s%s: %ld bytes in %.2f real seconds = %s/sec +++\n",
- trans ? "-t" : "-r", SEQUENCE ? "(Seq)" : "(Str)",
- nbytes, realt, outfmt (((double) nbytes) / realt));
-
- if (verbose)
- {
- fprintf (stdout,
- "ttcp%s%s: %ld bytes in %.2f CPU seconds = %s/cpu sec\n",
- trans ? "-t" : "-r", SEQUENCE ? "(Seq)" : "(Str)",
- nbytes, cput, outfmt (((double) nbytes) / cput));
- }
- fprintf (stdout,
- "ttcp%s%s: %d I/O calls, msec/call = %.2f, calls/sec = %.2f\n",
- trans ? "-t" : "-r", SEQUENCE ? "(Seq)" : "(Str)",
- numCalls,
- 1024.0 * realt / ((double) numCalls),
- ((double) numCalls) / realt);
- fprintf (stdout, "ttcp%s%s: %s\n",trans ? "-t" : "-r", SEQUENCE ? "(Seq)" : "(Str)", stats);
- if (verbose)
- {
- fprintf (stdout,
- "ttcp%s: buffer address %#x\n",
- trans ? "-t" : "-r",
- buf);
- }
- exit (0);
-
- usage:
- fprintf (stderr, Usage);
- 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: %s\n", trans ? "-t" : "-r",SEQUENCE ? "(Seq)" : "(Str)", s);
-// fprintf (stderr, "ttcp%s: %s\n", trans ? "-t" : "-r", s);
-}
-
-void
-pattern (register char *cp, register int cnt)
-{
- register char c;
- c = 0;
- while (cnt-- > 0)
- {
- while (!isprint ((c & 0x7F)))
- c++;
- *cp++ = (c++ & 0x7F);
- }
-}
-
-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);
-}
diff --git a/performance-tests/TTCP/Orbix/ttcp_i.h b/performance-tests/TTCP/Orbix/ttcp_i.h
deleted file mode 100644
index 5db365ee4d1..00000000000
--- a/performance-tests/TTCP/Orbix/ttcp_i.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-
-// ttcp_i.C
-//
-
-#if !defined (TTCP_I_H)
-#define TTCP_I_H
-
-#include "ttcp.hh"
-
-class ttcp_sequence_i
- : virtual public ttcp_sequenceBOAImpl
-{
-public:
- ttcp_sequence_i();
-
- virtual long send (const ttcp_sequence::my_sequence& ttcp_seq, CORBA::Environment &IT_env=CORBA::default_environment);
- 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_;
-};
-
-// DEF_TIE_ttcp_sequence (ttcp_sequence_i);
-
-class ttcp_string_i
- : virtual public ttcp_stringBOAImpl
-{
-public:
- ttcp_string_i();
-
- virtual long send (const char * ttcp_string, CORBA::Environment &IT_env=CORBA::default_environment);
- 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_;
-};
-
-#endif defined (TTCP_I_H)
-
-
-
-
-