diff options
Diffstat (limited to 'TAO/tests/Thruput')
57 files changed, 0 insertions, 7342 deletions
diff --git a/TAO/tests/Thruput/COOL/Makefile b/TAO/tests/Thruput/COOL/Makefile deleted file mode 100644 index 235a4aaa66f..00000000000 --- a/TAO/tests/Thruput/COOL/Makefile +++ /dev/null @@ -1,133 +0,0 @@ -#---------------------------------------------------------------------------- -# @(#)Makefile 1.1 10/18/96 -# -# Makefile for the CHORUS COOL Cubit tests -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -IDL_SRC = ttcp.cpp ttcp.H sk_ttcp.C sk_ttcp.H - -SRC = $(IDL_SRC) ttcp_i.cpp server.cpp client.cpp utils.cpp - -SVR_OBJS = ttcp_i.o server.o ttcp.o utils.o - -CLT_OBJS = client.o ttcp.o utils.o - -LDLIBS = -lm -lOrb-mt -lposix4 - -VLDLIBS = $(LDLIBS:%=%$(VAR)) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(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 - -#---------------------------------------------------------------------------- -# CHORUS related macros and target settings. -#---------------------------------------------------------------------------- - -CHORUS_BINDIR = $(CHORUS_ROOT)/bin -CHORUS_LIBDIR = $(CHORUS_ROOT)/lib -CHORUS_INCDIR = $(CHORUS_ROOT)/include - -CPPFLAGS += -I$(CHORUS_INCDIR) -I$(CHORUS_ROOT) -LDFLAGS += -L$(CHORUS_LIBDIR) -R $(CHORUS_LIBDIR) -L$(ACE)/ace -IDLFLAGS = --stub-header --stub-impl --skeleton-header --skeleton-impl --no-local --no-any --binding ttcp_sequence ttcp_sequence_i - -#---------------------------------------------------------------------------- -# Local targets -#---------------------------------------------------------------------------- - -all: $(IDL_SRC) server client - -$(IDL_SRC): ttcp.idl - $(CHORUS_BINDIR)/chic $(IDLFLAGS) ttcp.idl - -/bin/mv ttcp.C ttcp.cpp - -server: $(addprefix $(VDIR),$(SVR_OBJS)) - $(LINK.cc) -o server $(addprefix $(VDIR),$(SVR_OBJS)) $(LDFLAGS) $(ITIIOP) $(ITSRV) $(VLDLIBS) $(POSTLINK) - -client: $(addprefix $(VDIR),$(CLT_OBJS)) - $(LINK.cc) -o client $(addprefix $(VDIR),$(CLT_OBJS)) $(LDFLAGS) $(ITIIOP) $(ITCLT) $(VLDLIBS) $(POSTLINK) - -realclean: clean - -/bin/rm -rf ttcp.cpp ttcp.H sk_ttcp.C sk_ttcp.H server client - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. - -ttcp.o: ttcp.cpp ttcp.H \ - /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/shortSeq.H \ - /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/longSeq.H \ - /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/doubleSeq.H \ - /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/charSeq.H \ - /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/octetSeq.H -sk_ttcp.o: sk_ttcp.C -ttcp_i.o: ttcp_i.cpp \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/ACE.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/OS.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/inc_user_config.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/config.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/streams.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Basic_Types.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Basic_Types.i \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/OS.i \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Trace.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Log_Msg.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Log_Record.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Log_Priority.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Log_Record.i \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Version.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/ACE.i ttcp_i.h ttcp.H \ - /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/cool.H \ - /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/shortSeq.H \ - /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/longSeq.H \ - /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/doubleSeq.H \ - /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/charSeq.H \ - /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/octetSeq.H \ - ttcp_decl.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Profile_Timer.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Time_Value.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/High_Res_Timer.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/High_Res_Timer.i \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Profile_Timer.i -server.o: server.cpp \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/ACE.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/OS.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/inc_user_config.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/config.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/streams.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Basic_Types.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Basic_Types.i \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/OS.i \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Trace.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Log_Msg.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Log_Record.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Log_Priority.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Log_Record.i \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Version.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/ACE.i ttcp_i.h ttcp.H \ - /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/cool.H \ - /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/shortSeq.H \ - /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/longSeq.H \ - /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/doubleSeq.H \ - /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/charSeq.H \ - /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/include/corba/octetSeq.H \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Get_Opt.h \ - /project/doc/sergio/ACE_wrappers/build/sunt/ace/Get_Opt.i sk_ttcp.H \ - sk_ttcp.C - -# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/TAO/tests/Thruput/COOL/README b/TAO/tests/Thruput/COOL/README deleted file mode 100644 index f227cfeea21..00000000000 --- a/TAO/tests/Thruput/COOL/README +++ /dev/null @@ -1,117 +0,0 @@ - TTCP Benchmark README file - -This directory contains a modified version of the TTCP benchmark that -uses the TAO ORB. TTCP is used to measure the throughput of COOL -for sending different data types. This code tests sequences of short, -long, octet, char, double, and richly-typed data such as a struct. - -Organization ------------- - -client.cpp Client main program -server.cpp Server main program -ttcp.cpp Client & Server side stub -ttcp.H Client & Server side stub header file -sk_ttcp.C Server skeleton implementation file -sk_ttcp.H Server skeleton implementation header file -ttcp_i.cpp Implementation of the interface -ttcp_i.h Header for the implementation -utils.cpp Utilities to calculate throughput -ttcp_decl.h Common declarations - -Results -------- -Throughput results are displayed on stdout. - -Running the test ------------------ - Server - ------ - Usage: - server [COOL options] [Common options] - - [COOL options] ** these are required ** - cool-tcp://<THIS_HOSTNAME>:<THIS_HOST_PORT> -cool-tcp -cool-iiop - - THIS_HOSTNAME : the name of the host that the server will be running on. This is useful - if you want to specifya different interface (e.g. ATM, 100Mbit Ethernet) - - THIS_HOST_PORT: is the port number at which the server will start the high - priority servant. The low priority servant will be created at - (THIS_HOST_PORT+1). - - [Common options]: - -l ## length of bufs read from or written to network (default 8192) - -v verbose: print more statistics - -d ## set debug level - -f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga - -L ## Output file name to store results - - Example: - - server cool-tcp://tango.cs.wustl.edu:3000 -cool-tcp -cool-iiop -d 1 - - The Output might look like this: - stringified obj reference = IOR:000000000000001649444C3A747463705F73657175656E63653A312E3000000000000002000000000000004900010000000000103132382E3235322E3136352E313430000BB80000000000290000000001000000010000001C0073193B00000002EFFFED98000000000000000A80FCA58C00000BB8000000434F4F4C000000290000000001000000010000001C0073193B00000002EFFFED98000000000000000A80FCA58C00000BB8 - Entering boa->run (). - - - Client - ------ - - Usage: - client -cool-tcp -cool-iiop [Common options] - - [Common options]: - -l ## length of bufs read from or written to network (default 8192) - -v verbose: print more statistics - -d ## debug level - -f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga - -h ## Remote host to send data to - -p ## Port number" - -S ## Total Data Size to be sent - -L ## Output file name to store results - -q <type> Send Sequence: Enumeration for various data types: - s = short, l = long, d = double, c = char - o = octet, S = BinStruct - - Example: - - # The following example will send 10Mb of data, using a megabyte rate, - in 1024 byte chunks, to host tango.cs.wustl.edu, to port 3000, and will send shorts - - client -cool-tcp -cool-iiop -S 10240000 -f m -l 1024 -h tango.cs.wustl.edu -p 3000 -q s - - The Output might look like this: - - Composed IOR string as: cool-tcp://tango.cs.wustl.edu:3000 - data size = 10240000, buflen = 1024, nbuf = 10000 - ttcp-t: 10240000 bytes in 2.81 real seconds = 27.82 Mbit/sec +++ - ttcp-t: 10000 Server Method calls, msec/call = 0.29, calls/sec = 3561.29 - ttcp-r: 10236928 bytes in 2.81 real seconds = 3560.03 KB/sec +++ - ttcp-r: 9993 Server Method calls, msec/call = 0.29, calls/sec = 3558.60 - ttcp-t: 176224.1user -1.-2674sys 0:02real 6261769% 0i+0d 101622maxrss -268440216+-277460652pf 10002+458757csw - ttcp-r: -268441649.-103user 728.0sys 0:02real -194852% 0i+0d 420maxrss -280679408+0pf -268441576+-277738728csw - - -Compiling ---------- - -Setup the CHORUS COOL environment variables before compiling, the -following is an example. You would typically want this in the shells' -resource file (e.g. .cshrc.mine). The example provided is for a C -shell. - - setenv CHORUS_ROOT /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt - set path = ($path /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/bin) - setenv LD_LIBRARY_PATH /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/lib:$LD_LIBRARY_PATH - setenv MANPATH /project/doc/miniCOOL/minicool.r4.3/solaris2.5-CC-mt/man:$MANPATH - -Makefiles are provided. Use make to compile. - -You can either run the server in the background in the same window as -the client or open a separate window for the client and server. - - --Sergio Flores-Gaitan -(sergio@cs.wustl.edu)
\ No newline at end of file diff --git a/TAO/tests/Thruput/COOL/client.cpp b/TAO/tests/Thruput/COOL/client.cpp deleted file mode 100644 index 730362648ae..00000000000 --- a/TAO/tests/Thruput/COOL/client.cpp +++ /dev/null @@ -1,288 +0,0 @@ -// ============================================================================ -// -// = Chorus COOL tests -// Throughput measurement using the TTCP benchmark adapted to work using COOL -// -// = FILENAME -// client.cpp -// -// Main program for the client -// -// = AUTHOR -// Aniruddha Gokhale -// Sergio Flores Ported code to use Chorus COOL ORB -// -// ============================================================================ - -#include <iostream.h> -#include <fstream.h> - -#include "ace/ACE.h" -#include "ace/Get_Opt.h" -#include "ttcp.H" -#include "ttcp_decl.h" - -#include "api/api.H" - -int print_usage (void); - -char Usage[] = - "Usage: client -cool-tcp -cool-iiop [Common options] \n" - "[Common options]:\n" - " -l ## length of bufs read from or written to network (default 8192)\n" - " -v verbose: print more statistics\n" - " -d ## debug level\n" - " -f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n" - " -h ## Remote host to send data to\n" - " -p ## Port number" - " -L ## Output file name to store results\n" - " -S ## Total Data Size to be sent\n" - " -q <type> Send Sequence: Enumeration for various data types:\n" - " s = short, l = long, d = double, c = char\n" - " o = octet, S = BinStruct \n"; - -CORBA::Long trans = 1; // we are a client - used for debugging purposes -CORBA::Long buflen = 8 * 1024; // length of buffer, default 8,192 bytes -char *buf; // ptr to dynamic buffer -CORBA::Long nbuf; // number of buffers to send in sinkmode -CORBA::Short port = 3000; // default TCP port number -char *host = "localhost"; // ptr to name of host -CORBA::Long verbose = 0; // 0=print basic info, 1=print cpu - // rate, proc resource usage. -CORBA::Char fmt = 'K'; // output - // format:k=kilobits,K=kilobytes, m = megabits, - // M = megabytes, g = gigabits, G = gigabytes -CORBA::String title = 0; // title of file to gather statistics -char stats[128]; // gathering the statistics -unsigned long srcDataSize; // Total amount of source data -unsigned long nbytes; // bytes on net -unsigned long numCalls; // # of I/O system calls -double cput, realt; // user, real time (seconds) -unsigned long dt; // data type - -u_int debug_level = 0; - -// declare variables for various message types -ttcp_sequence::ShortSeq *sseq; -ttcp_sequence::LongSeq *lseq; -ttcp_sequence::OctetSeq *oseq; -ttcp_sequence::DoubleSeq *dseq; -ttcp_sequence::CharSeq *cseq; -ttcp_sequence::StructSeq *Sseq; - -int -main (int argc, char *argv[]) -{ - - int c; - CORBA_ORB_ptr orb_ptr; // underlying ORB - CORBA::Object_ptr objref = CORBA::Object::_nil(); // object reference - ttcp_sequence_ptr ttcp_seq = 0; // obj reference to TTCP object - CORBA::Environment env; // environment - CORBA::String str; // holds the IOR - - fstream iorfile; - - // parse the arguments - ACE_Get_Opt get_opt (argc, argv, "d:vh:p:f:l:L:S:q:", 3); // Command line options - debug_level = 0; - while ((c = get_opt ()) != -1) - { - switch (c) - { - case 'h': - host = ACE_OS::strdup (get_opt.optarg); - break; - case 'L': - title = ACE_OS::strdup (get_opt.optarg); - break; - case 'p': - port = ACE_OS::atoi (get_opt.optarg); - break; - case 'd': - debug_level = ACE_OS::atoi (get_opt.optarg); - if (debug_level > 10) - debug_level = 10; - break; - case 'l': - buflen = ACE_OS::atoi (get_opt.optarg); - break; - case 'v': - verbose = 1; - break; - case 'f': - fmt = *get_opt.optarg; - break; - case 'S': /* total source data to send. */ - srcDataSize = ACE_OS::atoi (get_opt.optarg); - break; - case 'q': /* Send sequence of desired data type */ - switch(*get_opt.optarg){ - case 's': - dt = SEND_SHORT; - break; - case 'l': - dt = SEND_LONG; - break; - case 'd': - dt = SEND_DOUBLE; - break; - case 'c': - dt = SEND_CHAR; - break; - case 'o': - dt = SEND_OCTET; - break; - case 'S': - dt = SEND_STRUCT; - break; - case 'C': - dt = SEND_COMPOSITE; - break; - } - break; - default: - return print_usage (); - } - } - - // - // Transmitter - // - - // get a handle to the ORB - orb_ptr = CORBA_ORB_init (argc, argv, 0, env); - if (env.exception () != 0) - { - ACE_DEBUG ((LM_DEBUG, "ORB initialization\n")); - //env.print_exception ("ORB initialization", stdout); - return -1; - } - - // allocate storage to read the IOR string - str = CORBA::string_alloc (500); - - sprintf (str, "cool-tcp://%s:%d", host, port); - - ACE_DEBUG ((LM_DEBUG, "Composed IOR string as: %s\n" , str)); - - COOL::EOABindingData bindingData (str); - ttcp_seq = ttcp_sequence::_bind(bindingData, env); - - CORBA::string_free (str); - - if (!CORBA::is_nil (ttcp_seq)) - { - // the number of iterations is based on the total data size and the - // individual buffer size sent - nbuf = srcDataSize/buflen; - ACE_DEBUG ((LM_DEBUG, "data size = %d, buflen = %d, nbuf = %d\n", - srcDataSize, buflen, nbuf)); - - // - // Prepare the Message to be sent - // - - - // first allocate a buffer of the desired size and alignment - errno = 0; - if ((buf = (char *) ACE_OS::malloc (buflen)) == (char *) NULL) - err ("malloc"); - - // fill the buffer with the data type to be sent - FillPattern (buf, buflen, dt); - - // - // Start the timers on the client and server sides - // - - prep_timer (); // start our time - ttcp_seq->start_timer (env); // ask the server to start its timer - if (env.exception () != 0) - { - ACE_DEBUG ((LM_DEBUG, "start_timer operation\n")); - //env.print_exception ("start_timer operation", stdout); - return -1; - } - -#if defined (USE_QUANTIFY) - /* start recording quantify data from here */ - quantify_clear_data (); - quantify_start_recording_data (); -#endif - // send the same buffer nbuf times - while (nbuf--) - { - switch (dt){ - case SEND_SHORT: - ttcp_seq->sendShortSeq (*sseq, env); - nbytes += sseq->length () * sizeof (CORBA::Short); - break; - case SEND_LONG: - ttcp_seq->sendLongSeq (*lseq, env); - nbytes += lseq->length () * sizeof (CORBA::Long); - break; - case SEND_OCTET: - ttcp_seq->sendOctetSeq (*oseq, env); - nbytes += oseq->length () * sizeof (CORBA::Octet); - break; - case SEND_DOUBLE: - ttcp_seq->sendDoubleSeq (*dseq, env); - nbytes += dseq->length () * sizeof (CORBA::Double); - break; - case SEND_CHAR: - ttcp_seq->sendCharSeq (*cseq, env); - nbytes += cseq->length () * sizeof (CORBA::Char); - break; - case SEND_STRUCT: - ttcp_seq->sendStructSeq (*Sseq, env); - nbytes += Sseq->length () * sizeof (BinStruct); - break; - } - numCalls++; // nbytes and numCalls are used in the thruput - // measurement - if (env.exception () != 0) - { - ACE_DEBUG ((LM_DEBUG, "send operation\n")); - //env.print_exception ("send operation", stdout); - return -1; - } - } -#if defined (USE_QUANTIFY) - quantify_stop_recording_data(); -#endif - // - // Stop the timer - // - // stop the timer on the server side - ttcp_seq->stop_timer (env); - if (env.exception () != 0) - { - ACE_DEBUG ((LM_DEBUG, "stop_timer operation\n")); - //env.print_exception ("stop_timer operation", stdout); - return -1; - } - // stop our timer - (void) read_timer (stats, sizeof (stats)); - - // print results - PrintStats(); - } - else - { - ACE_ERROR ((LM_ERROR, "error: objref is nil\n")); - } - - - CORBA::release (ttcp_seq); - CORBA::release (objref); - - return (0); -} - -int print_usage (void) -{ - ACE_ERROR ((LM_ERROR, "Usage error\n")); - ACE_ERROR ((LM_ERROR, "%s\n", Usage)); - return -1; -} diff --git a/TAO/tests/Thruput/COOL/server.cpp b/TAO/tests/Thruput/COOL/server.cpp deleted file mode 100644 index 6d3cc0e9b39..00000000000 --- a/TAO/tests/Thruput/COOL/server.cpp +++ /dev/null @@ -1,223 +0,0 @@ -// $Id$ -// ============================================================================ -// -// = Chorus COOL tests -// Throughput measurement using the TTCP benchmark adapted to work using -// Chorus COOL -// -// = FILENAME -// server.cpp -// -// = AUTHOR -// Aniruddha Gokhale -// Sergio Flores Ported from TAO -// -// ============================================================================ - -#include <iostream.h> -#include <fstream.h> - -#include "ace/ACE.h" -#include "ace/Get_Opt.h" - -#include "ttcp_i.h" - -#include <api/binding.H> -#include <api/api.H> -#include <api/coolThreadPool.H> -#include <corba/eoa.H> -#include <corba/eorb.H> - -#include "ttcp.H" -#include "sk_ttcp.H" -#include "sk_ttcp.C" - -char Usage[] = "\ -Usage: server [COOL options] [Common options] \n\ - [COOL options] ** these are required ** \n\ - cool-tcp://<THIS_HOSTNAME>:<THIS_HOST_PORT> -cool-tcp -cool-iiop \n\n\ - THIS_HOSTNAME : the name of the host that the server will be running on. \n\ - This is useful if you want to specify a different interface (e.g. ATM, \n\ - 100Mbit Ethernet)\n\n\ - THIS_HOST_PORT: is the port number at which the server will start the high\n\ - priority servant. The low priority servant will be created at\n\ - (THIS_HOST_PORT+1).\n\n\ - [Common options]:\n\ - -l ## length of bufs read from or written to network (default 8192)\n\ - -v verbose: print more statistics\n\ - -d ## set debug level \n\ - -f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n\ - -L ## Output file name for the data type used\n\n\ -"; - -CORBA::Long trans = 0; // we are the receiver -CORBA::Long buflen = 8 * 1024; // length of buffer -CORBA::Char *buf; // ptr to dynamic buffer -CORBA::Long nbuf; // number of buffers to send in sinkmode -CORBA::Long verbose = 0; // 0=print basic info, 1=print cpu rate, proc - // resource usage. -CORBA::Char fmt = 'K'; // output format:k=kilobits,K=kilobytes, m = - // megabits, M = megabytes, g = gigabits, G = - // gigabytes -u_int debug_level = 0; - -CORBA::String title = 0; // results filename - -CORBA::Char stats[128]; // gathering the statistics -CORBA::ULong srcDataSize; // Total amount of source data -CORBA::ULong nbytes; // bytes on net -CORBA::ULong numCalls; // # of I/O system calls -CORBA::Double cput, realt; // user, real time (seconds) -CORBA::ULong dt; // data type - -/* declare struct variables for various message types */ -ttcp_sequence::ShortSeq *sseq; -ttcp_sequence::LongSeq *lseq; -ttcp_sequence::OctetSeq *oseq; -ttcp_sequence::DoubleSeq *dseq; -ttcp_sequence::CharSeq *cseq; -ttcp_sequence::StructSeq *Sseq; - -// main program - Driver -int -main (int argc, char **argv) -{ - - int c; // option - CORBA::Environment env; // environment - CORBA_ORB_ptr orb_ptr; // handle to the ORB - CORBA_BOA_ptr oa_ptr; // Object adapter - CORBA::String str; // for stringified representation of the object reference - ttcp_sequence_i my_ttcp_i ("TTCP_IIOP_test"); // instance of the target object - ttcp_sequence_ptr my_ttcp; - - COOL::EOA::bind(argv[1], env); - if (env.exception() != 0) - { - ACE_ERROR_RETURN ((LM_ERROR, - "Impossible to bind the ORB to the description:%s\n", - argv[1]), -1); - } - - // initialize the underlying ORB and get a handle to it - orb_ptr = CORBA_ORB_init (argc, argv, 0, env); - if (env.exception () != 0) - { - ACE_DEBUG ((LM_ERROR, "ORB_init failed..\n")); - CORBA::SystemException* ex; - - ex = CORBA::SystemException::_narrow(env.exception()); - if (ex) - { - CORBA::String_var msg = ex->message(); - fprintf(stderr, "%s.\n", (const char*) msg); - } - else - { - fprintf(stderr, "Unknown user exception.\n"); - } - return -1; - } - - // now get a handle to the object adapter - oa_ptr = orb_ptr->OA_init (argc, argv, 0, env); - if (env.exception () != 0) - { - CORBA::SystemException* ex; - - ex = CORBA::SystemException::_narrow(env.exception()); - if (ex) - { - CORBA::String_var msg = ex->message(); - fprintf(stderr, "%s.\n", (const char*) msg); - } - else - { - fprintf(stderr, "Unknown user exception.\n"); - } - ACE_ERROR_RETURN ((LM_ERROR, - " (%P|%t) Unable to initialize the POA.\n"), - -1); - } - - // for parsing the arguments - ACE_Get_Opt get_opt (argc, argv, "l:vd:f:L:", 2, 1); - debug_level = 0; - while ((c = get_opt ()) != -1) - { - switch (c) - { - case 'v': - verbose = 1; - break; - case 'L': - // title of output file that stores result - title = ACE_OS::strdup (get_opt.optarg); - break; - case 'd': - // debugging level - debug_level = ACE_OS::atoi (get_opt.optarg); - if (debug_level > 10) - debug_level = 10; - break; - case 'f': - // output format i.e., Mbps, Kbps, etc - fmt = *get_opt.optarg; - break; - default: - ACE_ERROR ((LM_ERROR, "Usage error\n")); - ACE_ERROR ((LM_ERROR, "%s\n", Usage)); - return -1; - } - } - - // - // Receiver - // - - COOL::EOABindingData bindingData; - - COOL_bind (my_ttcp_i, my_ttcp, bindingData, env); - - if (env.exception ()) - { - ACE_DEBUG ((LM_ERROR, "Bind failed.\n")); - return -1; - } - - if (debug_level > 0) - { - // get a stringified representation of the object reference created above - str = orb_ptr->object_to_string (my_ttcp, env); - if (env.exception() != 0) - { - CORBA::SystemException* ex; - - ex = CORBA::SystemException::_narrow(env.exception()); - if (ex) - { - CORBA::String_var msg = ex->message(); - fprintf(stderr, "%s.\n", (const char*) msg); - } - else - { - fprintf(stderr, "Unknown user exception.\n"); - } - return -1; - } - ACE_DEBUG ((LM_DEBUG, "stringified obj reference = %s\n", str)); - } - -#if defined (USE_QUANTIFY) - // gather profile data - quantify_clear_data(); - quantify_start_recording_data(); -#endif - - // Handle requests for this object until we're killed, or one of the - // methods asks us to exit. - ACE_DEBUG ((LM_DEBUG, "Entering boa->run ().\n")); - oa_ptr->run (); - - return 0; -} diff --git a/TAO/tests/Thruput/COOL/ttcp.idl b/TAO/tests/Thruput/COOL/ttcp.idl deleted file mode 100644 index 02f382f3d29..00000000000 --- a/TAO/tests/Thruput/COOL/ttcp.idl +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- C++ -*- */ -struct BinStruct -{ - short s; - char c; - long l; - octet o; - double d; - // octet pad[8]; // to make it 32 bytes - // commented out until IDL support for arrays is added -}; - -// Richly typed data -interface ttcp_sequence -{ - typedef sequence<short> ShortSeq; - typedef sequence<long> LongSeq; - typedef sequence<double> DoubleSeq; - typedef sequence<char> CharSeq; - typedef sequence<octet> OctetSeq; - typedef sequence<BinStruct> StructSeq; - - - // Routines to send sequences of various data types - oneway void sendShortSeq (in ShortSeq ttcp_seq); - oneway void sendLongSeq (in LongSeq ttcp_seq); - oneway void sendDoubleSeq (in DoubleSeq ttcp_seq); - oneway void sendCharSeq (in CharSeq ttcp_seq); - oneway void sendOctetSeq (in OctetSeq ttcp_seq); - oneway void sendStructSeq (in StructSeq ttcp_seq); - - oneway void start_timer (); - oneway void stop_timer (); -}; diff --git a/TAO/tests/Thruput/COOL/ttcp_decl.h b/TAO/tests/Thruput/COOL/ttcp_decl.h deleted file mode 100644 index ba8b22769f7..00000000000 --- a/TAO/tests/Thruput/COOL/ttcp_decl.h +++ /dev/null @@ -1,76 +0,0 @@ - -/* - * T T C P Header File - * - */ - -/* This file includes all the declarations and prototypes */ - -#ifndef _TTCP_DECL_H_ -#define _TTCP_DECL_H_ - -#include "ace/OS.h" -#include "ace/Profile_Timer.h" - -/* File to be included if Quantify is to be used */ -#if defined (USE_QUANTIFY) -#include <quantify.h> -#endif - - -/* define the data types to be sent */ -#define SEND_SHORT ((CORBA::ULong)(1)) -#define SEND_LONG ((CORBA::ULong)(2)) -#define SEND_CHAR ((CORBA::ULong)(3)) -#define SEND_OCTET ((CORBA::ULong)(4)) -#define SEND_DOUBLE ((CORBA::ULong)(5)) -#define SEND_STRUCT ((CORBA::ULong)(6)) -#define SEND_COMPOSITE ((CORBA::ULong)(7)) - -/************** -// Prototypes -***************/ -int err (char *s); -void mes (CORBA::Char *s); -CORBA::String outfmt (CORBA::Double b); -void prep_timer (void); -CORBA::Double read_timer (char *str, CORBA::Long len); -void prusage (register struct rusage *r0, struct rusage *r1, struct timeval *e, struct timeval *b, char *outp); -void tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1); -void tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0); -void psecs (CORBA::Long l, register char *cp); -void delay (CORBA::Long us); -void FillPattern (register char *cp, register CORBA::Long bufLen, CORBA::ULong dt); -void PrintStats (void); - -/* Global variables defined here as extern */ -extern ACE_Svc_Export CORBA::Long trans; // whether we are transmitter - // or receiver -extern ACE_Svc_Export CORBA::Long buflen; /* length of buffer */ -extern ACE_Svc_Export char *buf; /* ptr to dynamic buffer */ -extern ACE_Svc_Export CORBA::Long nbuf; /* number of buffers to send in sinkmode */ -extern ACE_Svc_Export CORBA::Short port; /* TCP port number */ -extern ACE_Svc_Export char *host; /* ptr to name of host */ -extern ACE_Svc_Export CORBA::Long verbose; /* 0=print basic info, 1=prCORBA::Long cpu rate, proc - * resource usage. */ -extern ACE_Svc_Export CORBA::Char fmt; /* output format:k=kilobits,K=kilobytes, - * m = megabits, M = megabytes, - * g = gigabits, G = gigabytes */ -extern ACE_Svc_Export char *title; - -extern ACE_Svc_Export char stats[128]; -extern ACE_Svc_Export CORBA::ULong srcDataSize; /* Total amount of source data */ -extern ACE_Svc_Export CORBA::ULong nbytes; /* bytes on net */ -extern ACE_Svc_Export CORBA::ULong numCalls; /* # of I/O system calls */ -extern ACE_Svc_Export CORBA::Double cput, realt; /* user, real time (seconds) */ -extern ACE_Svc_Export CORBA::ULong dt; - -/* declare struct variables for various message types */ -extern ACE_Svc_Export ttcp_sequence::ShortSeq *sseq; -extern ACE_Svc_Export ttcp_sequence::LongSeq *lseq; -extern ACE_Svc_Export ttcp_sequence::OctetSeq *oseq; -extern ACE_Svc_Export ttcp_sequence::DoubleSeq *dseq; -extern ACE_Svc_Export ttcp_sequence::CharSeq *cseq; -extern ACE_Svc_Export ttcp_sequence::StructSeq *Sseq; - -#endif diff --git a/TAO/tests/Thruput/COOL/ttcp_i.cpp b/TAO/tests/Thruput/COOL/ttcp_i.cpp deleted file mode 100644 index c898103c5ae..00000000000 --- a/TAO/tests/Thruput/COOL/ttcp_i.cpp +++ /dev/null @@ -1,108 +0,0 @@ -//#include <iostream.h> -#include "ace/ACE.h" -#include "ace/streams.h" -#include "ttcp_i.h" -#include "ttcp_decl.h" - -/* the ttcp_i class implementation */ -ttcp_sequence_i::ttcp_sequence_i (const char *obj_name) -{ - this->nbytes_ = 0; - numCalls = 0; -} - -void -ttcp_sequence_i::start_timer (CORBA::Environment &IT_env) -{ - ACE_UNUSED_ARG (IT_env); - this->nbytes_ = 0; - ::prep_timer (); -} - -void -ttcp_sequence_i::stop_timer (CORBA::Environment &IT_env) -{ - ACE_UNUSED_ARG (IT_env); - - (void) ::read_timer (stats, sizeof (stats)); - ::nbytes = this->nbytes_; - ::PrintStats(); - // reset - this->nbytes_ = 0; - numCalls = 0; -#if defined (USE_QUANTIFY) - quantify_stop_recording_data(); - ACE_Service_Config::end_reactor_event_loop(); - cerr << "*********** just before exiting " << endl; -#endif -#if defined (USE_PURIFY) - ACE_Service_Config::end_reactor_event_loop(); - cerr << "*********** just before exiting " << endl; -#endif -} - -void -ttcp_sequence_i::sendShortSeq (const ttcp_sequence::ShortSeq& ttcp_seq, - CORBA::Environment &IT_env) -{ - ACE_UNUSED_ARG (IT_env); - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Short); -} - -void -ttcp_sequence_i::sendLongSeq (const ttcp_sequence::LongSeq& ttcp_seq, - CORBA::Environment &IT_env) -{ - ACE_UNUSED_ARG (IT_env); - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Long) ; -} - -void -ttcp_sequence_i::sendOctetSeq (const ttcp_sequence::OctetSeq& ttcp_seq, - CORBA::Environment &IT_env) -{ - ACE_UNUSED_ARG (IT_env); - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Octet) ; -} - -void -ttcp_sequence_i::sendDoubleSeq (const ttcp_sequence::DoubleSeq& ttcp_seq, - CORBA::Environment &IT_env) -{ - ACE_UNUSED_ARG (IT_env); - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Double) ; -} - -void -ttcp_sequence_i::sendCharSeq (const ttcp_sequence::CharSeq& ttcp_seq, - CORBA::Environment &IT_env) -{ - ACE_UNUSED_ARG (IT_env); - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Char) ; -} - -void -ttcp_sequence_i::sendStructSeq (const ttcp_sequence::StructSeq& ttcp_seq, - CORBA::Environment &IT_env) -{ - ACE_UNUSED_ARG (IT_env); - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(BinStruct) ; -#ifdef DEBUG - // cout << "Bytes received so far = " << this->nbytes_ << endl; -#endif -} - - - - - - - - - diff --git a/TAO/tests/Thruput/COOL/ttcp_i.h b/TAO/tests/Thruput/COOL/ttcp_i.h deleted file mode 100644 index 9fd00170270..00000000000 --- a/TAO/tests/Thruput/COOL/ttcp_i.h +++ /dev/null @@ -1,47 +0,0 @@ -// ============================================================================ -// -// = COOL tests -// Throughput measurement using the TTCP benchmark adapted to work using COOL -// -// = FILENAME -// ttcp_i.h -// -// = AUTHOR -// Aniruddha Gokhale -// Sergio Flores-Gaitan Ported to COOL -// -// ============================================================================ - -#if !defined (TTCP_I_H) -#define TTCP_I_H - -#include "ttcp.H" - -class ttcp_sequence_i -{ -public: - ttcp_sequence_i (const char *obj_name = 0); - - virtual void sendShortSeq (const ttcp_sequence::ShortSeq& ttcp_seq, - CORBA::Environment &IT_env); - virtual void sendLongSeq (const ttcp_sequence::LongSeq& ttcp_seq, - CORBA::Environment &IT_env); - virtual void sendDoubleSeq (const ttcp_sequence::DoubleSeq& ttcp_seq, - CORBA::Environment &IT_env); - virtual void sendCharSeq (const ttcp_sequence::CharSeq& ttcp_seq, - CORBA::Environment &IT_env); - virtual void sendStructSeq (const ttcp_sequence::StructSeq& ttcp_seq, - CORBA::Environment &IT_env); - virtual void sendOctetSeq (const ttcp_sequence::OctetSeq& ttcp_seq, - CORBA::Environment &IT_env); - - /* Routines to calculate the time required to transfer */ - virtual void start_timer (CORBA::Environment &IT_env); - virtual void stop_timer (CORBA::Environment &IT_env); - -private: - unsigned long nbytes_; -}; - -#endif // defined (TTCP_I_H) - diff --git a/TAO/tests/Thruput/COOL/utils.cpp b/TAO/tests/Thruput/COOL/utils.cpp deleted file mode 100644 index cbdd3a811ce..00000000000 --- a/TAO/tests/Thruput/COOL/utils.cpp +++ /dev/null @@ -1,465 +0,0 @@ -// ============================================================================ -// -// = TAO tests -// Throughput measurement using the TTCP benchmark adapted to work using TAO -// -// = FILENAME -// utils.cpp -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -// This file has all the helper functions that do the computation of -// throughput, system time used, user time, etc based on data collected. - -#include "ttcp.H" -#include "ttcp_decl.h" - -// the error function. -// displays the error message and exits -int err (char * s) -{ - ACE_OS::fprintf (stderr, "ttcp%s: ", trans ? "-t" : "-r"); - ACE_OS::perror (s); - ACE_OS::fprintf (stderr, "errno=%d\n", errno); - return -1; -} - -// prints a message indicating if it is a transmitter or a receiver -void mes (CORBA::String s) -{ - ACE_OS::fprintf (stderr, "ttcp%s: %s\n", trans ? "-t" : "-r", s); -} - -// does the formatting for the desired units in which the result is to be -// displayed -CORBA::String -outfmt (CORBA::Double b) -{ - static char obuf[50]; - switch (fmt) - { - case 'G': - ACE_OS::sprintf (obuf, "%.2f GB", b / 1024.0 / 1024.0 / 1024.0); - break; - default: - case 'K': - ACE_OS::sprintf (obuf, "%.2f KB", b / 1024.0); - break; - case 'M': - ACE_OS::sprintf (obuf, "%.2f MB", b / 1024.0 / 1024.0); - break; - case 'g': - ACE_OS::sprintf (obuf, "%.2f Gbit", b * 8.0 / 1024.0 / 1024.0 / 1024.0); - break; - case 'k': - ACE_OS::sprintf (obuf, "%.2f Kbit", b * 8.0 / 1024.0); - break; - case 'm': - ACE_OS::sprintf (obuf, "%.2f Mbit", b * 8.0 / 1024.0 / 1024.0); - break; - } - return obuf; -} - -static struct itimerval itime0; /* Time at which timing started */ -static struct rusage ru0; /* Resource utilization at the start */ - -/* - * P R E P _ T I M E R - */ -// this is in fact the internals of the "start_timer" operation -void -prep_timer (void) -{ - itime0.it_interval.tv_sec = 0; - itime0.it_interval.tv_usec = 0; - itime0.it_value.tv_sec = LONG_MAX / 22; /* greatest possible value , itimer() count backwards */ - itime0.it_value.tv_usec = 0; - - - ACE_OS::getrusage (RUSAGE_SELF, &ru0); - - /* Init REAL Timer */ - if (setitimer (ITIMER_REAL, &itime0, NULL)) - { - perror ("Setting 'itimer' REAL failed"); - return; - } - -} - -/* - * R E A D _ T I M E R - * - */ -// This implements the internals of the "stop_timer" method -double -read_timer (char *str, CORBA::Long len) -{ - struct itimerval itimedol; - struct rusage ru1; - struct timeval td; - struct timeval tend, tstart; - char line[132]; - - ACE_OS::getrusage (RUSAGE_SELF, &ru1); - - if (getitimer (ITIMER_REAL, &itimedol)) - { - perror ("Getting 'itimer' REAL failed"); - return (0.0); - } - - prusage (&ru0, &ru1, &itime0.it_value, &itimedol.it_value, line); - (void) strncpy (str, line, len); - - /* Get real time */ - tvsub (&td, &itime0.it_value, &itimedol.it_value); - realt = td.tv_sec + ((double) td.tv_usec) / 1000000; - - /* Get CPU time (user+sys) */ - tvadd (&tend, &ru1.ru_utime, &ru1.ru_stime); - tvadd (&tstart, &ru0.ru_utime, &ru0.ru_stime); - tvsub (&td, &tend, &tstart); - cput = td.tv_sec + ((double) td.tv_usec) / 1000000; - if (cput < 0.00001) - cput = 0.00001; - return (cput); -} - -// prints the rusage stats -void -prusage (register struct rusage *r0, struct rusage *r1, - struct timeval *e, struct timeval *b, char *outp) -{ - struct timeval tdiff; - register time_t t; - register char *cp; - register int i; - int ms; - - t = (r1->ru_utime.tv_sec - r0->ru_utime.tv_sec) * 100 + - (r1->ru_utime.tv_usec - r0->ru_utime.tv_usec) / 10000 + - (r1->ru_stime.tv_sec - r0->ru_stime.tv_sec) * 100 + - (r1->ru_stime.tv_usec - r0->ru_stime.tv_usec) / 10000; - ms = (e->tv_sec - b->tv_sec) * 100 + (e->tv_usec - b->tv_usec) / 10000; - -#define END(x) {while(*x) x++;} -#if defined(SYSV) - cp = "%Uuser %Ssys %Ereal %P"; -#else -#if defined(sgi) /* IRIX 3.3 will show 0 for %M,%F,%R,%C */ - cp = "%Uuser %Ssys %Ereal %P %Mmaxrss %F+%Rpf %Ccsw"; -#else - cp = "%Uuser %Ssys %Ereal %P %Xi+%Dd %Mmaxrss %F+%Rpf %Ccsw"; -#endif -#endif - for (; *cp; cp++) - { - if (*cp != '%') - *outp++ = *cp; - else if (cp[1]) - switch (*++cp) - { - - case 'U': - tvsub (&tdiff, &r1->ru_utime, &r0->ru_utime); - ACE_OS::sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec / 100000); - END (outp); - break; - - case 'S': - tvsub (&tdiff, &r1->ru_stime, &r0->ru_stime); - ACE_OS::sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec / 100000); - END (outp); - break; - - case 'E': - psecs (ms / 100, outp); - END (outp); - break; - - case 'P': - ACE_OS::sprintf (outp, "%d%%", (int) (t * 100 / ((ms ? ms : 1)))); - END (outp); - break; - -#if !defined(SYSV) - case 'W': - i = r1->ru_nswap - r0->ru_nswap; - ACE_OS::sprintf (outp, "%d", i); - END (outp); - break; - - case 'X': - ACE_OS::sprintf (outp, "%d", t == 0 ? 0 : (r1->ru_ixrss - r0->ru_ixrss) / t); - END (outp); - break; - - case 'D': - ACE_OS::sprintf (outp, "%d", t == 0 ? 0 : - (r1->ru_idrss + r1->ru_isrss - (r0->ru_idrss + r0->ru_isrss)) / t); - END (outp); - break; - - case 'K': - ACE_OS::sprintf (outp, "%d", t == 0 ? 0 : - ((r1->ru_ixrss + r1->ru_isrss + r1->ru_idrss) - - (r0->ru_ixrss + r0->ru_idrss + r0->ru_isrss)) / t); - END (outp); - break; - - case 'M': - ACE_OS::sprintf (outp, "%d", r1->ru_maxrss / 2); - END (outp); - break; - - case 'F': - ACE_OS::sprintf (outp, "%d", r1->ru_majflt - r0->ru_majflt); - END (outp); - break; - - case 'R': - ACE_OS::sprintf (outp, "%d", r1->ru_minflt - r0->ru_minflt); - END (outp); - break; - - case 'I': - ACE_OS::sprintf (outp, "%d", r1->ru_inblock - r0->ru_inblock); - END (outp); - break; - - case 'O': - ACE_OS::sprintf (outp, "%d", r1->ru_oublock - r0->ru_oublock); - END (outp); - break; - case 'C': - ACE_OS::sprintf (outp, "%d+%d", r1->ru_nvcsw - r0->ru_nvcsw, - r1->ru_nivcsw - r0->ru_nivcsw); - END (outp); - break; -#endif /* !SYSV */ - } - } - *outp = '\0'; -} - -// adds two "timeval" structures -void -tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1) -{ - - tsum->tv_sec = t0->tv_sec + t1->tv_sec; - tsum->tv_usec = t0->tv_usec + t1->tv_usec; - if (tsum->tv_usec > 1000000) - tsum->tv_sec++, tsum->tv_usec -= 1000000; -} - -// finds difference between two timevals -void -tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0) -{ - - tdiff->tv_sec = t1->tv_sec - t0->tv_sec; - tdiff->tv_usec = t1->tv_usec - t0->tv_usec; - if (tdiff->tv_usec < 0) - tdiff->tv_sec--, tdiff->tv_usec += 1000000; -} - -// print in seconds -void -psecs (CORBA::Long l, register char *cp) -{ - register int i; - - i = l / 3600; - if (i) - { - ACE_OS::sprintf (cp, "%d:", i); - END (cp); - i = l % 3600; - ACE_OS::sprintf (cp, "%d%d", (i / 60) / 10, (i / 60) % 10); - END (cp); - } - else - { - i = l; - ACE_OS::sprintf (cp, "%d", i / 60); - END (cp); - } - i %= 60; - *cp++ = ':'; - ACE_OS::sprintf (cp, "%d%d", i / 10, i % 10); -} - -// generate the specified delay in microseconds -void -delay (int us) -{ - struct timeval tv; - - tv.tv_sec = 0; - tv.tv_usec = us; - (void) select (1, (fd_set *) 0, (fd_set *) 0, (fd_set *) 0, &tv); -} - -// fill up a buffer with a data type that we want to send -void -FillPattern (register char *cp, register CORBA::Long bufLen, CORBA::ULong dt) -{ - unsigned long - num, i; - - switch(dt){ - case SEND_SHORT: - { - register short *SeqPtr = (short *)cp; - num = bufLen/sizeof(short); - for (i=0; i < num; i++) - SeqPtr[i] = (short)lrand48(); - sseq = new ttcp_sequence::ShortSeq(num,num, SeqPtr); - } - break; - case SEND_LONG: - { - register long *SeqPtr = (long *)cp; - num = bufLen/sizeof(long); - for (i=0; i < num; i++) - SeqPtr[i] = lrand48(); - lseq = new ttcp_sequence::LongSeq(num, num, SeqPtr); - } - break; - case SEND_DOUBLE: - { - register double *SeqPtr = (double *)cp; - num = bufLen/sizeof(double); - for (i=0; i < num; i++) - SeqPtr[i] = drand48(); - dseq = new ttcp_sequence::DoubleSeq(num, num, SeqPtr); - } - break; - case SEND_CHAR: - { - register CORBA::Char *SeqPtr = (CORBA::Char *)cp; - register char c = 0; - num = bufLen/sizeof(char); - for(i=0; i < num; i++){ - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i] = (c++ & 0x7f); - } - cseq = new ttcp_sequence::CharSeq(num, num, SeqPtr); - } - break; - case SEND_STRUCT: - { - register BinStruct *SeqPtr = (BinStruct *)cp; - register char c = 0; - num = bufLen/sizeof(BinStruct); - for (i=0; i < num; i++){ - SeqPtr[i].s = (short)lrand48(); - SeqPtr[i].l = lrand48(); - SeqPtr[i].d = drand48(); - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i].c = (c++ & 0x7f); - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i].o = (unsigned char)(c++ & 0x7f); - } - Sseq = new ttcp_sequence::StructSeq(num, num, SeqPtr); - - } - break; - case SEND_OCTET: - default: - { - register CORBA::Octet *SeqPtr = (CORBA::Octet *)cp; - register char c = 0; - num = bufLen/sizeof(CORBA::Octet); - for(i=0; i < num; i++){ - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i] = (c++ & 0x7f); - } - oseq = new ttcp_sequence::OctetSeq(num, num, SeqPtr); - } - break; - } -} - -// print all the statistics -void PrintStats (void) -{ - if (cput <= 0.0) - cput = 0.001; - if (realt <= 0.0) - realt = 0.001; - - if (title != 0) - { - double tmp; - FILE *outFile; - char filename[BUFSIZ]; - - strcpy(filename, title); - switch(dt){ - case SEND_SHORT: - strcat(filename, ".shortSeq.results"); - break; - case SEND_LONG: - strcat(filename, ".longSeq.results"); - break; - case SEND_DOUBLE: - strcat(filename, ".doubleSeq.results"); - break; - case SEND_CHAR: - strcat(filename, ".charSeq.results"); - break; - case SEND_STRUCT: - strcat(filename, ".structSeq.results"); - break; - case SEND_COMPOSITE: - strcat(filename, ".compositeSeq.results"); - break; - case SEND_OCTET: - default: - strcat(filename, ".octetSeq.results"); - break; - } - outFile = fopen (filename, "a+"); - ACE_OS::fprintf (outFile, "\n%ldk \t", buflen / 1024); - tmp = ((double) nbytes) / realt; - ACE_OS::fprintf (outFile, "%.2f ", tmp * 8.0 / 1024.0 / 1024.0); - fclose (outFile); - } - - ACE_OS::fprintf (stdout, - "ttcp%s: %ld bytes in %.2f real seconds = %s/sec +++\n", - trans ? "-t" : "-r", - nbytes, realt, outfmt (((double) nbytes) / realt)); - if (verbose) - { - ACE_OS::fprintf (stdout, - "ttcp%s: %ld bytes in %.2f CPU seconds = %s/cpu sec\n", - trans ? "-t" : "-r", - nbytes, cput, outfmt (((double) nbytes) / cput)); - } - ACE_OS::fprintf (stdout, - "ttcp%s: %d Server Method calls, msec/call = %.2f, calls/sec = %.2f\n", - trans ? "-t" : "-r", - numCalls, - 1024.0 * realt / ((double) numCalls), - ((double) numCalls) / realt); - ACE_OS::fprintf (stdout, "ttcp%s: %s\n", trans ? "-t" : "-r", stats); - if (verbose) - { - ACE_OS::fprintf (stdout, - "ttcp%s: buffer address %#x\n", - trans ? "-t" : "-r", - buf); - } -} diff --git a/TAO/tests/Thruput/CORBAplus/Makefile b/TAO/tests/Thruput/CORBAplus/Makefile deleted file mode 100644 index e0ca022532e..00000000000 --- a/TAO/tests/Thruput/CORBAplus/Makefile +++ /dev/null @@ -1,69 +0,0 @@ -#---------------------------------------------------------------------------- -# $Id$ -# -# Top-level Makefile for the Thruput benchmark -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -LDLIBS = -lcorba -lunixsvc -lpbroker -lboadc -lnaming -llifecycl -lfsstream - -IDL_SRC = ttcp.cpp ttcp_s.cpp -PROG_SRCS = $(IDL_SRC) client.cpp ttcp_i.cpp server.cpp utils.cpp - -LSRC = $(PROG_SRCS) - -TTCP_CLIENT_OBJS = ttcp.o client.o utils.o - -TTCP_SERVER_OBJS = ttcp.o ttcp_s.o server.o ttcp_i.o utils.o - -BIN = client server - -BUILD = $(BIN) - -VLDLIBS = $(LDLIBS:%=%$(VAR)) -VBIN = $(BIN:%=%$(VAR)) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -exceptions = 1 - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU -#include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -#---------------------------------------------------------------------------- -# Local modifications to variables imported by includes above. -#---------------------------------------------------------------------------- - -DCFLAGS = -g -LDFLAGS += -L$(PBHOME)/lib -CPPFLAGS += -I$(PBHOME)/include - -$(IDL_SRC): ttcp.idl - $(PBHOME)/bin/idlc ttcp.idl - -/bin/mv ttcp.C ttcp.cpp - -/bin/mv ttcp_s.C ttcp_s.cpp - -server: $(addprefix $(VDIR),$(TTCP_SERVER_OBJS)) - $(LINK.cc) $(LDFLAGS) -o $@ $^ $(PBHOME)/lib/iiop_s.o $(VLDLIBS) $(POSTLINK) -#patch on the previous line to allow reading from an environment variable -#the host (interface) I would like the server to bind to. -#The patch is "$(PBHOME)/lib/iiop_s.o" - -client: $(addprefix $(VDIR),$(TTCP_CLIENT_OBJS)) - $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) - -clean: - -/bin/rm -rf *.o Log $(BIN) obj.* core Templates.DB .make.state - -realclean: clean - -/bin/rm -rf ttcp.cpp ttcp.h ttcp_s.cpp ttcp_s.h diff --git a/TAO/tests/Thruput/CORBAplus/README b/TAO/tests/Thruput/CORBAplus/README deleted file mode 100644 index 14ffcd4e0e3..00000000000 --- a/TAO/tests/Thruput/CORBAplus/README +++ /dev/null @@ -1,47 +0,0 @@ - CORBAplus TTCP Benchmark README file - -This directory contains a modified version of the TTCP benchmark that -uses the TAO ORB. TTCP is used to measure the throughput of CORBAplus -for sending different data types. This code tests sequences of short, -long, octet, char, double, and richly-typed data such as a struct. - -Organization ------------- - -client.cpp Client main program -server.cpp Server main program -ttcp.cpp Client side stubs -ttcp_s.cpp Server side skeletons -ttcp.h Header file for stubs -ttcp_s.h Header file for the skeletons -ttcp_i.cpp Implementaion of the interface -ttcp_i.h Header for the implementation -utils.cpp Utilities to calculate throughput -ttcp_decls.h Common declarations - -Results -------- -//Throughput results are stored under the results directory. If testing -//for REMOTE transfers, use the ./results/REMOTE directory. - -Running the tests ------------------ -Three scripts are provided - -(0) run_tests : run several clients sequentially. transmits 10Mb - -(1) run_server : runs the server. Be sure to change the host name -(2) run_client : runs tests for various data types -(3) run_test : called by run_client - -Compiling ---------- - -Type make - -To provide for 2way tests (no data is sent in the reverse -direction. Sender blocks for a minimal ACK), comment out the -DONEWAY -flag from the CPPFLAGS - --Aniruddha Gokhale -(gokhale@cs.wustl.edu) diff --git a/TAO/tests/Thruput/CORBAplus/client.cpp b/TAO/tests/Thruput/CORBAplus/client.cpp deleted file mode 100644 index 82b50008bd6..00000000000 --- a/TAO/tests/Thruput/CORBAplus/client.cpp +++ /dev/null @@ -1,301 +0,0 @@ -// ============================================================================ -// -// = TAO tests -// Throughput measurement using the TTCP benchmark adapted to work using TAO -// -// = FILENAME -// client.cpp -// -// Main program for the client -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -#include <iostream.h> -#include <fstream.h> - -#include "pbroker/corba/orb.h" -#include "pbroker/corba/request.h" -#include "pbroker/corba/environ.h" -#include "ace/ACE.h" -#include "ace/Get_Opt.h" -#include "ttcp.h" -#include "ttcp_decl.h" - -int print_usage (void); - -char Usage[] = - "Usage: client [-options] \n" - "Common options:\n" - "-l ## length of bufs read from or written to network (default 8192)\n" - "-v verbose: print more statistics\n" - "-d ## debug level\n" - "-f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n" - "-h ## Remote host to send data to\n" - "-p ## Port number" - "-L ## Output file name to store results\n" - "-S ## Total Data Size to be sent\n" - "-q <type> Send Sequence: Enumeration for various data types:\n" - "s = short, l = long, d = double, c = char\n" - "o = octet, S = BinStruct \n"; - -u_int _debug_level = 0; - -CORBA::Long trans = 1; // we are a client - used for debugging purposes -CORBA::Long buflen = 8 * 1024; // length of buffer, default 8,192 bytes -char *buf; // ptr to dynamic buffer -CORBA::Long nbuf; // number of buffers to send in sinkmode -CORBA::Short port = ACE_DEFAULT_SERVER_PORT; // TCP port number -char *host = "localhost"; // ptr to name of host -CORBA::Long verbose = 0; // 0=print basic info, 1=print cpu - // rate, proc resource usage. -CORBA::Char fmt = 'K'; // output - // format:k=kilobits,K=kilobytes, m = megabits, - // M = megabytes, g = gigabits, G = gigabytes -char *title = 0; // title of file to gather statistics -char stats[128]; // gathering the statistics -unsigned long srcDataSize; // Total amount of source data -unsigned long nbytes; // bytes on net -unsigned long numCalls; // # of I/O system calls -double cput, realt; // user, real time (seconds) -unsigned long dt; // data type - -// declare variables for various message types -ttcp_sequence::ShortSeq *sseq; -ttcp_sequence::LongSeq *lseq; -ttcp_sequence::OctetSeq *oseq; -ttcp_sequence::DoubleSeq *dseq; -ttcp_sequence::CharSeq *cseq; -ttcp_sequence::StructSeq *Sseq; - -int -main (int argc, char *argv[]) -{ - try { - int c; - CORBA::ORB_ptr orb_ptr; // underlying ORB - CORBA::String objkey = "TTCP_IIOP_test"; // name of the TTCP object on the - // server - CORBA::Object_ptr objref = CORBA::Object::_nil(); // object reference - ttcp_sequence_ptr ttcp_seq = 0; // obj reference to TTCP object - CORBA::Environment env; // environment - CORBA::String str; // holds the IOR - - fstream iorfile; - - ACE_UNUSED_ARG (objkey); - - // parse the arguments - ACE_Get_Opt get_opt (argc, argv, "d:vh:f:l:L:S:q:"); // Command line options - _debug_level = 0; - while ((c = get_opt ()) != -1) - { - switch (c) - { - case 'h': - host = ACE_OS::strdup (get_opt.optarg); - break; - case 'L': - title = ACE_OS::strdup (get_opt.optarg); - break; - case 'd': - _debug_level = ACE_OS::atoi (get_opt.optarg); - if (_debug_level > 10) - _debug_level = 10; - break; - case 'l': - buflen = ACE_OS::atoi (get_opt.optarg); - break; - case 'v': - verbose = 1; - break; - case 'f': - fmt = *get_opt.optarg; - break; - case 'S': /* total source data to send. */ - srcDataSize = ACE_OS::atoi (get_opt.optarg); - break; - case 'q': /* Send sequence of desired data type */ - switch(*get_opt.optarg){ - case 's': - dt = SEND_SHORT; - break; - case 'l': - dt = SEND_LONG; - break; - case 'd': - dt = SEND_DOUBLE; - break; - case 'c': - dt = SEND_CHAR; - break; - case 'o': - dt = SEND_OCTET; - break; - case 'S': - dt = SEND_STRUCT; - break; - case 'C': - dt = SEND_COMPOSITE; - break; - } - break; - // default: - //return print_usage (); - } - } - - // - // Transmitter - // - - // get a handle to the ORB - orb_ptr = CORBA::ORB_init (argc, - argv); - if (env.exception () != 0) - { - // env.print_exception ("ORB initialization", stdout); - return -1; - } - - // Retrieve a factory objref. - objref = orb_ptr->resolve_initial_references ("TTCP_IIOP_test"); - // @@ put exception handling here !! - - if (CORBA::is_nil (objref) == CORBA_TRUE) - ACE_ERROR_RETURN ((LM_ERROR, - "resolve_initial_references returned null object for ttcp_sequence\n"), - -1); - - - if (!CORBA::is_nil (objref)) - { - // if it is a valid obj ref, narrow it to a ttcp_sequence CORBA object - ttcp_seq = ttcp_sequence::_narrow (objref); - - if (!CORBA::is_nil (ttcp_seq)) - { - - // the number of iterations is based on the total data size and the - // individual buffer size sent - nbuf = srcDataSize/buflen; - ACE_DEBUG ((LM_DEBUG, "data size = %d, buflen = %d, nbuf = %d\n", - srcDataSize, buflen, nbuf)); - - // - // Prepare the Message to be sent - // - - // first allocate a buffer of the desired size and alignment - errno = 0; - if ((buf = (char *) ACE_OS::malloc (buflen)) == (char *) NULL) - err ("malloc"); - - // fill the buffer with the data type to be sent - FillPattern (buf, buflen, dt); - - // - // Start the timers on the client and server sides - // - prep_timer (); // start our time - ttcp_seq->start_timer (); // ask the server to start its timer - if (env.exception () != 0) - { - // env.print_exception ("start_timer operation", stdout); - return -1; - } - -#if defined (USE_QUANTIFY) - /* start recording quantify data from here */ - quantify_clear_data (); - quantify_start_recording_data (); -#endif - // send the same buffer nbuf times - while (nbuf--) - { - switch (dt){ - case SEND_SHORT: - ttcp_seq->sendShortSeq (*sseq); - nbytes += sseq->length () * sizeof (CORBA::Short); - break; - case SEND_LONG: - ttcp_seq->sendLongSeq (*lseq); - nbytes += lseq->length () * sizeof (CORBA::Long); - break; - case SEND_OCTET: - ttcp_seq->sendOctetSeq (*oseq); - nbytes += oseq->length () * sizeof (CORBA::Octet); - break; - case SEND_DOUBLE: - ttcp_seq->sendDoubleSeq (*dseq); - nbytes += dseq->length () * sizeof (CORBA::Double); - break; - case SEND_CHAR: - ttcp_seq->sendCharSeq (*cseq); - nbytes += cseq->length () * sizeof (CORBA::Char); - break; - case SEND_STRUCT: - ttcp_seq->sendStructSeq (*Sseq); - nbytes += Sseq->length () * sizeof (BinStruct); - break; - } - - numCalls++; // nbytes and numCalls are used in the thruput - // measurement - } -#if defined (USE_QUANTIFY) - quantify_stop_recording_data(); -#endif - // - // Stop the timer - // - // stop the timer on the server side - ttcp_seq->stop_timer (); - - if (env.exception () != 0) - { - // env.print_exception ("stop_timer operation", stdout); - return -1; - } - // stop our timer - (void) read_timer (stats, sizeof (stats)); - - // print results - PrintStats(); - } - } - - CORBA::release (ttcp_seq); - CORBA::release (objref); - CORBA::release (orb_ptr); - } - catch(const CORBA::SystemException& exc) - { - ACE_DEBUG ((LM_DEBUG, - "CORBA::SystemException caught: %s (minor: %d): client.cpp\n\n", - exc._repository_id (), - exc.minor ())); - } - catch(const CORBA::UserException& exc) - { - ACE_DEBUG ((LM_DEBUG, - "CORBA::UserException caught: %s: client.cpp\n\n", - exc._repository_id ())); - } - catch(...) - { - ACE_DEBUG ((LM_DEBUG, - "Exception caught: client.cpp\n\n")); - } - - return (0); -} - -int print_usage (void) -{ - ACE_ERROR ((LM_ERROR, "Usage error\n")); - ACE_ERROR ((LM_ERROR, "%s\n", Usage)); - return -1; -} diff --git a/TAO/tests/Thruput/CORBAplus/extract b/TAO/tests/Thruput/CORBAplus/extract deleted file mode 100644 index f0fc2947b92..00000000000 --- a/TAO/tests/Thruput/CORBAplus/extract +++ /dev/null @@ -1,4 +0,0 @@ -rm -f outfile -touch outfile -grep "Mbit/sec\|Send" results.CP | head -20 > outfile -grep "msec/call\|Send" results.CP | head -20 >> outfile diff --git a/TAO/tests/Thruput/CORBAplus/run b/TAO/tests/Thruput/CORBAplus/run deleted file mode 100644 index 009677fdcde..00000000000 --- a/TAO/tests/Thruput/CORBAplus/run +++ /dev/null @@ -1 +0,0 @@ -client -S 67108864 -f m -l $1 -L temp -q $2 -d $3 diff --git a/TAO/tests/Thruput/CORBAplus/run_client b/TAO/tests/Thruput/CORBAplus/run_client deleted file mode 100644 index 9e6932f8ae6..00000000000 --- a/TAO/tests/Thruput/CORBAplus/run_client +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/csh -f -# All ATM tests: 64k socket Queue Size -# -# shorts -run_test 67108864 128 $1 ./results/REMOTE/$1/sun-iiop.atm.64 s $2 -sleep 5 -# longs -run_test 67108864 128 $1 ./results/REMOTE/$1/sun-iiop.atm.64 l $2 -sleep 5 -# octets -run_test 67108864 128 $1 ./results/REMOTE/$1/sun-iiop.atm.64 o $2 -sleep 5 -# doubles -run_test 67108864 128 $1 ./results/REMOTE/$1/sun-iiop.atm.64 d $2 -sleep 5 -# chars -#run_test 67108864 128 $1 ./results/REMOTE/$1/sun-iiop.atm.64 c $2 -#sleep 5 -# structures -run_test 67108864 128 $1 ./results/REMOTE/$1/sun-iiop.atm.64 S $2 -sleep 5 -# Composite Structs -#run_test 67108864 128 $1 ./results/REMOTE/$1/sun-iiop.atm.64 C $2 -#sleep 5 -# diff --git a/TAO/tests/Thruput/CORBAplus/run_server b/TAO/tests/Thruput/CORBAplus/run_server deleted file mode 100644 index e4faa5331e4..00000000000 --- a/TAO/tests/Thruput/CORBAplus/run_server +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/csh -# -# Usage: server <switches> -# -u : use IOR -# -f m : output results in Mbps -# -b <sock Q size> ** not implemented ** -# -OAhost <host name> ************* must provide this for this version -# -OAthread : use threaded version as opposed to reactive -# -server -f m -ORBhost mambo.cs.wustl.edu #-OAthread diff --git a/TAO/tests/Thruput/CORBAplus/run_test b/TAO/tests/Thruput/CORBAplus/run_test deleted file mode 100644 index 622b0b4fee6..00000000000 --- a/TAO/tests/Thruput/CORBAplus/run_test +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/csh -f -echo $* -if ($#argv < 3) then - echo "Usage: sclt <Total Data Size> <Max msg size> <destination> <TitleOfThisTest> <seq type> <destination-port>" - exit 1 -endif -# -@ msize=1024 -@ limit= ($argv[2] * 1024) -#echo $limit -#echo $msize -test -d $4 || mkdir $4 -echo "Iteration#" 1 ": client -pbtrace -pbinit TTCP_IIOP_test iiop://$3:$6/TTCP_IIOP_test -S" $1 "-D -f m -s -t -l" $msize "-h" $3 "-x -L" $4 "-q" $5 -b 65536 -client -pbtrace -pbinit TTCP_IIOP_test iiop://$3:$6/TTCP_IIOP_test -S $1 -f m -l $msize -h $3 -L $4 -q $5 -set flag=0 -while ($msize <= $limit) - if ($flag == 0) goto label - echo "Iteration#" 1 ": client -pbtrace -pbinit TTCP_IIOP_test iiop://$3:$6/TTCP_IIOP_test -S" $1 "-D -f m -l" $msize "-h" $3 "-x -L" $4 "-q" $5 -b 65536 - client -pbtrace -pbinit TTCP_IIOP_test iiop://$3:$6/TTCP_IIOP_test -S $1 -f m -l $msize -h $3 -L $4 -q $5 - label: - set flag=1 - sleep 5 - foreach i (2) - echo "Iteration#" $i ": client -pbtrace -pbinit TTCP_IIOP_test iiop://$3:$6/TTCP_IIOP_test -S" $1 "-D -f m -s -t -l" $msize "-h" $3 "-x -L " $4 "-q" $5 -b 65536 - client -pbtrace -pbinit TTCP_IIOP_test iiop://$3:$6/TTCP_IIOP_test -S $1 -f m -l $msize -h $3 -L $4 -q $5 - end - echo "---------------------------" - @ msize = ($msize * 2) - sleep 5 -end - -echo " " -echo "Done at:" -date diff --git a/TAO/tests/Thruput/CORBAplus/run_tests b/TAO/tests/Thruput/CORBAplus/run_tests deleted file mode 100644 index 0cbf595fe84..00000000000 --- a/TAO/tests/Thruput/CORBAplus/run_tests +++ /dev/null @@ -1,41 +0,0 @@ -#! /bin/csh -# -# Usage: run_tests <arguments> -# <host> : remote hostname server -# <port> : remote port to send requests. -# - -rm -f results.CP -touch results.CP - -echo "CORBAplus throughput test" -echo "=========================" -echo "CORBAplus throughput test" >>& results.CP -echo "=========================" >>& results.CP - - -echo "Send Struct --------------------------------------------------------" >>& results.CP - ./client -S 10485760 -f m -l 1024 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - ./client -S 10485760 -f m -l 2048 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - ./client -S 10485760 -f m -l 4096 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - ./client -S 10485760 -f m -l 8192 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - ./client -S 10485760 -f m -l 16384 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - ./client -S 10485760 -f m -l 32768 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - ./client -S 10485760 -f m -l 65536 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - ./client -S 10485760 -f m -l 131072 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - ./client -S 10485760 -f m -l 262144 -q S -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - -echo "Send Short ---------------------------------------------------------" >>& results.CP - ./client -S 10485760 -f m -l 1024 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - ./client -S 10485760 -f m -l 2048 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - ./client -S 10485760 -f m -l 4096 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - ./client -S 10485760 -f m -l 8192 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - ./client -S 10485760 -f m -l 16384 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - ./client -S 10485760 -f m -l 32768 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - ./client -S 10485760 -f m -l 65536 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - ./client -S 10485760 -f m -l 131072 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - ./client -S 10485760 -f m -l 262144 -q s -pbtrace -pbinit TTCP_IIOP_test iiop://$1:$2/TTCP_IIOP_test >>& results.CP - - -grep "Mbit/sec\|Send" results.CP - diff --git a/TAO/tests/Thruput/CORBAplus/server.cpp b/TAO/tests/Thruput/CORBAplus/server.cpp deleted file mode 100644 index 4d54a181ebc..00000000000 --- a/TAO/tests/Thruput/CORBAplus/server.cpp +++ /dev/null @@ -1,176 +0,0 @@ -// $Id$ -// ============================================================================ -// -// = TAO tests -// Throughput measurement using the TTCP benchmark adapted to work using TAO -// -// = FILENAME -// server.cpp -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -#include <iostream.h> -#include <fstream.h> - -#include <pbroker/corba/xpsorb.h> -#include <pbroker/corba/xpsboa.h> -#include <pbroker/corba/boad/boafull.h> // will force usage of "Full" BOA API -#include <pbroker/unixsvc/unixsvc.h> - -#include "ace/ACE.h" -#include "ttcp_i.h" -#include "ace/Get_Opt.h" - -char Usage[] = "\ -Usage: server [TAO options] [options] \n\ -Common options:\n\ --l ## length of bufs read from or written to network (default 8192)\n\ --v verbose: print more statistics\n\ --d ## set debug level \n\ --f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n\ --L ## Output file name for the data type used\n\n\ -"; - -CORBA::Long trans = 0; // we are the receiver -CORBA::Long buflen = 8 * 1024; // length of buffer -CORBA::Char *buf; // ptr to dynamic buffer -CORBA::Long nbuf; // number of buffers to send in sinkmode -CORBA::Long verbose = 0; // 0=print basic info, 1=print cpu rate, proc - // resource usage. -CORBA::Char fmt = 'K'; // output format:k=kilobits,K=kilobytes, m = - // megabits, M = megabytes, g = gigabits, G = - // gigabytes - -char *title = 0; // results filename - -CORBA::Char stats[128]; // gathering the statistics -CORBA::ULong srcDataSize; // Total amount of source data -CORBA::ULong nbytes; // bytes on net -CORBA::ULong numCalls; // # of I/O system calls -CORBA::Double cput, realt; // user, real time (seconds) -CORBA::ULong dt; // data type - -/* declare struct variables for various message types */ -ttcp_sequence::ShortSeq *sseq; -ttcp_sequence::LongSeq *lseq; -ttcp_sequence::OctetSeq *oseq; -ttcp_sequence::DoubleSeq *dseq; -ttcp_sequence::CharSeq *cseq; -ttcp_sequence::StructSeq *Sseq; - -ttcp_sequence_i *my_ttcp; // instance of the target object - -u_int _debug_level = 0; - -// main program - Driver -int -main (int argc, char **argv) -{ - - int c; // option - CORBA::Environment env; // environment - XpsORB_ptr orb_ptr = XpsORB::_nil (); // handle to the ORB - XpsBOA * oa_ptr = XpsBOA::_nil (); // Object adapter - CORBA::String key = (CORBA::String) "key0"; // key assigned to our - // target object - CORBA::String str; // for stringified representation of the object reference - - ACE_UNUSED_ARG (key); - - try - { - // initialize the underlying ORB and get a handle to it - orb_ptr = XpsORB::init (argc, argv); - - // now get a handle to the object adapter - oa_ptr = XpsBOA::init (argc, argv); - - if (CORBA::is_nil(orb_ptr) || CORBA::is_nil(oa_ptr)) - { - ACE_ERROR_RETURN ((LM_ERROR, - " (%P|%t) Unable to initialize the ORB and/or the BOA\n"), - 1); - } - - // for parsing the arguments - ACE_Get_Opt get_opt (argc, argv, "l:vd:f:L:"); - - _debug_level = 0; - for (; (c = get_opt ()) != EOF;) - { - switch (c) - { - case 'L': - // title of output file that stores result - title = ACE_OS::strdup (get_opt.optarg); - break; - case 'd': - // debugging level - _debug_level = ACE_OS::atoi (get_opt.optarg); - if (_debug_level > 10) - _debug_level = 10; - break; - case 'f': - // output format i.e., Mbps, Kbps, etc - fmt = *get_opt.optarg; - break; - } - } - - // - // Receiver - // - - // create an instance of an object implementing the "ttcp" interface - my_ttcp = new ttcp_sequence_i ("TTCP_IIOP_test"); // this is its name - - if (1)//_debug_level > 0) - { - // get a stringified representation of the object reference created above - str = orb_ptr->object_to_url (my_ttcp); - ACE_DEBUG ((LM_DEBUG, "stringified obj reference = %s\n", str)); - } - -#if defined (USE_QUANTIFY) - // gather profile data - quantify_clear_data(); - quantify_start_recording_data(); -#endif - - oa_ptr->obj_is_ready (my_ttcp, nil); - oa_ptr->registerAlias (my_ttcp, "TTCP_IIOP_test"); - - // Handle requests for this object until we're killed, or one of the - // methods asks us to exit. - XpsEventService eventService; - eventService.mainloop(); // control will not return to this point - - } /* end of try() */ - catch(const CORBA::SystemException& exc) - { - ACE_DEBUG ((LM_DEBUG, - "CORBA::SystemException caught: %s (minor: %d): server.cpp\n\n", - exc._repository_id (), - exc.minor ())); - } - catch(const CORBA::UserException& exc) - { - ACE_DEBUG ((LM_DEBUG, - "CORBA::UserException caught: %s: server.cpp\n\n", - exc._repository_id ())); - } - catch(...) - { - ACE_DEBUG ((LM_DEBUG, - "Exception caught: server.cpp\n\n")); - } - - return 0; - - // usage: - // fprintf (stderr, Usage); - // return(1); -} diff --git a/TAO/tests/Thruput/CORBAplus/ttcp.idl b/TAO/tests/Thruput/CORBAplus/ttcp.idl deleted file mode 100644 index 02f382f3d29..00000000000 --- a/TAO/tests/Thruput/CORBAplus/ttcp.idl +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- C++ -*- */ -struct BinStruct -{ - short s; - char c; - long l; - octet o; - double d; - // octet pad[8]; // to make it 32 bytes - // commented out until IDL support for arrays is added -}; - -// Richly typed data -interface ttcp_sequence -{ - typedef sequence<short> ShortSeq; - typedef sequence<long> LongSeq; - typedef sequence<double> DoubleSeq; - typedef sequence<char> CharSeq; - typedef sequence<octet> OctetSeq; - typedef sequence<BinStruct> StructSeq; - - - // Routines to send sequences of various data types - oneway void sendShortSeq (in ShortSeq ttcp_seq); - oneway void sendLongSeq (in LongSeq ttcp_seq); - oneway void sendDoubleSeq (in DoubleSeq ttcp_seq); - oneway void sendCharSeq (in CharSeq ttcp_seq); - oneway void sendOctetSeq (in OctetSeq ttcp_seq); - oneway void sendStructSeq (in StructSeq ttcp_seq); - - oneway void start_timer (); - oneway void stop_timer (); -}; diff --git a/TAO/tests/Thruput/CORBAplus/ttcp_decl.h b/TAO/tests/Thruput/CORBAplus/ttcp_decl.h deleted file mode 100644 index 199580ed30d..00000000000 --- a/TAO/tests/Thruput/CORBAplus/ttcp_decl.h +++ /dev/null @@ -1,76 +0,0 @@ - -/* - * T T C P Header File - * - */ - -/* This file includes all the declarations and prototypes */ - -#ifndef _TTCP_DECL_H_ -#define _TTCP_DECL_H_ - -#include "ace/OS.h" -#include "ace/Profile_Timer.h" - -/* File to be included if Quantify is to be used */ -#if defined (USE_QUANTIFY) -#include <quantify.h> -#endif - - -/* define the data types to be sent */ -#define SEND_SHORT ((CORBA::ULong)(1)) -#define SEND_LONG ((CORBA::ULong)(2)) -#define SEND_CHAR ((CORBA::ULong)(3)) -#define SEND_OCTET ((CORBA::ULong)(4)) -#define SEND_DOUBLE ((CORBA::ULong)(5)) -#define SEND_STRUCT ((CORBA::ULong)(6)) -#define SEND_COMPOSITE ((CORBA::ULong)(7)) - -/************** -// Prototypes -***************/ -int err (char *s); -void mes (CORBA::Char *s); -char *outfmt (CORBA::Double b); -void prep_timer (void); -CORBA::Double read_timer (char *str, CORBA::Long len); -void prusage (register struct rusage *r0, struct rusage *r1, struct timeval *e, struct timeval *b, char *outp); -void tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1); -void tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0); -void psecs (CORBA::Long l, register char *cp); -void delay (CORBA::Long us); -void FillPattern (register char *cp, register CORBA::Long bufLen, CORBA::ULong dt); -void PrintStats (void); - -/* Global variables defined here as extern */ -extern ACE_Svc_Export CORBA::Long trans; // whether we are transmitter - // or receiver -extern ACE_Svc_Export CORBA::Long buflen; /* length of buffer */ -extern ACE_Svc_Export char *buf; /* ptr to dynamic buffer */ -extern ACE_Svc_Export CORBA::Long nbuf; /* number of buffers to send in sinkmode */ -extern ACE_Svc_Export CORBA::Short port; /* TCP port number */ -extern ACE_Svc_Export char *host; /* ptr to name of host */ -extern ACE_Svc_Export CORBA::Long verbose; /* 0=print basic info, 1=prCORBA::Long cpu rate, proc - * resource usage. */ -extern ACE_Svc_Export CORBA::Char fmt; /* output format:k=kilobits,K=kilobytes, - * m = megabits, M = megabytes, - * g = gigabits, G = gigabytes */ -extern ACE_Svc_Export char *title; - -extern ACE_Svc_Export char stats[128]; -extern ACE_Svc_Export CORBA::ULong srcDataSize; /* Total amount of source data */ -extern ACE_Svc_Export CORBA::ULong nbytes; /* bytes on net */ -extern ACE_Svc_Export CORBA::ULong numCalls; /* # of I/O system calls */ -extern ACE_Svc_Export CORBA::Double cput, realt; /* user, real time (seconds) */ -extern ACE_Svc_Export CORBA::ULong dt; - -/* declare struct variables for various message types */ -extern ACE_Svc_Export ttcp_sequence::ShortSeq *sseq; -extern ACE_Svc_Export ttcp_sequence::LongSeq *lseq; -extern ACE_Svc_Export ttcp_sequence::OctetSeq *oseq; -extern ACE_Svc_Export ttcp_sequence::DoubleSeq *dseq; -extern ACE_Svc_Export ttcp_sequence::CharSeq *cseq; -extern ACE_Svc_Export ttcp_sequence::StructSeq *Sseq; - -#endif diff --git a/TAO/tests/Thruput/CORBAplus/ttcp_i.cpp b/TAO/tests/Thruput/CORBAplus/ttcp_i.cpp deleted file mode 100644 index 8f8afaaeee9..00000000000 --- a/TAO/tests/Thruput/CORBAplus/ttcp_i.cpp +++ /dev/null @@ -1,103 +0,0 @@ -#include "pbroker/corba/orb.h" -#include "pbroker/corba/environ.h" -#include <pbroker/corba/xpsboa.h> -#include <pbroker/corba/lifecycl/impldecl.h> -#include <iostream.h> -#include "ace/ACE.h" -#include "ttcp_i.h" -#include "ttcp_decl.h" - -/* the ttcp_i class implementation */ -ttcp_sequence_i::ttcp_sequence_i(const char *obj_name) - : key_(obj_name) -{ - this->nbytes_ = 0; - numCalls = 0; -} - -const char * -ttcp_sequence_i::_get_name (void) -{ - return key_; -} - -void -ttcp_sequence_i::start_timer (void) -{ - this->nbytes_ = 0; - ::prep_timer (); -} - -void -ttcp_sequence_i::stop_timer (void) -{ - (void) ::read_timer (stats, sizeof (stats)); - ::nbytes = this->nbytes_; - ::PrintStats(); - // reset - this->nbytes_ = 0; - numCalls = 0; -#if defined (USE_QUANTIFY) - quantify_stop_recording_data(); - ACE_Service_Config::end_reactor_event_loop(); - cerr << "*********** just before exiting " << endl; -#endif -#if defined (USE_PURIFY) - ACE_Service_Config::end_reactor_event_loop(); - cerr << "*********** just before exiting " << endl; -#endif -} - -void -ttcp_sequence_i::sendShortSeq(const ttcp_sequence::ShortSeq& ttcp_seq) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Short); -} - -void -ttcp_sequence_i::sendLongSeq(const ttcp_sequence::LongSeq& ttcp_seq) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Long) ; -} - -void -ttcp_sequence_i::sendOctetSeq(const ttcp_sequence::OctetSeq& ttcp_seq) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Octet) ; -} - -void -ttcp_sequence_i::sendDoubleSeq(const ttcp_sequence::DoubleSeq& ttcp_seq) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Double) ; -} - -void -ttcp_sequence_i::sendCharSeq(const ttcp_sequence::CharSeq& ttcp_seq) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Char) ; -} - -void -ttcp_sequence_i::sendStructSeq(const ttcp_sequence::StructSeq& ttcp_seq) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(BinStruct) ; -#ifdef DEBUG - // cout << "Bytes received so far = " << this->nbytes_ << endl; -#endif -} - - - - - - - - - diff --git a/TAO/tests/Thruput/CORBAplus/ttcp_i.h b/TAO/tests/Thruput/CORBAplus/ttcp_i.h deleted file mode 100644 index 507c414349e..00000000000 --- a/TAO/tests/Thruput/CORBAplus/ttcp_i.h +++ /dev/null @@ -1,59 +0,0 @@ -// ============================================================================ -// -// = TAO tests -// Throughput measurement using the TTCP benchmark adapted to work using -// CORBAplus PowerBroker from Expersoft -// = FILENAME -// ttcp_i.h -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -#if !defined (TTCP_I_H) -#define TTCP_I_H - -#include <pbroker/corba/lifecycl/actvtr.h> -#include <pbroker/corba/lifecycl/impldecl.h> -#include "pbroker/corba/orb.h" -#include "pbroker/corba/request.h" -#include "pbroker/corba/environ.h" - -#include "ace/OS.h" -#include "ttcp_s.h" - -class ttcp_sequence_i: public ttcp_sequence_base_impl -{ -public: - // XPS_CAST1_DECL(ttcp_sequence_i,ttcp_sequence_base_impl) - // XPS_DEFINE_IMPLEMENTATION(ttcp_sequence_decl) - - ttcp_sequence_i(const char *obj_name); - - ttcp_sequence_i (void) - { ttcp_sequence_i ("keyone");} - - ttcp_sequence_i (const CORBA_ReferenceData & refData) - { ttcp_sequence_i ("keyone");} - - virtual void sendShortSeq (const ttcp_sequence::ShortSeq& ttcp_seq); - virtual void sendLongSeq (const ttcp_sequence::LongSeq& ttcp_seq); - virtual void sendDoubleSeq (const ttcp_sequence::DoubleSeq& ttcp_seq); - virtual void sendCharSeq (const ttcp_sequence::CharSeq& ttcp_seq); - virtual void sendStructSeq (const ttcp_sequence::StructSeq& ttcp_seq); - virtual void sendOctetSeq (const ttcp_sequence::OctetSeq& ttcp_seq); - - /* Routines to calculate the time required to transfer */ - virtual void start_timer (void); - virtual void stop_timer (void); - - const char *_get_name (void); - // get the key of the object. -private: - unsigned long nbytes_; - const char *key_; -}; - -#endif // defined (TTCP_I_H) - diff --git a/TAO/tests/Thruput/CORBAplus/utils.cpp b/TAO/tests/Thruput/CORBAplus/utils.cpp deleted file mode 100644 index 3538bf2acb5..00000000000 --- a/TAO/tests/Thruput/CORBAplus/utils.cpp +++ /dev/null @@ -1,465 +0,0 @@ -// ============================================================================ -// -// = TAO tests -// Throughput measurement using the TTCP benchmark adapted to work using TAO -// -// = FILENAME -// utils.cpp -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -// This file has all the helper functions that do the computation of -// throughput, system time used, user time, etc based on data collected. - -#include "ttcp.h" -#include "ttcp_decl.h" - -// the error function. -// displays the error message and exits -int err (char *s) -{ - ACE_OS::fprintf (stderr, "ttcp%s: ", trans ? "-t" : "-r"); - ACE_OS::perror (s); - ACE_OS::fprintf (stderr, "errno=%d\n", errno); - return -1; -} - -// prints a message indicating if it is a transmitter or a receiver -void mes (CORBA::String s) -{ - ACE_OS::fprintf (stderr, "ttcp%s: %s\n", trans ? "-t" : "-r", s); -} - -// does the formatting for the desired units in which the result is to be -// displayed -char * -outfmt (CORBA::Double b) -{ - static char obuf[50]; - switch (fmt) - { - case 'G': - ACE_OS::sprintf (obuf, "%.2f GB", b / 1024.0 / 1024.0 / 1024.0); - break; - default: - case 'K': - ACE_OS::sprintf (obuf, "%.2f KB", b / 1024.0); - break; - case 'M': - ACE_OS::sprintf (obuf, "%.2f MB", b / 1024.0 / 1024.0); - break; - case 'g': - ACE_OS::sprintf (obuf, "%.2f Gbit", b * 8.0 / 1024.0 / 1024.0 / 1024.0); - break; - case 'k': - ACE_OS::sprintf (obuf, "%.2f Kbit", b * 8.0 / 1024.0); - break; - case 'm': - ACE_OS::sprintf (obuf, "%.2f Mbit", b * 8.0 / 1024.0 / 1024.0); - break; - } - return obuf; -} - -static struct itimerval itime0; /* Time at which timing started */ -static struct rusage ru0; /* Resource utilization at the start */ - -/* - * P R E P _ T I M E R - */ -// this is in fact the internals of the "start_timer" operation -void -prep_timer (void) -{ - itime0.it_interval.tv_sec = 0; - itime0.it_interval.tv_usec = 0; - itime0.it_value.tv_sec = LONG_MAX / 22; /* greatest possible value , itimer() count backwards */ - itime0.it_value.tv_usec = 0; - - - ACE_OS::getrusage (RUSAGE_SELF, &ru0); - - /* Init REAL Timer */ - if (setitimer (ITIMER_REAL, &itime0, NULL)) - { - perror ("Setting 'itimer' REAL failed"); - return; - } - -} - -/* - * R E A D _ T I M E R - * - */ -// This implements the internals of the "stop_timer" method -double -read_timer (char *str, CORBA::Long len) -{ - struct itimerval itimedol; - struct rusage ru1; - struct timeval td; - struct timeval tend, tstart; - char line[132]; - - ACE_OS::getrusage (RUSAGE_SELF, &ru1); - - if (getitimer (ITIMER_REAL, &itimedol)) - { - perror ("Getting 'itimer' REAL failed"); - return (0.0); - } - - prusage (&ru0, &ru1, &itime0.it_value, &itimedol.it_value, line); - (void) strncpy (str, line, len); - - /* Get real time */ - tvsub (&td, &itime0.it_value, &itimedol.it_value); - realt = td.tv_sec + ((double) td.tv_usec) / 1000000; - - /* Get CPU time (user+sys) */ - tvadd (&tend, &ru1.ru_utime, &ru1.ru_stime); - tvadd (&tstart, &ru0.ru_utime, &ru0.ru_stime); - tvsub (&td, &tend, &tstart); - cput = td.tv_sec + ((double) td.tv_usec) / 1000000; - if (cput < 0.00001) - cput = 0.00001; - return (cput); -} - -// prints the rusage stats -void -prusage (register struct rusage *r0, struct rusage *r1, - struct timeval *e, struct timeval *b, char *outp) -{ - struct timeval tdiff; - register time_t t; - register char *cp; - register int i; - int ms; - - t = (r1->ru_utime.tv_sec - r0->ru_utime.tv_sec) * 100 + - (r1->ru_utime.tv_usec - r0->ru_utime.tv_usec) / 10000 + - (r1->ru_stime.tv_sec - r0->ru_stime.tv_sec) * 100 + - (r1->ru_stime.tv_usec - r0->ru_stime.tv_usec) / 10000; - ms = (e->tv_sec - b->tv_sec) * 100 + (e->tv_usec - b->tv_usec) / 10000; - -#define END(x) {while(*x) x++;} -#if defined(SYSV) - cp = "%Uuser %Ssys %Ereal %P"; -#else -#if defined(sgi) /* IRIX 3.3 will show 0 for %M,%F,%R,%C */ - cp = "%Uuser %Ssys %Ereal %P %Mmaxrss %F+%Rpf %Ccsw"; -#else - cp = "%Uuser %Ssys %Ereal %P %Xi+%Dd %Mmaxrss %F+%Rpf %Ccsw"; -#endif -#endif - for (; *cp; cp++) - { - if (*cp != '%') - *outp++ = *cp; - else if (cp[1]) - switch (*++cp) - { - - case 'U': - tvsub (&tdiff, &r1->ru_utime, &r0->ru_utime); - ACE_OS::sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec / 100000); - END (outp); - break; - - case 'S': - tvsub (&tdiff, &r1->ru_stime, &r0->ru_stime); - ACE_OS::sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec / 100000); - END (outp); - break; - - case 'E': - psecs (ms / 100, outp); - END (outp); - break; - - case 'P': - ACE_OS::sprintf (outp, "%d%%", (int) (t * 100 / ((ms ? ms : 1)))); - END (outp); - break; - -#if !defined(SYSV) - case 'W': - i = r1->ru_nswap - r0->ru_nswap; - ACE_OS::sprintf (outp, "%d", i); - END (outp); - break; - - case 'X': - ACE_OS::sprintf (outp, "%d", t == 0 ? 0 : (r1->ru_ixrss - r0->ru_ixrss) / t); - END (outp); - break; - - case 'D': - ACE_OS::sprintf (outp, "%d", t == 0 ? 0 : - (r1->ru_idrss + r1->ru_isrss - (r0->ru_idrss + r0->ru_isrss)) / t); - END (outp); - break; - - case 'K': - ACE_OS::sprintf (outp, "%d", t == 0 ? 0 : - ((r1->ru_ixrss + r1->ru_isrss + r1->ru_idrss) - - (r0->ru_ixrss + r0->ru_idrss + r0->ru_isrss)) / t); - END (outp); - break; - - case 'M': - ACE_OS::sprintf (outp, "%d", r1->ru_maxrss / 2); - END (outp); - break; - - case 'F': - ACE_OS::sprintf (outp, "%d", r1->ru_majflt - r0->ru_majflt); - END (outp); - break; - - case 'R': - ACE_OS::sprintf (outp, "%d", r1->ru_minflt - r0->ru_minflt); - END (outp); - break; - - case 'I': - ACE_OS::sprintf (outp, "%d", r1->ru_inblock - r0->ru_inblock); - END (outp); - break; - - case 'O': - ACE_OS::sprintf (outp, "%d", r1->ru_oublock - r0->ru_oublock); - END (outp); - break; - case 'C': - ACE_OS::sprintf (outp, "%d+%d", r1->ru_nvcsw - r0->ru_nvcsw, - r1->ru_nivcsw - r0->ru_nivcsw); - END (outp); - break; -#endif /* !SYSV */ - } - } - *outp = '\0'; -} - -// adds two "timeval" structures -void -tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1) -{ - - tsum->tv_sec = t0->tv_sec + t1->tv_sec; - tsum->tv_usec = t0->tv_usec + t1->tv_usec; - if (tsum->tv_usec > 1000000) - tsum->tv_sec++, tsum->tv_usec -= 1000000; -} - -// finds difference between two timevals -void -tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0) -{ - - tdiff->tv_sec = t1->tv_sec - t0->tv_sec; - tdiff->tv_usec = t1->tv_usec - t0->tv_usec; - if (tdiff->tv_usec < 0) - tdiff->tv_sec--, tdiff->tv_usec += 1000000; -} - -// print in seconds -void -psecs (CORBA::Long l, register char *cp) -{ - register int i; - - i = l / 3600; - if (i) - { - ACE_OS::sprintf (cp, "%d:", i); - END (cp); - i = l % 3600; - ACE_OS::sprintf (cp, "%d%d", (i / 60) / 10, (i / 60) % 10); - END (cp); - } - else - { - i = l; - ACE_OS::sprintf (cp, "%d", i / 60); - END (cp); - } - i %= 60; - *cp++ = ':'; - ACE_OS::sprintf (cp, "%d%d", i / 10, i % 10); -} - -// generate the specified delay in microseconds -void -delay (int us) -{ - struct timeval tv; - - tv.tv_sec = 0; - tv.tv_usec = us; - (void) select (1, (fd_set *) 0, (fd_set *) 0, (fd_set *) 0, &tv); -} - -// fill up a buffer with a data type that we want to send -void -FillPattern (register char *cp, register CORBA::Long bufLen, CORBA::ULong dt) -{ - unsigned long - num, i; - - switch(dt){ - case SEND_SHORT: - { - register short *SeqPtr = (short *)cp; - num = bufLen/sizeof(short); - for (i=0; i < num; i++) - SeqPtr[i] = (short)lrand48(); - sseq = new ttcp_sequence::ShortSeq(num,num, SeqPtr); - } - break; - case SEND_LONG: - { - register long *SeqPtr = (long *)cp; - num = bufLen/sizeof(long); - for (i=0; i < num; i++) - SeqPtr[i] = lrand48(); - lseq = new ttcp_sequence::LongSeq(num, num, SeqPtr); - } - break; - case SEND_DOUBLE: - { - register double *SeqPtr = (double *)cp; - num = bufLen/sizeof(double); - for (i=0; i < num; i++) - SeqPtr[i] = drand48(); - dseq = new ttcp_sequence::DoubleSeq(num, num, SeqPtr); - } - break; - case SEND_CHAR: - { - register CORBA::Char *SeqPtr = (CORBA::Char *)cp; - register char c = 0; - num = bufLen/sizeof(char); - for(i=0; i < num; i++){ - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i] = (c++ & 0x7f); - } - cseq = new ttcp_sequence::CharSeq(num, num, SeqPtr); - } - break; - case SEND_STRUCT: - { - register BinStruct *SeqPtr = (BinStruct *)cp; - register char c = 0; - num = bufLen/sizeof(BinStruct); - for (i=0; i < num; i++){ - SeqPtr[i].s = (short)lrand48(); - SeqPtr[i].l = lrand48(); - SeqPtr[i].d = drand48(); - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i].c = (c++ & 0x7f); - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i].o = (unsigned char)(c++ & 0x7f); - } - Sseq = new ttcp_sequence::StructSeq(num, num, SeqPtr); - - } - break; - case SEND_OCTET: - default: - { - register CORBA::Octet *SeqPtr = (CORBA::Octet *)cp; - register char c = 0; - num = bufLen/sizeof(CORBA::Octet); - for(i=0; i < num; i++){ - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i] = (c++ & 0x7f); - } - oseq = new ttcp_sequence::OctetSeq(num, num, SeqPtr); - } - break; - } -} - -// print all the statistics -void PrintStats (void) -{ - if (cput <= 0.0) - cput = 0.001; - if (realt <= 0.0) - realt = 0.001; - - if (title != 0) - { - double tmp; - FILE *outFile; - char filename[BUFSIZ]; - - strcpy(filename, title); - switch(dt){ - case SEND_SHORT: - strcat(filename, ".shortSeq.results"); - break; - case SEND_LONG: - strcat(filename, ".longSeq.results"); - break; - case SEND_DOUBLE: - strcat(filename, ".doubleSeq.results"); - break; - case SEND_CHAR: - strcat(filename, ".charSeq.results"); - break; - case SEND_STRUCT: - strcat(filename, ".structSeq.results"); - break; - case SEND_COMPOSITE: - strcat(filename, ".compositeSeq.results"); - break; - case SEND_OCTET: - default: - strcat(filename, ".octetSeq.results"); - break; - } - outFile = fopen (filename, "a+"); - ACE_OS::fprintf (outFile, "\n%ldk \t", buflen / 1024); - tmp = ((double) nbytes) / realt; - ACE_OS::fprintf (outFile, "%.2f ", tmp * 8.0 / 1024.0 / 1024.0); - fclose (outFile); - } - - ACE_OS::fprintf (stdout, - "ttcp%s: %ld bytes in %.2f real seconds = %s/sec +++\n", - trans ? "-t" : "-r", - nbytes, realt, outfmt (((double) nbytes) / realt)); - if (verbose) - { - ACE_OS::fprintf (stdout, - "ttcp%s: %ld bytes in %.2f CPU seconds = %s/cpu sec\n", - trans ? "-t" : "-r", - nbytes, cput, outfmt (((double) nbytes) / cput)); - } - ACE_OS::fprintf (stdout, - "ttcp%s: %d Server Method calls, msec/call = %.2f, calls/sec = %.2f\n", - trans ? "-t" : "-r", - numCalls, - 1024.0 * realt / ((double) numCalls), - ((double) numCalls) / realt); - ACE_OS::fprintf (stdout, "ttcp%s: %s\n", trans ? "-t" : "-r", stats); - if (verbose) - { - ACE_OS::fprintf (stdout, - "ttcp%s: buffer address %#x\n", - trans ? "-t" : "-r", - buf); - } -} diff --git a/TAO/tests/Thruput/Makefile b/TAO/tests/Thruput/Makefile deleted file mode 100644 index 50d889896c9..00000000000 --- a/TAO/tests/Thruput/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -#---------------------------------------------------------------------------- -# @(#)Makefile 1.1 10/18/96 -# -# Makefile for the TAO thruput tests -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -DIRS = TAO - -# DIRS = CORBAplus \ -# Orbix \ -# TAO - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU - diff --git a/TAO/tests/Thruput/Orbix/Client.cpp b/TAO/tests/Thruput/Orbix/Client.cpp deleted file mode 100644 index c804af59aaa..00000000000 --- a/TAO/tests/Thruput/Orbix/Client.cpp +++ /dev/null @@ -1,324 +0,0 @@ -#include "ttcp_decl.h" - -char Usage[] = "\ -Usage: client [-options] [ORBeline options] host \n\ -Common options:\n\ --l ## length of bufs read from or written to network (default 8192)\n\ --A align the start of buffers to this modulus (default 16384)\n\ --o start buffers at this offset from the modulus (default 0)\n\ --v verbose: print more statistics\n\ --d set SO_DEBUG socket option\n\ --b ## set socket buffer size (if supported)\n\ --f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n\ --n ## number of source bufs written to network (default 2048)\n\ --x Use new lines after each entry in output file\n\ --h ## Remote host to send data to\n\ --D don't buffer TCP writes (sets TCP_NODELAY socket option)\n\ --L ## Output file name for the data type used\n\ --S <Total Data Size>\n\ --q <type> Send Sequence: Enumeration for various data types:\n\ -s = short, l = long, d = double, c = char\n\ -o = octet, S = struct, C = composite\n\ -"; - -#if !defined (__cplusplus) -typedef void (*SIG_TYP)(); -#endif - -#ifdef SVR4 -void -sigpipe (int foo) -#else - void -sigpipe () -#endif -{ -} - -int fromlen; -int domain = PF_INET; /* Default is to use Internet domain sockets. */ -char *domainname; /* Rendezvous address for UNIX domain sockets. */ -int fd; /* fd of network socket */ -int buflen = 8 * 1024; /* length of buffer */ -char *buf; /* ptr to dynamic buffer */ -int nbuf = 2 * 1024; /* number of buffers to send in sinkmode */ - -int bufoffset = 0; /* align buffer to this */ -int bufalign = 16 * 1024; /* modulo this */ - -int udp = 0; /* 0 = tcp, !0 = udp */ -int options = 0; /* socket options */ -int one = 1; /* for 4.3 BSD style setsockopt() */ -short port = 5001; /* TCP port number */ -char *host; /* ptr to name of host */ -int trans =1; /* 0=receive, !0=transmit mode */ -int sinkmode = 1; /* 0=normal I/O, !0=sink/source mode */ -int verbose = 0; /* 0=print basic info, 1=print cpu rate, proc -* resource usage. */ -int nodelay = 0; /* set TCP_NODELAY socket option */ -int b_flag = 0; /* use mread() */ -int sockbufsize = 0; /* socket buffer size to use */ -int new_line=0; /* This is a special flag */ -int write_to_file=1; /* indecates writing to file (default)*/ -char fmt = 'K'; /* output format:k=kilobits,K=kilobytes, -* m = megabits, M = megabytes, -* g = gigabits, G = gigabytes */ -int touchdata = 0; /* access data after reading */ - -struct hostent *addr; -char *title = 0; - -char stats[128]; -unsigned long srcDataSize; /* Total amount of source data */ -unsigned long nbytes; /* bytes on net */ -unsigned long numCalls; /* # of I/O system calls */ -double cput, realt; /* user, real time (seconds) */ -unsigned long dt; - -/* declare struct variables for various message types */ -ttcp_sequence::ShortSeq *sseq; -ttcp_sequence::LongSeq *lseq; -ttcp_sequence::OctetSeq *oseq; -ttcp_sequence::DoubleSeq *dseq; -ttcp_sequence::CharSeq *cseq; -ttcp_sequence::StructSeq *Sseq; -ttcp_sequence::CompositeSeq *Cseq; - - -int -main (int argc, char *argv[]) -{ - - unsigned long addr_tmp; - unsigned short done = 0; - int c; - - CORBA::Environment env; - CORBA::Object_ptr target; // will hold handle to proxy - ttcp_sequence_ptr ttcp_seq; - - if (argc < 2) - goto usage; - - - while (!done && ((c = getopt (argc, argv, "dvDb:h:f:l:n:A:o:L:xS:q:O")) != -1)) - { - switch (c) - { - case 'h': - host = optarg; - break; - case 'x': - new_line = 1; - break; - case 'L': - title = optarg; - break; - case 'd': - options |= SO_DEBUG; - break; - case 'D': -#ifdef TCP_NODELAY - nodelay = 1; -#else - fprintf (stderr, - "ttcp: -D option ignored: TCP_NODELAY socket option not supported\n"); -#endif - break; - case 'n': - nbuf = atoi (optarg); - break; - case 'l': - buflen = atoi (optarg); - break; - case 'v': - verbose = 1; - break; - case 'A': - bufalign = atoi (optarg); - break; - case 'o': - bufoffset = atoi (optarg); - break; - case 'b': -#if defined(SO_SNDBUF) || defined(SO_RCVBUF) - sockbufsize = atoi (optarg); -#else - fprintf (stderr, - "ttcp: -b option ignored: SO_SNDBUF/SO_RCVBUF socket options not supported\n"); -#endif - break; - case 'f': - fmt = *optarg; - break; - case 'S': /* total source data to send. */ - /* modify nbuf accordingly */ - srcDataSize = atoi(optarg); - break; - case 'q': /* Send sequence of desired data type */ - switch(*optarg){ - case 's': - dt = SEND_SHORT; - break; - case 'l': - dt = SEND_LONG; - break; - case 'd': - dt = SEND_DOUBLE; - break; - case 'c': - dt = SEND_CHAR; - break; - case 'o': - dt = SEND_OCTET; - break; - case 'S': - dt = SEND_STRUCT; - break; - case 'C': - dt = SEND_COMPOSITE; - break; - } - break; - case 'O': - case '?': - done = 1; - break; - default: - goto usage; - } - } - - // - // Transmitter - // - - // now bind to server - try { - char *service_name = new char[15]; - strcpy(service_name,":SII_ttcp"); // server object's name - - target = ttcp_sequence::_bind (service_name, host); - if (!CORBA::is_nil(target)){ - ttcp_seq = ttcp_sequence::_narrow(target); - - if (!CORBA::is_nil(ttcp_seq)){ - /* start recording quantify data from here */ - if (sockbufsize) - { - /* file descriptor of a proxy is obtained using the _fd() method */ - if (setsockopt (ttcp_seq->_fd (), SOL_SOCKET, SO_SNDBUF, (char *) &sockbufsize, - sizeof sockbufsize) < 0) - err ("setsockopt: sndbuf"); - mes ("sndbuf"); - } - - if (nodelay) - { - struct protoent *p; - p = getprotobyname ("tcp"); - if (setsockopt (ttcp_seq->_fd (), - p->p_proto, - TCP_NODELAY, - (char *)& one, - sizeof (one))) - err ("setsockopt: nodelay"); - mes ("nodelay"); - } - - /* modify nbuf according to Total data size */ - nbuf = srcDataSize/buflen; - fprintf(stderr, "data size = %d, buflen = %d, nbuf = %d\n",srcDataSize, buflen, nbuf); - - // - // Prepare the Message to be sent - // - - errno = 0; - if ((buf = (char *) malloc (buflen + bufalign)) == (char *) NULL) - err ("malloc"); - if (bufalign != 0) - buf += (bufalign - ((int) buf % bufalign) + bufoffset) % bufalign; - - - // fill the appropriate buffers - FillPattern (buf, buflen, dt); - // - // Start the timers on the client and server sides - // - - prep_timer (); - ttcp_seq->start_timer (); -#if defined (USE_QUANTIFY) - quantify_clear_data(); - quantify_start_recording_data(); -#endif - while (nbuf--) - { - switch(dt){ - case SEND_SHORT: - ttcp_seq->sendShortSeq(*sseq); - nbytes += sseq->length()*sizeof(CORBA::Short); - break; - case SEND_LONG: - ttcp_seq->sendLongSeq(*lseq); - nbytes += lseq->length()*sizeof(CORBA::Long); - break; - case SEND_OCTET: - ttcp_seq->sendOctetSeq(*oseq); - nbytes += oseq->length()*sizeof(CORBA::Octet); - break; - case SEND_DOUBLE: - ttcp_seq->sendDoubleSeq(*dseq); - nbytes += dseq->length()*sizeof(CORBA::Double); - break; - case SEND_CHAR: - ttcp_seq->sendCharSeq(*cseq); - nbytes += cseq->length()*sizeof(CORBA::Char); - break; - case SEND_STRUCT: - ttcp_seq->sendStructSeq(*Sseq); - nbytes += Sseq->length()*sizeof(PerfStruct); - break; - case SEND_COMPOSITE: - ttcp_seq->sendCompositeSeq(*Cseq); - nbytes += Cseq->length()*sizeof(CompositeStruct); - break; - } - numCalls++; - } -#if defined(USE_QUANTIFY) - quantify_stop_recording_data(); -#endif - // - // Stop the timer - // - ttcp_seq->stop_timer(); - (void) read_timer (stats, sizeof (stats)); - - // print results - PrintStats(); - - } - } - } - catch(CORBA::SystemException &se){ - // an error occurred while trying to bind to the object. - cerr << "Bind to object failed" << endl; - cerr << "System exception " << &se << endl; - return -1; - } - catch(...) - { - // an error occurred while trying to bind to the object. - cerr << "Bind to object failed" << endl; - cerr << "Unexpected exception " << endl; - return -1; - }; - - CORBA::release(ttcp_seq); - return(0); - usage: - fprintf (stderr, Usage); - return 1; -} diff --git a/TAO/tests/Thruput/Orbix/Makefile b/TAO/tests/Thruput/Orbix/Makefile deleted file mode 100644 index e000b894469..00000000000 --- a/TAO/tests/Thruput/Orbix/Makefile +++ /dev/null @@ -1,83 +0,0 @@ -include orbixsol2s4.mk - -all: client server - @echo - - @echo "\"client\" and \"server\" have been compiled." - @echo - @echo "To run tests, check the how_to_run_tests file." - @echo - -C++FLAGS += -DSYSV -DWANT_ORBIX_FDS -DLM_RESULTS #-DUSE_TIE -SERVER_OBJS = ttcpS.o ttcp_i.o utils.o Srv_Main.o -CLIENT_OBJS = ttcpC.o utils.o Client.o - -ifdef unpad -C++FLAGS += -DUNPAD -endif - -ifeq ($(OSRELEASE),5.4) -C++FLAGS += -DSUNOS54 -endif - -ifdef quantify -#QDIR = /pkg/purify/quantify-2.1-solaris2 -QDIR = /pkg/purify/quantify-3.0-solaris2 -QUANTIFY = $(QDIR)/quantify -cache-dir=/project/mambo/gokhale/cache -record-register-window-traps -C++FLAGS += -g -DUSE_QUANTIFY -I$(QDIR) -#CLIENT_OBJS += $(QDIR)/quantify_stubs.a -#SERVER_OBJS += $(QDIR)/quantify_stubs.a -LDFLAGS += -L$(QDIR) -lquantify_stubs -else -ifdef purify -QUANTIFY = purify -cache-dir=/project/mambo/gokhale/cache -else -ifdef debug -QUANTIFY = -C++FLAGS += -g -LDFLAGS += -g -else -QUANTIFY = -C++FLAGS += -O4 -LDFLAGS += -O4 -endif -endif -endif - -client: $(CLIENT_OBJS) - $(QUANTIFY) $(C++) $(C++FLAGS) -o client $(CLIENT_OBJS) $(LDFLAGS) $(ITSRV) $(SYSLIBS) - -server: $(SERVER_OBJS) - $(QUANTIFY) $(C++) $(C++FLAGS) -o server $(SERVER_OBJS) $(LDFLAGS) $(ITSRV) $(SYSLIBS) - -ttcp.h ttcpC.$(C++SUFFIX) ttcpS.$(C++SUFFIX):ttcp.idl - $(IDL) $(IDLFLAGS) $< - -.PHONY: clean - -clean: - rm -f core *.o *~ client server *C.cpp *S.cpp ttcp.h - -checkin: - ci ttcp.idl - ci ttcp_i.h - ci ttcp_i.cpp - ci Srv_Main.cpp - ci Client.cpp - ci ttcp_decl.h - ci utils.cpp - rm -f core *.o *~ client server *C.cpp *S.cpp ttcp.h - -checkout: - co -l ttcp.idl - co -l ttcp_i.h - co -l ttcp_i.cpp - co -l Srv_Main.cpp - co -l Client.cpp - co -l ttcp_decl.h - co -l utils.cpp - -release: - test -d $(RDIR)/SII/1way/Orbix || mkdir -p $(RDIR)/SII/1way/Orbix - cp *.idl *.cpp *.h Makefile run* README* $(RDIR)/SII/1way/Orbix/. - diff --git a/TAO/tests/Thruput/Orbix/README b/TAO/tests/Thruput/Orbix/README deleted file mode 100644 index 21e58670e48..00000000000 --- a/TAO/tests/Thruput/Orbix/README +++ /dev/null @@ -1,40 +0,0 @@ -This directory contains code that has a modified version of the TTCP benchmark that uses -Orbix. Our intent is to test the performance of Orbix over ATM using the CORBA IDL "sequence" -data type. - -We define sequences of "short", "long", "double", "octet", "char", a user-defined -"struct" and a composite struct. - -We run our server program using the following command line: (this is -an example) - -putit SII_ttcp "/project/mambo/gokhale/TTCP-testbed/SII/1way/Orbix/server -f m -b 65536" - -The client program is run using the following command line: -client -S <data size> -f m -l <chunk size> -h <host> -L <filename> -q <data type> -b <socketQ> - -<data type> implies what sequence type you want to send: -s short -c chars -o octet -d double -l long -S user defined struct -C composite struct -<filename> will store the result that indicates the thruput observed in Mbps (because -we chose -f m as the option). - -An example is given from the "run" script - -client -S 67108864 -f m -l $1 -h encip1-merengue.cs.wustl.edu -L temp -q $2 -b 65536 - - -The following files are used: - -ttcp.idl This file is the CORBA IDL declaration for the TTCP benchmark. -Srv_main.cpp Server program. -Client.cpp Client program. -ttcp_i.cpp Implementation of various methods of the ttcp_sequence object. -ttcp_i.h Implementation header -utils.cpp Lots of functions that came along with the original TTCP benchmark. -ttcp_decl.h Prototypes, extern decls, etc... diff --git a/TAO/tests/Thruput/Orbix/Srv_Main.cpp b/TAO/tests/Thruput/Orbix/Srv_Main.cpp deleted file mode 100644 index 8678c72debc..00000000000 --- a/TAO/tests/Thruput/Orbix/Srv_Main.cpp +++ /dev/null @@ -1,178 +0,0 @@ -#include "ttcp_i.h" - - -char Usage[] = "\ -Usage: server [options] \n\ -Common options:\n\ - -l ## length of bufs read from or written to network (default 8192)\n\ - -A align the start of buffers to this modulus (default 16384)\n\ - -O start buffers at this offset from the modulus (default 0)\n\ - -v verbose: print more statistics\n\ - -d set SO_DEBUG socket option\n\ - -b ## set socket buffer size (if supported)\n\ - -f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n\ - -L ## Output file name for the data type used\n\ -Options specific to -r:\n\ - -B for -s, only output full blocks as specified by -l (for TAR)\n\ - -T \"touch\": access each byte as it's read\n\ -"; - -#if !defined (__cplusplus) -typedef void (*SIG_TYP)(); -#endif - -#ifdef SVR4 -void -sigpipe (int foo) -#else -void -sigpipe () -#endif -{ -} - -int fromlen; -int domain = PF_INET; /* Default is to use Internet domain sockets. */ -char *domainname; /* Rendezvous address for UNIX domain sockets. */ -int fd; /* fd of network socket */ -int buflen = 8 * 1024; /* length of buffer */ -char *buf; /* ptr to dynamic buffer */ -int nbuf = 2 * 1024; /* number of buffers to send in sinkmode */ - -int bufoffset = 0; /* align buffer to this */ -int bufalign = 16 * 1024; /* modulo this */ - -int udp = 0; /* 0 = tcp, !0 = udp */ -int options = 0; /* socket options */ -int one = 1; /* for 4.3 BSD style setsockopt() */ -short port = 5001; /* TCP port number */ -char *host; /* ptr to name of host */ -int trans; /* 0=receive, !0=transmit mode */ -int sinkmode = 0; /* 0=normal I/O, !0=sink/source mode */ -int verbose = 0; /* 0=print basic info, 1=print cpu rate, proc - * resource usage. */ -int nodelay = 0; /* set TCP_NODELAY socket option */ -int b_flag = 0; /* use mread() */ -int sockbufsize = 0; /* socket buffer size to use */ -int new_line=0; /* This is a special flag */ -int write_to_file=1; /* indecates writing to file (default)*/ -char fmt = 'K'; /* output format:k=kilobits,K=kilobytes, - * m = megabits, M = megabytes, - * g = gigabits, G = gigabytes */ -int touchdata = 0; /* access data after reading */ - -struct hostent *addr; -char *title = 0; - -char stats[128]; -unsigned long srcDataSize; /* Total amount of source data */ -unsigned long nbytes; /* bytes on net */ -unsigned long numCalls; /* # of I/O system calls */ -double cput, realt; /* user, real time (seconds) */ -unsigned long dt; - -/* declare struct variables for various message types */ -ttcp_sequence::ShortSeq *sseq; -ttcp_sequence::LongSeq *lseq; -ttcp_sequence::OctetSeq *oseq; -ttcp_sequence::DoubleSeq *dseq; -ttcp_sequence::CharSeq *cseq; -ttcp_sequence::StructSeq *Sseq; -ttcp_sequence::CompositeSeq *Cseq; - -unsigned short isDone = 0; - -int -main (int argc, char *argv[]) -{ - - unsigned long addr_tmp; - int c; - unsigned short done = 0; - - - if (argc < 2) - goto usage; - - // Now process the options other than Orbix specific options - while (!done && ((c = getopt (argc, argv, "dvb:f:l:L:O")) != -1)) - { - switch (c) - { - case 'L': - title = optarg; - break; - case 'd': - options |= SO_DEBUG; - break; - case 'l': - buflen = atoi (optarg); - break; - case 'v': - verbose = 1; - break; - case 'b': -#if defined(SO_SNDBUF) || defined(SO_RCVBUF) - sockbufsize = atoi (optarg); -#else - fprintf (stderr, - "ttcp: -b option ignored: SO_SNDBUF/SO_RCVBUF socket options not supported\n"); -#endif - break; - case 'f': - fmt = *optarg; - break; - case 'O': - case '?': - done = 1; - break; - default: - goto usage; - } - } - - ttcp_sequence_i *my_ttcp; - // - // Receiver - // - try { - char *service_name = new char[15]; - strcpy(service_name,"SII_ttcp"); - -#if defined (USE_TIE) - // TIE approach - my_ttcp = new ttcp_sequence_i; - _tie_ttcp_sequence<ttcp_sequence_i> *my_ttcp_tmpl = new - _tie_ttcp_sequence<ttcp_sequence_i> (*my_ttcp); - -#else - my_ttcp = new ttcp_sequence_i; -#endif - -#if defined (USE_QUANTIFY) - quantify_clear_data(); - quantify_start_recording_data(); -#endif - CORBA::Orbix.impl_is_ready(service_name); - } - catch(CORBA::SystemException &se) { - // an error occured calling impl_is_ready() - output the error. - cout << "System Exception getting the implementation ready " << &se << endl; - return -1; - } - catch(...) { - // an error occured calling obj_is_ready() - output the error. - cout << "Undefined Exception getting the implementation ready " << endl; - return -1; - } - CORBA::release(my_ttcp); - return (0); -usage: - fprintf (stderr, Usage); - return(1); -} - - - - - diff --git a/TAO/tests/Thruput/Orbix/extract b/TAO/tests/Thruput/Orbix/extract deleted file mode 100644 index 9cce54ca390..00000000000 --- a/TAO/tests/Thruput/Orbix/extract +++ /dev/null @@ -1,4 +0,0 @@ -rm -f outfile -touch outfile -grep "Mbit/sec\|Send" results.TAO | head -20 > outfile -grep "msec/call\|Send" results.TAO | head -20 >> outfile diff --git a/TAO/tests/Thruput/Orbix/loop64 b/TAO/tests/Thruput/Orbix/loop64 deleted file mode 100644 index 102c2afd209..00000000000 --- a/TAO/tests/Thruput/Orbix/loop64 +++ /dev/null @@ -1,24 +0,0 @@ -# All ATM tests: 64k socket Queue Size -# -# shorts -run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 s -sleep 2 -# longs -run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 l -sleep 2 -# octets -run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 o -sleep 2 -# doubles -run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 d -sleep 2 -# chars -run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 c -sleep 2 -# structures -run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 S -sleep 2 -# Composite Structs -#run_test 67108864 1024 encip1-merengue.cs.wustl.edu ./results/LOOPBACK/orbix.atm.64 C -#sleep 2 -# diff --git a/TAO/tests/Thruput/Orbix/orbixsol2s4.mk b/TAO/tests/Thruput/Orbix/orbixsol2s4.mk deleted file mode 100644 index 01fd92b98c8..00000000000 --- a/TAO/tests/Thruput/Orbix/orbixsol2s4.mk +++ /dev/null @@ -1,148 +0,0 @@ -# ------------------------------------------------------------ -# Orbix 2.2 implicit rules for SunOS/GNU Make -# ------------------------------------------------------------ -# -# If you cut'n'paste this into your /usr/include/make/default.mk -# file, beware! This is not officially supported by Iona -# Technologies, and you may want to be a bit of a Makefile hacker -# to make it integrate well with your site's setup. - -# The best thing to do would be put it in a standard place and -# anyone who wants the Orbix implicit rule set can include -# it with an "include <pathname>/orbix.mk" line in their -# Makefile. A good place to put it might be /usr/include/make. - -# These rules define default C++, C++FLAGS and C++SUFFIX. -# C++ is the C++ compiler to use; C++FLAGS are command-line -# flags to the C++ compiler for use in compiling C++ source -# files into objects; C++SUFFIX is the filename suffix -# indicating C++ source. By default, it's set to "C" for AT&T C++, -# and "cc" for GNU g++. - -# Feel free to override these in your Makefiles *after* -# including this file. - -# IMPORTANT: If the -M switch is specified in IDLFLAGS, the IDL -# compiler appends to the user-specified file. The dependency for -# specified_file.o in the linking target should appear _after_ any use -# of the IDL compiler which takes the -M flag. Putting it _last_ -# is normally the best approach. - -# Note that these rule definitions use pattern matching, -# and therefore only work with SunOS make and GNU make. - -# They may not work with other vendor's versions of make. -# If they do not, you may wish to try using GNU make, which -# is free software produced by the Free Software Foundation. - -# If the version of make you wish to use does not support -# pattern matching, use the sample explicit rule set in -# the comments at the end of this file. - -# ------------------------------------------------------------ -# Essential: set these to the locations into which you -# have installed Orbix' components: - -ORBIX_BINDIR = /opt/Orbix_2.2/bin -ORBIX_LIBDIR = /opt/Orbix_2.2/lib -ORBIX_INCDIR = /opt/Orbix_2.2/include - -#------------------------------------------------------------- -# To compile the demos, you should change these values as -# appropriate for your particular system installation -#------------------------------------------------------------- - -X11BASE = /usr/openwin -X11INCDIR = $(X11BASE)/include -X11LIBDIR = $(X11BASE)/lib - -C++ = CC -C++FLAGS = -I$(ORBIX_INCDIR) -I. -C++SUFFIX = cpp -CXX = CC -CPPFLAGS += -I$(ORBIX_INCDIR) -I. -CPPSUFFIX = cpp - -# ------------------------------------------------------------ -# ITCLT, IRCLT and ITSRV can be either statically or dynamically linked -# Use -Bdynamic or -Bstatic as appropriate. -# ------------------------------------------------------------ -ITCLT = -Bdynamic -lorbix -ITSRV = -Bdynamic -lorbix -IRCLT = -Bdynamic -lIRclt -ITIIOP = -Bdynamic -liiop -ITDSI = -Bdynamic -lDSI -ITIFR = -Bdynamic -lifr - - -# ------------------------------------------------------------ -# SYSLIBS must be dynamically linked; otherwise you can expect to -# get linkage errors for symbols in the nsl library -# ------------------------------------------------------------ - -LDFLAGS = -L$(ORBIX_LIBDIR) -SYSLIBS = -Bdynamic -lnsl -lsocket - -IDL = $(ORBIX_BINDIR)/idl -IDLFLAGS = -h .h -c C.cpp -s S.cpp -B -A -m interOp -#------------------------------------------------------------ -# The following section defines implicit rules for creating -# *.{C,S}.C files, rules for compiling those -# into objects, and even a rule for compiling C++ source into -# objects (in case one isn't already defined). - -# ------------------------------------------------------------ -# first, put the new suffixes at the *head* of the suffix list, -# overriding any existing .C compilation method. -.SUFFIXES: -.SUFFIXES: .$(C++SUFFIX) .idl $(SUFFIXES) - -# .SUFFIXES: .$(C++SUFFIX) .idl .hh $(SUFFIXES) -# ------------------------------------------------------------ -# *[CS].o must be compiled here, and depends -# mostly on the C++ files produced from the IDL file. - -%C.o: %C.$(C++SUFFIX) - $(C++) -c $(C++FLAGS) $< - -%S.o: %S.$(C++SUFFIX) - $(C++) -c $(C++FLAGS) $< - -%.o: %.$(C++SUFFIX) - $(C++) -c $(C++FLAGS) $< - -# and here's how to compile C++ files from the IDL file. -# only ONE of these rules will be run at make-time, - -%S.$(C++SUFFIX): %.idl - $(IDL) $(IDLFLAGS) $< - -%C.$(C++SUFFIX): %.idl - $(IDL) $(IDLFLAGS) $< - -#%.hh: %.idl -%.h: %.idl - $(IDL) $(IDLFLAGS) $< - -# ------------------------------------------------------------ -# If the version of make you wish to use does not support -# pattern matching, here's a sample of an explicit rule set. -# We assume the IDL file is called "foobar.idl", we wish -# to compile "foobarC.o", "foobarS.o", and -# "foobar.hh", and the C++ file suffix. -# ------------------------------------------------------------ - -# foobarC.o: foobar.hh foobarC.C -# $(C++) -c ($C++FLAGS) foobarC.C -# -# foobarS.o: foobar.hh foobarS.C -# $(C++) -c ($C++FLAGS) foobarS.C -# -# foobarC.C: foobar.idl -# $(IDL) -c ($IDLFLAGS) foobar.idl -# -# foobarS.C: foobar.idl -# $(IDL) -c ($IDLFLAGS) foobar.idl -# -# foobar.hh: foobar.idl -# $(IDL) -c ($IDLFLAGS) foobar.idl diff --git a/TAO/tests/Thruput/Orbix/run b/TAO/tests/Thruput/Orbix/run deleted file mode 100644 index 7af22c9407b..00000000000 --- a/TAO/tests/Thruput/Orbix/run +++ /dev/null @@ -1 +0,0 @@ -client -S 67108864 -f m -D -l $1 -h mambo-atm.wustl.edu -L temp -q $2 -b 65536 diff --git a/TAO/tests/Thruput/Orbix/run_client b/TAO/tests/Thruput/Orbix/run_client deleted file mode 100644 index 0de2a604e31..00000000000 --- a/TAO/tests/Thruput/Orbix/run_client +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/csh -f -# All ATM tests: 64k socket Queue Size -# -# shorts -run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 s -sleep 2 -# longs -run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 l -sleep 2 -# octets -run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 o -sleep 2 -# doubles -run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 d -sleep 2 -# chars -run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 c -sleep 2 -# structures -run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 S -sleep 2 -# Composite Structs -#run_test 67108864 1024 mambo-atm.wustl.edu ./results/REMOTE/orbix.atm.64 C -#sleep 2 -# diff --git a/TAO/tests/Thruput/Orbix/run_server b/TAO/tests/Thruput/Orbix/run_server deleted file mode 100644 index 1dad6e9c600..00000000000 --- a/TAO/tests/Thruput/Orbix/run_server +++ /dev/null @@ -1,4 +0,0 @@ -rmit SII_ttcp -putit SII_ttcp "/project/mambo/gokhale/TTCP-testbed/SII/1way/Orbix/server -f m -b 65536 -l 131072" -#putit SII_ttcp -persistent -#truss -f server -f m -b 65536 -l 131072 diff --git a/TAO/tests/Thruput/Orbix/run_test b/TAO/tests/Thruput/Orbix/run_test deleted file mode 100644 index 9ca15639427..00000000000 --- a/TAO/tests/Thruput/Orbix/run_test +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/csh -f -if ($#argv < 3) then - echo "Usage: sclt <Total Data Size> <Max msg size> <destination> <TitleOfThisTest> <seq type>" - exit 1 -endif -# -@ msize=1024 -@ limit= ($argv[2] * 1024) -#echo $limit -#echo $msize -echo "Iteration#" 1 ": client -S" $1 "-D -f m -s -t -l" $msize "-h" $3 "-x -L" $4 "-q" $5 -b 65536 -client -S $1 -D -f m -l $msize -h $3 -x -L $4 -q $5 -b 65536 -set flag=0 -while ($msize <= $limit) - if ($flag == 0) goto label - echo "Iteration#" 1 ": client -S" $1 "-D -f m -l" $msize "-h" $3 "-x -L" $4 "-q" $5 -b 65536 - client -S $1 -D -f m -l $msize -h $3 -x -L $4 -q $5 -b 65536 - label: - set flag=1 - sleep 2 - foreach i (2 3) - echo "Iteration#" $i ": client -S" $1 "-D -f m -s -t -l" $msize "-h" $3 "-x -L " $4 "-q" $5 -b 65536 - client -S $1 -D -f m -l $msize -h $3 -x -L $4 -q $5 -b 65536 - end - echo "---------------------------" - @ msize = ($msize * 2) -end - -echo " " -echo "Done at:" -date diff --git a/TAO/tests/Thruput/Orbix/run_tests b/TAO/tests/Thruput/Orbix/run_tests deleted file mode 100644 index 96245b9fbc8..00000000000 --- a/TAO/tests/Thruput/Orbix/run_tests +++ /dev/null @@ -1,78 +0,0 @@ -#! /bin/csh - -rm -f results.TAO -touch results.TAO - -echo "TAO throughput test" -echo "TAO throughput test" >>results.TAO -echo "===================" -echo "===================" >>results.TAO - - -echo "Send Struct --------------------------------------------------------" >>results.TAO - ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q S >>& results.TAO - -echo "Send Short ---------------------------------------------------------" >>results.TAO - ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q s >>& results.TAO - -echo "Send Long ----------------------------------------------------------" >>results.TAO - ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q l >>& results.TAO - -echo "Send Octet ---------------------------------------------------------" >>results.TAO - ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q o >>& results.TAO - -echo "Send Double --------------------------------------------------------" >>results.TAO - ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q d >>& results.TAO - -echo "Send Char ----------------------------------------------------------" >>results.TAO - ./client -S 10485760 -f m -l 1024 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - ./client -S 10485760 -f m -l 2048 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - ./client -S 10485760 -f m -l 4096 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - ./client -S 10485760 -f m -l 8192 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - ./client -S 10485760 -f m -l 16384 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - ./client -S 10485760 -f m -l 32768 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - ./client -S 10485760 -f m -l 65536 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - ./client -S 10485760 -f m -l 131072 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - ./client -S 10485760 -f m -l 262144 -h merengue-atm1 -L ./results/REMOTE/sun-iiop.atm.64 -q c >>& results.TAO - -grep "Mbit/sec\|Send" results.TAO diff --git a/TAO/tests/Thruput/Orbix/ttcp.idl b/TAO/tests/Thruput/Orbix/ttcp.idl deleted file mode 100644 index c0b3cb10c75..00000000000 --- a/TAO/tests/Thruput/Orbix/ttcp.idl +++ /dev/null @@ -1,38 +0,0 @@ -/* -*- C++ -*- */ -struct PerfStruct{ - short s; - char c; - long l; - octet o; - double d; - //padding - long pad[2]; -}; - -struct CompositeStruct{ - PerfStruct ps; -}; - -// Richly typed data -interface ttcp_sequence -{ - typedef sequence<short> ShortSeq; - typedef sequence<long> LongSeq; - typedef sequence<double> DoubleSeq; - typedef sequence<char> CharSeq; - typedef sequence<octet> OctetSeq; - typedef sequence<PerfStruct> StructSeq; - typedef sequence<CompositeStruct> CompositeSeq; - - // Routines to send sequences of various data types - oneway void sendShortSeq (in ShortSeq ttcp_seq); - oneway void sendLongSeq (in LongSeq ttcp_seq); - oneway void sendDoubleSeq (in DoubleSeq ttcp_seq); - oneway void sendCharSeq (in CharSeq ttcp_seq); - oneway void sendOctetSeq (in OctetSeq ttcp_seq); - oneway void sendStructSeq (in StructSeq ttcp_seq); - oneway void sendCompositeSeq (in CompositeSeq ttcp_seq); - - oneway void start_timer (); - oneway void stop_timer (); -}; diff --git a/TAO/tests/Thruput/Orbix/ttcp_decl.h b/TAO/tests/Thruput/Orbix/ttcp_decl.h deleted file mode 100644 index 298bf9c20a2..00000000000 --- a/TAO/tests/Thruput/Orbix/ttcp_decl.h +++ /dev/null @@ -1,152 +0,0 @@ - -/* - * T T C P Header File - * - */ - -/* This file includes all the declarations and prototypes */ - -#ifndef _TTCP_DECL_H_ -#define _TTCP_DECL_H_ - -#include "ttcp.h" - -/* #define BSD43 */ -/* #define BSD42 */ -/* #define BSD41a */ - - -#include <stdio.h> -#include <signal.h> -#include <ctype.h> -#include <errno.h> -#include <sys/types.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <malloc.h> -#include <string.h> -#include <stdlib.h> -#include <memory.h> -#include <netinet/tcp.h> -#include <arpa/inet.h> -#include <netdb.h> -#include <sys/time.h> /* struct itimerval */ -#include <limits.h> -#include <sys/un.h> -#include <unistd.h> -#include <iostream.h> -#include <sys/resource.h> - -/* File to be included if Quantify is to be used */ -#if defined (USE_QUANTIFY) -#include <quantify.h> -#endif - - -#if defined(SYSV) -#define bcopy(b1,b2,n) memcpy(b2,b1,n) -#define bzero(b1,n) memset(b1,0,n) -#include <sys/times.h> -#include <sys/param.h> -#endif - -#if defined(SUNOS54) -struct rusage - { - struct timeval ru_utime, ru_stime; - }; -#define RUSAGE_SELF 0 -#else -#include <sys/resource.h> -#endif - -/* define the data types to be sent */ -#define SEND_SHORT ((unsigned long)(1)) -#define SEND_LONG ((unsigned long)(2)) -#define SEND_CHAR ((unsigned long)(3)) -#define SEND_OCTET ((unsigned long)(4)) -#define SEND_DOUBLE ((unsigned long)(5)) -#define SEND_STRUCT ((unsigned long)(6)) -#define SEND_COMPOSITE ((unsigned long)(7)) - -/************** -// Prototypes -***************/ -void err (char *s); -void mes (char *s); -char *outfmt (double b); -static void getrusage (int ignored, register struct rusage *ru); -static void gettimeofday (struct timeval *tp, struct timezone *zp); -void prep_timer (void); -double read_timer (char *str, int len); -static void prusage (register struct rusage *r0, struct rusage *r1, struct timeval *e, struct timeval *b, char *outp); -static void tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1); -static void tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0); -static void psecs (long l, register char *cp); -void delay (int us); -int mread (int fd, register char *bufp, unsigned n); -int Nread (int fd, void *buf, int count); -int Nwrite (int fd, void *buf, int count); -void FillPattern(register char *cp, register int bufLen, unsigned long dt); -void PrintStats(); -int SetSocketBufferSize(int size, unsigned short isTrans); -int SetNoDelay(); -void ProcessArguments(int argc, char **argv, unsigned short isTrans); - -/* Global variables defined here as extern */ -extern int fromlen; -extern int domain; /* Default is to use Internet domain sockets. */ -extern char *domainname; /* Rendezvous address for UNIX domain sockets. */ -extern int fd; /* fd of network socket */ - -extern int buflen; /* length of buffer */ -extern char *buf; /* ptr to dynamic buffer */ -extern int nbuf; /* number of buffers to send in sinkmode */ - -extern int bufoffset; /* align buffer to this */ -extern int bufalign; /* modulo this */ - -extern int udp; /* 0 = tcp, !0 = udp */ -extern int options; /* socket options */ -extern int one; /* for 4.3 BSD style setsockopt() */ -extern short port; /* TCP port number */ -extern char *host; /* ptr to name of host */ -extern int trans; /* 0=receive, !0=transmit mode */ -extern int sinkmode; /* 0=normal I/O, !0=sink/source mode */ -extern int verbose; /* 0=print basic info, 1=print cpu rate, proc - * resource usage. */ -extern int nodelay; /* set TCP_NODELAY socket option */ -extern int b_flag; /* use mread() */ -extern int sockbufsize; /* socket buffer size to use */ -extern int new_line; /* This is a special flag */ -extern int write_to_file; /* indecates writing to file (default)*/ -extern char fmt; /* output format:k=kilobits,K=kilobytes, - * m = megabits, M = megabytes, - * g = gigabits, G = gigabytes */ -extern int touchdata; /* access data after reading */ - -extern struct hostent *addr; -extern int errno; -extern int optind; -extern char *optarg; -extern char *title; - -extern char stats[128]; -extern unsigned long srcDataSize; /* Total amount of source data */ -extern unsigned long nbytes; /* bytes on net */ -extern unsigned long numCalls; /* # of I/O system calls */ -extern double cput, realt; /* user, real time (seconds) */ -extern unsigned long dt; - -extern unsigned short isDone; - -/* declare struct variables for various message types */ -extern ttcp_sequence::ShortSeq *sseq; -extern ttcp_sequence::LongSeq *lseq; -extern ttcp_sequence::OctetSeq *oseq; -extern ttcp_sequence::DoubleSeq *dseq; -extern ttcp_sequence::CharSeq *cseq; -extern ttcp_sequence::StructSeq *Sseq; -extern ttcp_sequence::CompositeSeq *Cseq; - -#endif diff --git a/TAO/tests/Thruput/Orbix/ttcp_i.cpp b/TAO/tests/Thruput/Orbix/ttcp_i.cpp deleted file mode 100644 index 0dc8ca364d3..00000000000 --- a/TAO/tests/Thruput/Orbix/ttcp_i.cpp +++ /dev/null @@ -1,111 +0,0 @@ -#include "ttcp_i.h" - -/* callback routine that will change the size of the socket queue */ -static void -SD_Ready (int io_descriptor) -{ - if (sockbufsize) - { - if (setsockopt (io_descriptor, SOL_SOCKET, SO_RCVBUF, - (char *) &sockbufsize, sizeof sockbufsize) < 0) - perror ("setsockopt: rcvbuf"), exit (1); - } -} - -/* the ttcp_i class implementation */ -ttcp_sequence_i::ttcp_sequence_i() -{ - this->nbytes_ = 0; - numCalls = 0; - // register a callback so we can manipulate the descriptor - // being used by orbix. - - if (CORBA::Orbix.registerIOCallback (OrbixIOCallback(SD_Ready), - FD_OPEN_CALLBACK) != 0) - perror ("can't register callback"), exit (1); -} - - -void -ttcp_sequence_i::start_timer (CORBA::Environment &IT_env) -{ - this->nbytes_ = 0; - ::prep_timer (); -} - -void -ttcp_sequence_i::stop_timer (CORBA::Environment &IT_env) -{ - (void) ::read_timer (stats, sizeof (stats)); - ::nbytes = this->nbytes_; - ::PrintStats(); - // reset - this->nbytes_ = 0; - numCalls = 0; -#if defined (USE_QUANTIFY) - quantify_stop_recording_data(); - exit(0); -#endif -} - -void -ttcp_sequence_i::sendShortSeq(const ttcp_sequence::ShortSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Short); -} - -void -ttcp_sequence_i::sendLongSeq(const ttcp_sequence::LongSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Long) ; -} - -void -ttcp_sequence_i::sendOctetSeq(const ttcp_sequence::OctetSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Octet) ; -} - -void -ttcp_sequence_i::sendDoubleSeq(const ttcp_sequence::DoubleSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Double) ; -} - -void -ttcp_sequence_i::sendCharSeq(const ttcp_sequence::CharSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Char) ; -} - -void -ttcp_sequence_i::sendStructSeq(const ttcp_sequence::StructSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(PerfStruct) ; -} - -void -ttcp_sequence_i::sendCompositeSeq(const ttcp_sequence::CompositeSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CompositeStruct) ; -} - - - - - - - - - - - - - diff --git a/TAO/tests/Thruput/Orbix/ttcp_i.h b/TAO/tests/Thruput/Orbix/ttcp_i.h deleted file mode 100644 index a187c2725ee..00000000000 --- a/TAO/tests/Thruput/Orbix/ttcp_i.h +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- C++ -*- */ - -// ttcp_i.h -// -// This header file provides facility to use it either as a BOA approach or as -// a TIE approach. -// -#if !defined (TTCP_I_H) -#define TTCP_I_H - -#include "ttcp.h" -#include "ttcp_decl.h" - -/* define the data types to be sent */ -#define SEND_SHORT ((unsigned long)(1)) -#define SEND_LONG ((unsigned long)(2)) -#define SEND_CHAR ((unsigned long)(3)) -#define SEND_OCTET ((unsigned long)(4)) -#define SEND_DOUBLE ((unsigned long)(5)) -#define SEND_STRUCT ((unsigned long)(6)) -#define SEND_COMPOSITE ((unsigned long)(7)) - - -#if defined(USE_TIE) -class ttcp_sequence_i -#else // use BOA -class ttcp_sequence_i - : public virtual ttcp_sequenceBOAImpl -#endif -{ -public: - ttcp_sequence_i(); - - virtual void sendShortSeq (const ttcp_sequence::ShortSeq& ttcp_seq, - CORBA::Environment &IT_env=CORBA::default_environment); - virtual void sendLongSeq (const ttcp_sequence::LongSeq& ttcp_seq, - CORBA::Environment &IT_env=CORBA::default_environment); - virtual void sendDoubleSeq (const ttcp_sequence::DoubleSeq& ttcp_seq, - CORBA::Environment &IT_env=CORBA::default_environment); - virtual void sendCharSeq (const ttcp_sequence::CharSeq& ttcp_seq, - CORBA::Environment &IT_env=CORBA::default_environment); - virtual void sendStructSeq (const ttcp_sequence::StructSeq& ttcp_seq, - CORBA::Environment &IT_env=CORBA::default_environment); - virtual void sendOctetSeq (const ttcp_sequence::OctetSeq& ttcp_seq, - CORBA::Environment &IT_env=CORBA::default_environment); - virtual void sendCompositeSeq (const ttcp_sequence::CompositeSeq& ttcp_seq, - CORBA::Environment &IT_env=CORBA::default_environment); - - /* Routines to calculate the time required to transfer */ - virtual void start_timer (CORBA::Environment &IT_env= - CORBA::default_environment); - virtual void stop_timer (CORBA::Environment &IT_env= - CORBA::default_environment); -private: - unsigned long nbytes_; -}; - -#if defined(USE_TIE) -// ttcp_sequence_i implements ttcp_sequence -DEF_TIE(ttcp_sequence, ttcp_sequence_i); -#endif - -#endif // defined (TTCP_I_H) diff --git a/TAO/tests/Thruput/Orbix/utils.cpp b/TAO/tests/Thruput/Orbix/utils.cpp deleted file mode 100644 index 9b6c8e3a77c..00000000000 --- a/TAO/tests/Thruput/Orbix/utils.cpp +++ /dev/null @@ -1,559 +0,0 @@ -#include "ttcp_decl.h" - -void -err (char *s) -{ - fprintf (stderr, "ttcp%s: ", trans ? "-t" : "-r"); - perror (s); - fprintf (stderr, "errno=%d\n", errno); - exit (1); -} - -void -mes (char *s) -{ - fprintf (stderr, "ttcp%s: %s\n", trans ? "-t" : "-r", s); -} - -char * -outfmt (double b) -{ - static char obuf[50]; - switch (fmt) - { - case 'G': - sprintf (obuf, "%.2f GB", b / 1024.0 / 1024.0 / 1024.0); - break; - default: - case 'K': - sprintf (obuf, "%.2f KB", b / 1024.0); - break; - case 'M': - sprintf (obuf, "%.2f MB", b / 1024.0 / 1024.0); - break; - case 'g': - sprintf (obuf, "%.2f Gbit", b * 8.0 / 1024.0 / 1024.0 / 1024.0); - break; - case 'k': - sprintf (obuf, "%.2f Kbit", b * 8.0 / 1024.0); - break; - case 'm': - sprintf (obuf, "%.2f Mbit", b * 8.0 / 1024.0 / 1024.0); - break; - } - return obuf; -} - -static struct itimerval itime0; /* Time at which timing started */ -static struct rusage ru0; /* Resource utilization at the start */ - -#if defined(SYSV) -/*ARGSUSED */ -static void -getrusage (int ignored, register struct rusage *ru) -{ - struct tms buf; - - times (&buf); - - /* Assumption: HZ <= 2147 (LONG_MAX/1000000) */ - ru->ru_stime.tv_sec = buf.tms_stime / HZ; - ru->ru_stime.tv_usec = ((buf.tms_stime % HZ) * 1000000) / HZ; - ru->ru_utime.tv_sec = buf.tms_utime / HZ; - ru->ru_utime.tv_usec = ((buf.tms_utime % HZ) * 1000000) / HZ; -} - -/*ARGSUSED */ -static void -gettimeofday (struct timeval *tp, struct timezone *zp) -{ - tp->tv_sec = time (0); - tp->tv_usec = 0; -} -#endif /* SYSV */ -/* - * P R E P _ T I M E R - */ -void -prep_timer () -{ - itime0.it_interval.tv_sec = 0; - itime0.it_interval.tv_usec = 0; - itime0.it_value.tv_sec = LONG_MAX / 22; /* greatest possible value , itimer() count backwards */ - itime0.it_value.tv_usec = 0; - - - getrusage (RUSAGE_SELF, &ru0); - - /* Init REAL Timer */ - if (setitimer (ITIMER_REAL, &itime0, NULL)) - { - perror ("Setting 'itimer' REAL failed"); - return; - } - -} - -/* - * R E A D _ T I M E R - * - */ -double -read_timer (char *str, int len) -{ - struct itimerval itimedol; - struct rusage ru1; - struct timeval td; - struct timeval tend, tstart; - char line[132]; - - getrusage (RUSAGE_SELF, &ru1); - - if (getitimer (ITIMER_REAL, &itimedol)) - { - perror ("Getting 'itimer' REAL failed"); - return (0.0); - } - - prusage (&ru0, &ru1, &itime0.it_value, &itimedol.it_value, line); - (void) strncpy (str, line, len); - - /* Get real time */ - tvsub (&td, &itime0.it_value, &itimedol.it_value); - realt = td.tv_sec + ((double) td.tv_usec) / 1000000; - - /* Get CPU time (user+sys) */ - tvadd (&tend, &ru1.ru_utime, &ru1.ru_stime); - tvadd (&tstart, &ru0.ru_utime, &ru0.ru_stime); - tvsub (&td, &tend, &tstart); - cput = td.tv_sec + ((double) td.tv_usec) / 1000000; - if (cput < 0.00001) - cput = 0.00001; - return (cput); -} - -static void -prusage (register struct rusage *r0, struct rusage *r1, - struct timeval *e, struct timeval *b, char *outp) -{ - struct timeval tdiff; - register time_t t; - register char *cp; - register int i; - int ms; - - t = (r1->ru_utime.tv_sec - r0->ru_utime.tv_sec) * 100 + - (r1->ru_utime.tv_usec - r0->ru_utime.tv_usec) / 10000 + - (r1->ru_stime.tv_sec - r0->ru_stime.tv_sec) * 100 + - (r1->ru_stime.tv_usec - r0->ru_stime.tv_usec) / 10000; - ms = (e->tv_sec - b->tv_sec) * 100 + (e->tv_usec - b->tv_usec) / 10000; - -#define END(x) {while(*x) x++;} -#if defined(SYSV) - cp = "%Uuser %Ssys %Ereal %P"; -#else -#if defined(sgi) /* IRIX 3.3 will show 0 for %M,%F,%R,%C */ - cp = "%Uuser %Ssys %Ereal %P %Mmaxrss %F+%Rpf %Ccsw"; -#else - cp = "%Uuser %Ssys %Ereal %P %Xi+%Dd %Mmaxrss %F+%Rpf %Ccsw"; -#endif -#endif - for (; *cp; cp++) - { - if (*cp != '%') - *outp++ = *cp; - else if (cp[1]) - switch (*++cp) - { - - case 'U': - tvsub (&tdiff, &r1->ru_utime, &r0->ru_utime); - sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec / 100000); - END (outp); - break; - - case 'S': - tvsub (&tdiff, &r1->ru_stime, &r0->ru_stime); - sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec / 100000); - END (outp); - break; - - case 'E': - psecs (ms / 100, outp); - END (outp); - break; - - case 'P': - sprintf (outp, "%d%%", (int) (t * 100 / ((ms ? ms : 1)))); - END (outp); - break; - -#if !defined(SYSV) - case 'W': - i = r1->ru_nswap - r0->ru_nswap; - sprintf (outp, "%d", i); - END (outp); - break; - - case 'X': - sprintf (outp, "%d", t == 0 ? 0 : (r1->ru_ixrss - r0->ru_ixrss) / t); - END (outp); - break; - - case 'D': - sprintf (outp, "%d", t == 0 ? 0 : - (r1->ru_idrss + r1->ru_isrss - (r0->ru_idrss + r0->ru_isrss)) / t); - END (outp); - break; - - case 'K': - sprintf (outp, "%d", t == 0 ? 0 : - ((r1->ru_ixrss + r1->ru_isrss + r1->ru_idrss) - - (r0->ru_ixrss + r0->ru_idrss + r0->ru_isrss)) / t); - END (outp); - break; - - case 'M': - sprintf (outp, "%d", r1->ru_maxrss / 2); - END (outp); - break; - - case 'F': - sprintf (outp, "%d", r1->ru_majflt - r0->ru_majflt); - END (outp); - break; - - case 'R': - sprintf (outp, "%d", r1->ru_minflt - r0->ru_minflt); - END (outp); - break; - - case 'I': - sprintf (outp, "%d", r1->ru_inblock - r0->ru_inblock); - END (outp); - break; - - case 'O': - sprintf (outp, "%d", r1->ru_oublock - r0->ru_oublock); - END (outp); - break; - case 'C': - sprintf (outp, "%d+%d", r1->ru_nvcsw - r0->ru_nvcsw, - r1->ru_nivcsw - r0->ru_nivcsw); - END (outp); - break; -#endif /* !SYSV */ - } - } - *outp = '\0'; -} - -static void -tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1) -{ - - tsum->tv_sec = t0->tv_sec + t1->tv_sec; - tsum->tv_usec = t0->tv_usec + t1->tv_usec; - if (tsum->tv_usec > 1000000) - tsum->tv_sec++, tsum->tv_usec -= 1000000; -} - -static void -tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0) -{ - - tdiff->tv_sec = t1->tv_sec - t0->tv_sec; - tdiff->tv_usec = t1->tv_usec - t0->tv_usec; - if (tdiff->tv_usec < 0) - tdiff->tv_sec--, tdiff->tv_usec += 1000000; -} - -static void -psecs (long l, register char *cp) -{ - register int i; - - i = l / 3600; - if (i) - { - sprintf (cp, "%d:", i); - END (cp); - i = l % 3600; - sprintf (cp, "%d%d", (i / 60) / 10, (i / 60) % 10); - END (cp); - } - else - { - i = l; - sprintf (cp, "%d", i / 60); - END (cp); - } - i %= 60; - *cp++ = ':'; - sprintf (cp, "%d%d", i / 10, i % 10); -} - -/* - * N R E A D - */ -int -Nread (int fd, void *buf, int count) -{ - struct sockaddr_in from; - int len = sizeof (from); - register int cnt; - if (udp) - { - cnt = recvfrom (fd, (char *) buf, count, 0, (struct sockaddr *) &from, &len); - numCalls++; - } - else - { - if (b_flag) - cnt = mread (fd, (char *) buf, count); /* fill buf */ - else - { - cnt = read (fd, buf, count); - numCalls++; - } - if (touchdata && cnt > 0) - { - register int c = cnt, sum; - register char *b = (char *) buf; - while (c--) - sum += *b++; - } - } - return (cnt); -} - - -/* - * N W R I T E - */ -int -Nwrite (int fd, void *buf, int count) -{ - return 0; -} - -void -delay (int us) -{ - struct timeval tv; - - tv.tv_sec = 0; - tv.tv_usec = us; - (void) select (1, (fd_set *) 0, (fd_set *) 0, (fd_set *) 0, &tv); -} - -/* - * M R E A D - * - * This function performs the function of a read(II) but will - * call read(II) multiple times in order to get the requested - * number of characters. This can be necessary because - * network connections don't deliver data with the same - * grouping as it is written with. Written by Robert S. Miles, BRL. - */ -int -mread (int fd, register char *bufp, unsigned n) -{ - register unsigned count = 0; - register int nread; - - do - { - nread = read (fd, bufp, n - count); - numCalls++; - if (nread < 0) - { - perror ("ttcp_mread"); - return (-1); - } - if (nread == 0) - return ((int) count); - count += (unsigned) nread; - bufp += nread; - } - while (count < n); - - return ((int) count); -} - -void -FillPattern (register char *cp, register int bufLen, unsigned long dt) -{ - unsigned long - num, i; - - switch(dt){ - case SEND_SHORT: - { - register short *SeqPtr = (short *)cp; - num = bufLen/sizeof(short); - for (i=0; i < num; i++) - SeqPtr[i] = (short)lrand48(); - sseq = new ttcp_sequence::ShortSeq(num,num, SeqPtr); - } - break; - case SEND_LONG: - { - register long *SeqPtr = (long *)cp; - num = bufLen/sizeof(long); - for (i=0; i < num; i++) - SeqPtr[i] = lrand48(); - lseq = new ttcp_sequence::LongSeq(num, num, SeqPtr); - } - break; - case SEND_DOUBLE: - { - register double *SeqPtr = (double *)cp; - num = bufLen/sizeof(double); - for (i=0; i < num; i++) - SeqPtr[i] = drand48(); - dseq = new ttcp_sequence::DoubleSeq(num, num, SeqPtr); - } - break; - case SEND_CHAR: - { - register CORBA::Char *SeqPtr = (CORBA::Char *)cp; - register char c = 0; - num = bufLen/sizeof(char); - for(i=0; i < num; i++){ - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i] = (c++ & 0x7f); - } - cseq = new ttcp_sequence::CharSeq(num, num, SeqPtr); - } - break; - case SEND_STRUCT: - { - register PerfStruct *SeqPtr = (PerfStruct *)cp; - register char c = 0; - num = bufLen/sizeof(PerfStruct); - for (i=0; i < num; i++){ - SeqPtr[i].s = (short)lrand48(); - SeqPtr[i].l = lrand48(); - SeqPtr[i].d = drand48(); - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i].c = (c++ & 0x7f); - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i].o = (unsigned char)(c++ & 0x7f); - } - Sseq = new ttcp_sequence::StructSeq(num, num, SeqPtr); - - } - break; - case SEND_COMPOSITE: - { - register CompositeStruct *SeqPtr = (CompositeStruct *)cp; - register char c = 0; - num = bufLen/sizeof(CompositeStruct); - for (i=0; i < num; i++){ - SeqPtr[i].ps.s = (short)lrand48(); - SeqPtr[i].ps.l = lrand48(); - SeqPtr[i].ps.d = drand48(); - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i].ps.c = (c++ & 0x7f); - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i].ps.o = (unsigned char)(c++ & 0x7f); - } - Cseq = new ttcp_sequence::CompositeSeq(num, num, SeqPtr); - } - break; - case SEND_OCTET: - default: - { - register CORBA::Octet *SeqPtr = (CORBA::Octet *)cp; - register char c = 0; - num = bufLen/sizeof(CORBA::Octet); - for(i=0; i < num; i++){ - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i] = (c++ & 0x7f); - } - oseq = new ttcp_sequence::OctetSeq(num, num, SeqPtr); - } - break; - } -} -void PrintStats() -{ - if (cput <= 0.0) - cput = 0.001; - if (realt <= 0.0) - realt = 0.001; - -//#if defined (LM_RESULTS) - if (trans && (title != 0)) - { - double tmp; - FILE *outFile; - char filename[BUFSIZ]; - - strcpy(filename, title); - switch(dt){ - case SEND_SHORT: - strcat(filename, ".shortSeq.results"); - break; - case SEND_LONG: - strcat(filename, ".longSeq.results"); - break; - case SEND_DOUBLE: - strcat(filename, ".doubleSeq.results"); - break; - case SEND_CHAR: - strcat(filename, ".charSeq.results"); - break; - case SEND_STRUCT: - strcat(filename, ".structSeq.results"); - break; - case SEND_COMPOSITE: - strcat(filename, ".compositeSeq.results"); - break; - case SEND_OCTET: - default: - strcat(filename, ".octetSeq.results"); - break; - } - outFile = fopen (filename, "a+"); - if (new_line) - fprintf (outFile, "\n -l %ldk \t", buflen / 1024); - tmp = ((double) nbytes) / realt; - fprintf (outFile, "%.2f ", tmp * 8.0 / 1024.0 / 1024.0); - fclose (outFile); - } -//#endif - - fprintf (stdout, - "ttcp%s: %ld bytes in %.2f real seconds = %s/sec +++\n", - trans ? "-t" : "-r", - nbytes, realt, outfmt (((double) nbytes) / realt)); - if (verbose) - { - fprintf (stdout, - "ttcp%s: %ld bytes in %.2f CPU seconds = %s/cpu sec\n", - trans ? "-t" : "-r", - nbytes, cput, outfmt (((double) nbytes) / cput)); - } - fprintf (stdout, - "ttcp%s: %d Server Method calls, msec/call = %.2f, calls/sec = %.2f\n", - trans ? "-t" : "-r", - numCalls, - 1024.0 * realt / ((double) numCalls), - ((double) numCalls) / realt); - fprintf (stdout, "ttcp%s: %s\n", trans ? "-t" : "-r", stats); - if (verbose) - { - fprintf (stdout, - "ttcp%s: buffer address %#x\n", - trans ? "-t" : "-r", - buf); - } -} diff --git a/TAO/tests/Thruput/TAO/Makefile b/TAO/tests/Thruput/TAO/Makefile deleted file mode 100644 index ba5b2cd51db..00000000000 --- a/TAO/tests/Thruput/TAO/Makefile +++ /dev/null @@ -1,1079 +0,0 @@ -#---------------------------------------------------------------------------- -# $Id$ -# -# Top-level Makefile for the TAO_TTCP benchmark -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -ifndef TAO_ROOT - TAO_ROOT = $(ACE_ROOT)/TAO -endif # ! TAO_ROOT - -LDLIBS = -lTAO - -IDL_SRC = ttcpC.cpp ttcpS.cpp -PROG_SRCS = $(IDL_SRC) client.cpp ttcp_i.cpp server.cpp utils.cpp tmplinst.cpp - -LSRC = $(PROG_SRCS) - -TTCP_CLIENT_OBJS = ttcpC.o client.o utils.o tmplinst.o ttcpS.o - -TTCP_SERVER_OBJS = ttcpC.o ttcpS.o server.o ttcp_i.o utils.o tmplinst.o - -BIN = client server - -BUILD = $(BIN) - -VLDLIBS = $(LDLIBS:%=%$(VAR)) -VBIN = $(BIN:%=%$(VAR)) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(TAO_ROOT)/rules.tao.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU -#include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU -include $(TAO_ROOT)/taoconfig.mk - -#---------------------------------------------------------------------------- -# Local modifications to variables imported by includes above. -#---------------------------------------------------------------------------- - -LDFLAGS += -L$(TAO_ROOT)/tao -CPPFLAGS += -I$(TAO_ROOT) -I$(TAO_ROOT)/tao/compat - -$(IDL_SRC): ttcp.idl - $(TAO_ROOT)/TAO_IDL/tao_idl ttcp.idl - -server: $(addprefix $(VDIR),$(TTCP_SERVER_OBJS)) - $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) - -client: $(addprefix $(VDIR),$(TTCP_CLIENT_OBJS)) - $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK) - -realclean: clean - -/bin/rm -rf ttcpC.* ttcpS.* -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. - -ttcpC.o: ttcpC.cpp ttcpC.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corba.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/OS.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/config.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/streams.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/OS.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Trace.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Msg.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Record.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/ACE.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Version.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/ACE.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Priority.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Record.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Get_Opt.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Get_Opt.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Stream.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_IO.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Addr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Addr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IPC_SAP.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IPC_SAP.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_IO.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/INET_Addr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/INET_Addr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Stream.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Event_Handler.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Event_Handler.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Complex.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Simple.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Simple.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Complex.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Atomic_Op.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Hash_Map_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SString.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SString.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Acceptor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Time_Value.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Acceptor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Connector.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Connector.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Strategies.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Strategies_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Config.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Shared_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Shared_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Signal.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Containers.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Containers.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Signal.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Object_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Object_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Managed_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Managed_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Config.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Handle_Set.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Handle_Set.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Free_List.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Free_List.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor_Impl.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Conf_Tokens.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_Options.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Connector.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Map_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Map_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Handler.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Queue.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Block.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Memory_Pool.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Mem_Map.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Mem_Map.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Memory_Pool.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Block.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IO_Cntl_Msg.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Queue.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Singleton.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Singleton.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Handler.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Connector.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Acceptor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Acceptor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/compat/objbase.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/compat/initguid.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbconf.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corbacom.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/align.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/sequence.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/varout.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/any.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/poa.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/params.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/client_factory.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/server_factory.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_client.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_server.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/except.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbobj.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/nvlist.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/principa.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/request.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/svrrqst.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/typecode.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/marshal.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/cdr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/stub.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/connect.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb_core.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/objtable.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/optable.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/debug.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/managed_types.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iiopobj.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iioporb.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/giop.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb_core.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic_Service.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corbacom.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/sequence.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/typecode.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/any.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/stub.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbobj.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/marshal.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/cdr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/poa.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/giop.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iioporb.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iiopobj.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/managed_types.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/params.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/server_factory.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_client.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_server.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/connect.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/singletons.h \ - ttcpC.i -ttcpS.o: ttcpS.cpp ttcpS.h ttcpC.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corba.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/OS.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/config.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/streams.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/OS.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Trace.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Msg.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Record.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/ACE.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Version.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/ACE.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Priority.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Record.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Get_Opt.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Get_Opt.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Stream.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_IO.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Addr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Addr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IPC_SAP.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IPC_SAP.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_IO.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/INET_Addr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/INET_Addr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Stream.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Event_Handler.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Event_Handler.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Complex.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Simple.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Simple.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Complex.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Atomic_Op.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Hash_Map_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SString.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SString.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Acceptor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Time_Value.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Acceptor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Connector.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Connector.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Strategies.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Strategies_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Config.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Shared_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Shared_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Signal.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Containers.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Containers.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Signal.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Object_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Object_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Managed_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Managed_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Config.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Handle_Set.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Handle_Set.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Free_List.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Free_List.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor_Impl.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Conf_Tokens.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_Options.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Connector.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Map_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Map_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Handler.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Queue.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Block.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Memory_Pool.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Mem_Map.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Mem_Map.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Memory_Pool.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Block.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IO_Cntl_Msg.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Queue.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Singleton.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Singleton.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Handler.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Connector.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Acceptor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Acceptor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/compat/objbase.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/compat/initguid.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbconf.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corbacom.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/align.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/sequence.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/varout.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/any.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/poa.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/params.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/client_factory.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/server_factory.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_client.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_server.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/except.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbobj.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/nvlist.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/principa.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/request.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/svrrqst.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/typecode.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/marshal.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/cdr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/stub.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/connect.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb_core.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/objtable.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/optable.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/debug.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/managed_types.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iiopobj.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iioporb.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/giop.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb_core.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic_Service.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corbacom.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/sequence.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/typecode.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/any.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/stub.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbobj.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/marshal.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/cdr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/poa.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/giop.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iioporb.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iiopobj.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/managed_types.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/params.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/server_factory.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_client.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_server.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/connect.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/singletons.h \ - ttcpC.i ttcpS.i -client.o: client.cpp \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/ACE.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/OS.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/config.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/streams.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/OS.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Trace.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Msg.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Record.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Priority.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Record.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Version.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/ACE.i ttcpC.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corba.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Get_Opt.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Get_Opt.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Stream.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_IO.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Addr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Addr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IPC_SAP.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IPC_SAP.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_IO.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/INET_Addr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/INET_Addr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Stream.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Event_Handler.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Event_Handler.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Complex.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Simple.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Simple.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Complex.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Atomic_Op.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Hash_Map_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SString.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SString.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Acceptor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Time_Value.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Acceptor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Connector.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Connector.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Strategies.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Strategies_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Config.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Shared_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Shared_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Signal.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Containers.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Containers.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Signal.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Object_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Object_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Managed_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Managed_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Config.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Handle_Set.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Handle_Set.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Free_List.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Free_List.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor_Impl.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Conf_Tokens.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_Options.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Connector.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Map_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Map_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Handler.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Queue.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Block.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Memory_Pool.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Mem_Map.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Mem_Map.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Memory_Pool.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Block.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IO_Cntl_Msg.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Queue.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Singleton.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Singleton.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Handler.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Connector.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Acceptor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Acceptor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/compat/objbase.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/compat/initguid.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbconf.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corbacom.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/align.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/sequence.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/varout.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/any.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/poa.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/params.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/client_factory.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/server_factory.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_client.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_server.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/except.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbobj.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/nvlist.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/principa.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/request.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/svrrqst.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/typecode.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/marshal.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/cdr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/stub.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/connect.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb_core.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/objtable.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/optable.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/debug.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/managed_types.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iiopobj.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iioporb.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/giop.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb_core.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic_Service.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corbacom.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/sequence.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/typecode.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/any.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/stub.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbobj.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/marshal.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/cdr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/poa.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/giop.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iioporb.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iiopobj.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/managed_types.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/params.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/server_factory.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_client.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_server.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/connect.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/singletons.h \ - ttcpC.i ttcp_decl.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Profile_Timer.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/High_Res_Timer.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/High_Res_Timer.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Profile_Timer.i -ttcp_i.o: ttcp_i.cpp \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/ACE.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/OS.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/config.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/streams.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/OS.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Trace.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Msg.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Record.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Priority.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Record.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Version.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/ACE.i ttcp_i.h \ - ttcpS.h ttcpC.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corba.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Get_Opt.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Get_Opt.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Stream.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_IO.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Addr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Addr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IPC_SAP.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IPC_SAP.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_IO.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/INET_Addr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/INET_Addr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Stream.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Event_Handler.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Event_Handler.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Complex.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Simple.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Simple.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Complex.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Atomic_Op.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Hash_Map_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SString.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SString.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Acceptor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Time_Value.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Acceptor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Connector.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Connector.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Strategies.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Strategies_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Config.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Shared_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Shared_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Signal.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Containers.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Containers.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Signal.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Object_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Object_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Managed_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Managed_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Config.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Handle_Set.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Handle_Set.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Free_List.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Free_List.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor_Impl.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Conf_Tokens.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_Options.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Connector.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Map_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Map_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Handler.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Queue.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Block.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Memory_Pool.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Mem_Map.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Mem_Map.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Memory_Pool.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Block.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IO_Cntl_Msg.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Queue.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Singleton.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Singleton.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Handler.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Connector.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Acceptor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Acceptor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/compat/objbase.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/compat/initguid.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbconf.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corbacom.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/align.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/sequence.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/varout.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/any.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/poa.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/params.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/client_factory.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/server_factory.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_client.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_server.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/except.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbobj.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/nvlist.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/principa.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/request.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/svrrqst.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/typecode.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/marshal.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/cdr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/stub.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/connect.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb_core.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/objtable.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/optable.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/debug.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/managed_types.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iiopobj.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iioporb.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/giop.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb_core.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic_Service.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corbacom.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/sequence.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/typecode.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/any.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/stub.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbobj.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/marshal.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/cdr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/poa.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/giop.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iioporb.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iiopobj.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/managed_types.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/params.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/server_factory.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_client.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_server.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/connect.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/singletons.h \ - ttcpC.i ttcpS.i ttcp_decl.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Profile_Timer.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/High_Res_Timer.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/High_Res_Timer.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Profile_Timer.i -server.o: server.cpp \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/ACE.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/OS.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/config.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/streams.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/OS.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Trace.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Msg.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Record.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Priority.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Record.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Version.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/ACE.i ttcp_i.h \ - ttcpS.h ttcpC.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corba.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Get_Opt.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Get_Opt.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Stream.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_IO.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Addr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Addr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IPC_SAP.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IPC_SAP.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_IO.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/INET_Addr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/INET_Addr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Stream.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Event_Handler.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Event_Handler.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Complex.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Simple.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Simple.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Complex.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Atomic_Op.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Hash_Map_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SString.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SString.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Acceptor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Time_Value.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Acceptor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Connector.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Connector.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Strategies.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Strategies_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Config.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Shared_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Shared_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Signal.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Containers.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Containers.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Signal.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Object_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Object_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Managed_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Managed_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Config.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Handle_Set.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Handle_Set.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Free_List.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Free_List.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor_Impl.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Conf_Tokens.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_Options.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Connector.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Map_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Map_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Handler.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Queue.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Block.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Memory_Pool.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Mem_Map.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Mem_Map.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Memory_Pool.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Block.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IO_Cntl_Msg.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Queue.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Singleton.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Singleton.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Handler.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Connector.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Acceptor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Acceptor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/compat/objbase.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/compat/initguid.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbconf.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corbacom.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/align.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/sequence.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/varout.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/any.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/poa.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/params.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/client_factory.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/server_factory.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_client.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_server.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/except.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbobj.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/nvlist.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/principa.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/request.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/svrrqst.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/typecode.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/marshal.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/cdr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/stub.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/connect.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb_core.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/objtable.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/optable.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/debug.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/managed_types.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iiopobj.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iioporb.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/giop.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb_core.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic_Service.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corbacom.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/sequence.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/typecode.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/any.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/stub.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbobj.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/marshal.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/cdr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/poa.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/giop.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iioporb.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iiopobj.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/managed_types.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/params.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/server_factory.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_client.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_server.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/connect.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/singletons.h \ - ttcpC.i ttcpS.i -utils.o: utils.cpp ttcpC.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corba.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/OS.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/config.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/streams.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/OS.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Trace.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Msg.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Record.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/ACE.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Version.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/ACE.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Priority.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Log_Record.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Get_Opt.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Get_Opt.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Stream.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_IO.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Addr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Addr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IPC_SAP.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IPC_SAP.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_IO.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/INET_Addr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/INET_Addr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Stream.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Event_Handler.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Event_Handler.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Complex.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Simple.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Simple.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SV_Semaphore_Complex.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Atomic_Op.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Hash_Map_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SString.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SString.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Acceptor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Time_Value.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Acceptor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Connector.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/SOCK_Connector.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Strategies.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Strategies_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Config.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Shared_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Shared_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Signal.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Containers.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Containers.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Signal.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Object_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Object_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Managed_Object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Managed_Object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Service_Config.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Handle_Set.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Handle_Set.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Free_List.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Free_List.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Timer_Queue_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Reactor_Impl.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Conf_Tokens.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Synch_Options.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Connector.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Map_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Map_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Handler.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread_Manager.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Thread_Manager.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Queue.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Block.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc_T.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Malloc_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Memory_Pool.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Mem_Map.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Mem_Map.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Memory_Pool.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Block.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/IO_Cntl_Msg.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Message_Queue.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Task_T.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Singleton.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Singleton.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Svc_Handler.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Connector.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Acceptor.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Acceptor.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/compat/objbase.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/compat/initguid.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbconf.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corbacom.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/object.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/align.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/sequence.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/varout.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/any.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/poa.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/params.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/client_factory.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/server_factory.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_client.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_server.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/except.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbobj.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/nvlist.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/principa.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/request.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/svrrqst.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/typecode.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/marshal.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/cdr.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/stub.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/connect.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb_core.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/objtable.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/optable.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/debug.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/managed_types.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iiopobj.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iioporb.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/giop.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orb_core.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Dynamic_Service.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/corbacom.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/sequence.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/typecode.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/any.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/stub.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/object.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/orbobj.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/marshal.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/cdr.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/poa.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/giop.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iioporb.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/iiopobj.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/managed_types.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/params.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/server_factory.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_client.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/default_server.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/connect.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/TAO/tao/singletons.h \ - ttcpC.i ttcp_decl.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Profile_Timer.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/High_Res_Timer.h \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/High_Res_Timer.i \ - /project/doc/sergio/ACE_wrappers/build/sunc++/ace/Profile_Timer.i - -# IF YOU PUT ANYTHING HERE IT WILL GO AWAY diff --git a/TAO/tests/Thruput/TAO/README b/TAO/tests/Thruput/TAO/README deleted file mode 100644 index 0203d8604c1..00000000000 --- a/TAO/tests/Thruput/TAO/README +++ /dev/null @@ -1,47 +0,0 @@ - TAO_TTCP Benchmark README file - -This directory contains a modified version of the TTCP benchmark that -uses the TAO ORB. TAO_TTCP is used to measure the throughput of TAO -for sending different data types. This code tests sequences of short, -long, octet, char, double, and richly-typed data such as a struct. -This benchmark uses an interpretive form of marshaling the data by -using the dynamic invocation interfaces provided by the TAO ORB. - -Organization ------------- - -client.cpp Client main program -server.cpp Server main program -ttcpC.cpp Client side stubs -ttcpS.cpp Server side skeletons -ttcpC.h Header file for stubs -ttcpS.h Header file for the skeletons -ttcp_i.cpp Implementaion of the interface -ttcp_i.h Header for the implementation -utils.cpp Utilities to calculate throughput -ttcp_decls.h Common declarations - -Results -------- -Throughput results are stored under the results directory. If testing -for REMOTE transfers, use the ./results/REMOTE directory. - -Running the tests ------------------ -Three scripts are provided - -(1) run_server : runs the server. Be sure to change the host name -(2) run_client : runs tests for various data types -(3) run_test : called by run_client - -Compiling ---------- - -Type make - -To provide for 2way tests (no data is sent in the reverse -direction. Sender blocks for a minimal ACK), comment out the -DONEWAY -flag from the CPPFLAGS - --Aniruddha Gokhale -(gokhale@cs.wustl.edu) diff --git a/TAO/tests/Thruput/TAO/client.cpp b/TAO/tests/Thruput/TAO/client.cpp deleted file mode 100644 index c8e652b11b3..00000000000 --- a/TAO/tests/Thruput/TAO/client.cpp +++ /dev/null @@ -1,279 +0,0 @@ -// ============================================================================ -// -// = TAO tests -// Throughput measurement using the TTCP benchmark adapted to work using TAO -// -// = FILENAME -// client.cpp -// -// Main program for the client -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -#include <iostream.h> -#include <fstream.h> - -#include "ace/ACE.h" -#include "ttcpC.h" -#include "ttcp_decl.h" - -int print_usage (void); - -char Usage[] = - "Usage: client [-options] \n" - "Common options:\n" - "-i <ior> Object reference string that the server outputs when started\n" - "-l ## length of bufs read from or written to network (default 8192)\n" - "-v verbose: print more statistics\n" - "-d ## debug level\n" - "-f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n" - "-L ## Output file name to store results\n" - "-S ## Total Data Size to be sent\n" - "-q <type> Send Sequence: Enumeration for various data types:\n" - " s = short, l = long, d = double, c = char\n" - " o = octet, S = BinStruct \n"; - -CORBA::Long trans = 1; // we are a client - used for debugging purposes -CORBA::Long buflen = 8 * 1024; // length of buffer, default 8,192 bytes -CORBA::Char *buf; // ptr to dynamic buffer -CORBA::Long nbuf; // number of buffers to send in sinkmode -CORBA::Short port = TAO_DEFAULT_SERVER_PORT; // TCP port number -CORBA::Char *host = "localhost"; // ptr to name of host -CORBA::Long verbose = 0; // 0=print basic info, 1=print cpu - // rate, proc resource usage. -CORBA::Char fmt = 'K'; // output - // format:k=kilobits,K=kilobytes, m = megabits, - // M = megabytes, g = gigabits, G = gigabytes -CORBA::String title = 0; // title of file to gather statistics -char stats[128]; // gathering the statistics -unsigned long srcDataSize; // Total amount of source data -unsigned long nbytes; // bytes on net -unsigned long numCalls; // # of I/O system calls -double cput, realt; // user, real time (seconds) -unsigned long dt; // data type -char * ior = 0; - -// declare variables for various message types -ttcp_sequence::ShortSeq *sseq; -ttcp_sequence::LongSeq *lseq; -ttcp_sequence::OctetSeq *oseq; -ttcp_sequence::DoubleSeq *dseq; -ttcp_sequence::CharSeq *cseq; -ttcp_sequence::StructSeq *Sseq; - -int -main (int argc, char *argv[]) -{ - - int c; - CORBA::ORB_ptr orb_ptr; // underlying ORB - CORBA::String objkey = "TTCP_IIOP_test"; // name of the TTCP object on the - // server - CORBA::Object_ptr objref = CORBA::Object::_nil(); // object reference - ttcp_sequence_ptr ttcp_seq = 0; // obj reference to TTCP object - CORBA::Environment env; // environment - - fstream iorfile; - - ACE_UNUSED_ARG (objkey); - - // parse the arguments - ACE_Get_Opt get_opt (argc, argv, "d:vf:l:L:S:q:i:"); // Command line options - TAO_debug_level = 0; - while ((c = get_opt ()) != -1) - { - switch (c) - { - case 'i': - ior = ACE_OS::strdup (get_opt.optarg); - break; - case 'L': - title = ACE_OS::strdup (get_opt.optarg); - break; - case 'd': - TAO_debug_level = ACE_OS::atoi (get_opt.optarg); - if (TAO_debug_level > 10) - TAO_debug_level = 10; - break; - case 'l': - buflen = ACE_OS::atoi (get_opt.optarg); - break; - case 'v': - verbose = 1; - break; - case 'f': - fmt = *get_opt.optarg; - break; - case 'S': /* total source data to send. */ - srcDataSize = ACE_OS::atoi (get_opt.optarg); - break; - case 'q': /* Send sequence of desired data type */ - switch(*get_opt.optarg){ - case 's': - dt = SEND_SHORT; - break; - case 'l': - dt = SEND_LONG; - break; - case 'd': - dt = SEND_DOUBLE; - break; - case 'c': - dt = SEND_CHAR; - break; - case 'o': - dt = SEND_OCTET; - break; - case 'S': - dt = SEND_STRUCT; - break; - case 'C': - dt = SEND_COMPOSITE; - break; - } - break; - default: - return print_usage (); - } - } - - // - // Transmitter - // - - // get a handle to the ORB - orb_ptr = CORBA::ORB_init (argc, argv, "internet", env); - if (env.exception () != 0) - { - env.print_exception ("ORB initialization", stdout); - return -1; - } - - ACE_DEBUG ((LM_DEBUG, "Read IOR string as: %s\n" , ior)); - - // retrieve an object reference out of the stringified IOR - objref = orb_ptr->string_to_object (ior, env); - - if (env.exception () != 0) - { - env.print_exception ("string_to_object", stdout); - return -1; - } - - if (!CORBA::is_nil (objref)) - { - // if it is a valid obj ref, narrow it to a ttcp_sequence CORBA object - ttcp_seq = ttcp_sequence::_narrow (objref, env); - - if (!CORBA::is_nil (ttcp_seq)) - { - - // the number of iterations is based on the total data size and the - // individual buffer size sent - nbuf = srcDataSize/buflen; - ACE_DEBUG ((LM_DEBUG, "data size = %d, buflen = %d, nbuf = %d\n", - srcDataSize, buflen, nbuf)); - - // - // Prepare the Message to be sent - // - - - // first allocate a buffer of the desired size and alignment - errno = 0; - if ((buf = (char *) ACE_OS::malloc (buflen)) == (char *) NULL) - err ("malloc"); - - // fill the buffer with the data type to be sent - FillPattern (buf, buflen, dt); - - // - // Start the timers on the client and server sides - // - - prep_timer (); // start our time - ttcp_seq->start_timer (env); // ask the server to start its timer - if (env.exception () != 0) - { - env.print_exception ("start_timer operation", stdout); - return -1; - } - -#if defined (USE_QUANTIFY) - /* start recording quantify data from here */ - quantify_clear_data (); - quantify_start_recording_data (); -#endif - // send the same buffer nbuf times - while (nbuf--) - { - switch (dt){ - case SEND_SHORT: - ttcp_seq->sendShortSeq (*sseq, env); - nbytes += sseq->length () * sizeof (CORBA::Short); - break; - case SEND_LONG: - ttcp_seq->sendLongSeq (*lseq, env); - nbytes += lseq->length () * sizeof (CORBA::Long); - break; - case SEND_OCTET: - ttcp_seq->sendOctetSeq (*oseq, env); - nbytes += oseq->length () * sizeof (CORBA::Octet); - break; - case SEND_DOUBLE: - ttcp_seq->sendDoubleSeq (*dseq, env); - nbytes += dseq->length () * sizeof (CORBA::Double); - break; - case SEND_CHAR: - ttcp_seq->sendCharSeq (*cseq, env); - nbytes += cseq->length () * sizeof (CORBA::Char); - break; - case SEND_STRUCT: - ttcp_seq->sendStructSeq (*Sseq, env); - nbytes += Sseq->length () * sizeof (BinStruct); - break; - } - numCalls++; // nbytes and numCalls are used in the thruput - // measurement - if (env.exception () != 0) - { - env.print_exception ("send operation", stdout); - return -1; - } - } -#if defined (USE_QUANTIFY) - quantify_stop_recording_data(); -#endif - // - // Stop the timer - // - // stop the timer on the server side - ttcp_seq->stop_timer (env); - if (env.exception () != 0) - { - env.print_exception ("stop_timer operation", stdout); - return -1; - } - // stop our timer - (void) read_timer (stats, sizeof (stats)); - - // print results - PrintStats(); - } - } - - CORBA::release (ttcp_seq); - CORBA::release (objref); - CORBA::release (orb_ptr); - return (0); -} - -int print_usage (void) -{ - ACE_ERROR ((LM_ERROR, "Usage error\n")); - ACE_ERROR ((LM_ERROR, "%s\n", Usage)); - return -1; -} diff --git a/TAO/tests/Thruput/TAO/run b/TAO/tests/Thruput/TAO/run deleted file mode 100644 index 009677fdcde..00000000000 --- a/TAO/tests/Thruput/TAO/run +++ /dev/null @@ -1 +0,0 @@ -client -S 67108864 -f m -l $1 -L temp -q $2 -d $3 diff --git a/TAO/tests/Thruput/TAO/run_client b/TAO/tests/Thruput/TAO/run_client deleted file mode 100644 index ee845fcce8c..00000000000 --- a/TAO/tests/Thruput/TAO/run_client +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/csh -f -# All ATM tests: 64k socket Queue Size -# -# Arguments: -# $1 <Test_Name> -# $2 <obj_reference_From_Server> - -if ($#argv < 2) then - echo "Usage: run_client <Test_Name> <obj_reference_From_Server>" - exit 1 -endif - -# shorts -run_test 67108864 128 ./results/REMOTE/$1/sun-iiop.atm1.64 s $2 -sleep 5 -# longs -run_test 67108864 128 ./results/REMOTE/$1/sun-iiop.atm1.64 l $2 -sleep 5 -# octets -run_test 67108864 128 ./results/REMOTE/$1/sun-iiop.atm1.64 o $2 -sleep 5 -# doubles -run_test 67108864 128 ./results/REMOTE/$1/sun-iiop.atm1.64 d $2 -sleep 5 -# chars -#run_test 67108864 128 ./results/REMOTE/$1/sun-iiop.atm1.64 c $2 -#sleep 5 -# structures -run_test 67108864 128 ./results/REMOTE/$1/sun-iiop.atm1.64 S $2 -sleep 5 -# Composite Structs -#run_test 67108864 128 ./results/REMOTE/$1/sun-iiop.atm1.64 C $2 -#sleep 5 -# diff --git a/TAO/tests/Thruput/TAO/run_server b/TAO/tests/Thruput/TAO/run_server deleted file mode 100644 index 50fdce5df97..00000000000 --- a/TAO/tests/Thruput/TAO/run_server +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/csh -x -# -# Usage: server <switches> -# -u : use IOR -# -f m : output results in Mbps -# -b <sock Q size> ** not implemented ** -# -OAhost <host name> ************* must provide this for this version -# -OAthread : use threaded version as opposed to reactive -# - -server -d 1 -f m -ORBhost `hostname` -ORBobjrefstyle url #-OAthread diff --git a/TAO/tests/Thruput/TAO/run_test b/TAO/tests/Thruput/TAO/run_test deleted file mode 100644 index e60f3296371..00000000000 --- a/TAO/tests/Thruput/TAO/run_test +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/csh -f - -# $1 <Total_Data_Size> -# $2 <Max_msg_size_in_Kb?> <-- currently not used? $2 == $argv[2] ?? -# $3 <Title_Of_This_Test> -# $4 <seq_type> -# $5 <ior_from_server> - -# e.g. -# % run_test 10000 512 mambo\! s iiop:1.0//128.252.165.144:10015/P350892cc000ad963RootPOA/RootPOA_is_BAD/TTCP_IIOP_test -# - -if ($#argv < 5) then - echo "Usage: run_test <Total_Data_Size> <Max_msg_size> <Title_Of_This_Test> <seq_type> <ior_from_server>" - exit 1 -endif -# -@ msize=1024 -@ limit= ($argv[2] * 1024) -#echo $limit -#echo $msize - echo "-->" - echo "--> ITERATION #" 1 - echo " client -S" $1 "-f m -l" $msize "-L" $3 "-q" $4 "-i" $5 - echo "-->" -client -S $1 -f m -l $msize -L $3 -q $4 -i $5 -set flag=0 -while ($msize <= $limit) - if ($flag == 0) goto label - echo "-->" - echo "--> ITERATION #" 1 - echo " client -S" $1 "-f m -l" $msize "-L" $3 "-q" $4 "-i" $5 - echo "-->" - client -S $1 -f m -l $msize -L $3 -q $4 -i $5 - label: - set flag=1 - sleep 5 - foreach i (2) - echo "-->" - echo "--> ITERATION #" $i - echo " client -S" $1 "-f m -l" $msize "-L" $3 "-q" $4 "-i" $5 - echo "-->" - client -S $1 -f m -l $msize -L $3 -q $4 -i $5 - end - echo "---------------------------" - @ msize = ($msize * 2) - sleep 5 -end - -echo " " -echo "Done at:" -date diff --git a/TAO/tests/Thruput/TAO/server.cpp b/TAO/tests/Thruput/TAO/server.cpp deleted file mode 100644 index cf5c3cef110..00000000000 --- a/TAO/tests/Thruput/TAO/server.cpp +++ /dev/null @@ -1,218 +0,0 @@ -// $Id$ -// ============================================================================ -// -// = TAO tests -// Throughput measurement using the TTCP benchmark adapted to work using TAO -// -// = FILENAME -// server.cpp -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -#include "ace/streams.h" -#include "ace/ACE.h" -#include "ace/Get_Opt.h" - -#include "ttcp_i.h" - -char Usage[] = "\ -Usage: server [TAO options] [options] \n\ -Common options:\n\ --l ## length of bufs read from or written to network (default 8192)\n\ --v verbose: print more statistics\n\ --d ## set debug level \n\ --f X format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga\n\ --L ## Output file name for the data type used\n\n\ -"; - -CORBA::Long trans = 0; // we are the receiver -CORBA::Long buflen = 8 * 1024; // length of buffer -CORBA::Char *buf; // ptr to dynamic buffer -CORBA::Long nbuf; // number of buffers to send in sinkmode -CORBA::Long verbose = 0; // 0=print basic info, 1=print cpu rate, proc - // resource usage. -CORBA::Char fmt = 'K'; // output format:k=kilobits,K=kilobytes, m = - // megabits, M = megabytes, g = gigabits, G = - // gigabytes - -CORBA::Char *title = 0; // results filename - -CORBA::Char stats[128]; // gathering the statistics -CORBA::ULong srcDataSize; // Total amount of source data -CORBA::ULong nbytes; // bytes on net -CORBA::ULong numCalls; // # of I/O system calls -CORBA::Double cput, realt; // user, real time (seconds) -CORBA::ULong dt; // data type - -/* declare struct variables for various message types */ -ttcp_sequence::ShortSeq *sseq; -ttcp_sequence::LongSeq *lseq; -ttcp_sequence::OctetSeq *oseq; -ttcp_sequence::DoubleSeq *dseq; -ttcp_sequence::CharSeq *cseq; -ttcp_sequence::StructSeq *Sseq; - -ttcp_sequence_i *my_ttcp; // instance of the target object - -// main program - Driver -int -main (int argc, char **argv) -{ - - int c; // option - CORBA::Environment env; // environment - CORBA::ORB_var orb_var; // handle to the ORB - PortableServer::POA_var root_poa; // Object adapter - CORBA::String key = (CORBA::String) "key0"; // key assigned to our - // target object - CORBA::Object_var obj_var; - char *oa_name = "RootPOA"; // name of our OA - char *orb_name = "internet"; // name of our ORB - CORBA::String str; // for stringified representation of the object reference - - ACE_UNUSED_ARG (key); - - // initialize the underlying ORB and get a handle to it - orb_var = CORBA::ORB_init (argc, argv, orb_name, env); - if (env.exception () != 0) - { - env.print_exception ("ORB init"); - return 1; - } - - obj_var = orb_var->resolve_initial_references(oa_name); - - if (CORBA::is_nil(obj_var.in())) - ACE_ERROR_RETURN ((LM_ERROR, - " (%P|%t) Unable to initialize the POA.\n"), - -1); - - root_poa = PortableServer::POA::_narrow (obj_var.in (), env); - - if (env.exception () != 0) - { - env.print_exception ("POA init"); - return 1; - } - - PortableServer::POAManager_var poa_manager = - root_poa->the_POAManager (env); - - if (env.exception () != 0) - { - env.print_exception ("POA manager"); - return 1; - } - - PortableServer::PolicyList policies (2); - policies.length (2); - policies[0] = - root_poa->create_id_assignment_policy (PortableServer::USER_ID, - env); - policies[1] = - root_poa->create_lifespan_policy (PortableServer::PERSISTENT, - env); - - // We use a different POA, otherwise the user would have to - // change the object key each time it invokes the server. - PortableServer::POA_var good_poa = - root_poa->create_POA ("RootPOA_is_BAD", - poa_manager.in (), - policies, - env); - - if (env.exception () != 0) - { - env.print_exception ("create good poa"); - return 1; - } - - // for parsing the arguments - ACE_Get_Opt get_opt (argc, argv, "l:vd:f:L:"); - - TAO_debug_level = 0; - for (; (c = get_opt ()) != EOF;) - { - switch (c) - { - case 'L': - // title of output file that stores result - title = ACE_OS::strdup (get_opt.optarg); - break; - case 'd': - // debugging level - TAO_debug_level = ACE_OS::atoi (get_opt.optarg); - if (TAO_debug_level > 10) - TAO_debug_level = 10; - break; - case 'f': - // output format i.e., Mbps, Kbps, etc - fmt = *get_opt.optarg; - break; - } - } - - // - // Receiver - // - - // create an instance of an object implementing the "ttcp" interface - my_ttcp = new ttcp_sequence_i; // this is its name - - PortableServer::ObjectId_var id = - PortableServer::string_to_ObjectId ("TTCP_IIOP_test"); - good_poa->activate_object_with_id (id.in (), - my_ttcp, - env); - if (env.exception () != 0) - { - env.print_exception ("string_to_ObjectId"); - return 1; - } - - obj_var = good_poa->id_to_reference (id.in (), env); - - if (env.exception () != 0) - { - env.print_exception ("id_to_reference"); - return 1; - } - - poa_manager->activate (env); - - if (env.exception () != 0) - { - env.print_exception ("id_to_reference"); - return 1; - } - - if (TAO_debug_level > 0) - { - // get a stringified representation of the object reference created above - str = orb_var->object_to_string (obj_var.in (), - env); - if (env.exception () != 0) - { - env.print_exception ("object_to_string"); - return 1; - } - - ACE_DEBUG ((LM_DEBUG, "stringified obj reference = %s\n", str)); - } - -#if defined (USE_QUANTIFY) - // gather profile data - quantify_clear_data(); - quantify_start_recording_data(); -#endif - - // Handle requests for this object until we're killed, or one of the - // methods asks us to exit. - if (orb_var->run () == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "run"), -1); - - return 0; -} diff --git a/TAO/tests/Thruput/TAO/svc.conf b/TAO/tests/Thruput/TAO/svc.conf deleted file mode 100644 index df32a6c3b41..00000000000 --- a/TAO/tests/Thruput/TAO/svc.conf +++ /dev/null @@ -1,49 +0,0 @@ -# $Id$ -# -# This file contains a sample ACE_Service_Config configuration -# file specifying the strategy factories utilized by an application -# using TAO. There are currently only two possible factories: -# Client_Strategy_Factory and Server_Strategy_Factory. These names -# must be used as the second argument to their corresponding line, -# because that's what the ORB uses to find the desired factory. -# -# Note that there are two unordinary characteristics of the way *this* -# file is set up: -# - both client and server strategies are specified in the same -# file, which would only make sense for co-located clients & servers -# - both of the factories are actually sourced out of libTAO.so -# (TAO.DLL on Win32), and they would normally be in a separate -# dll from the TAO ORB Core. -# -# The options which can be passed to the Resource Factory are: -# -# -ORBresources <which> -# where <which> can be 'global' to specify globally-held resources, -# or 'tss' to specify thread-specific resources. -# -# The options which can be passed to the Client are: -# <none currently> -# -# The options which can be passed to the Server are: -# -# -ORBconcurrency <which> -# where <which> can be 'thread-per-connection' to specify -# use of the ACE_Threaded_Strategy concurrency strategy, -# or 'reactive' to specify use of the ACE_Reactive_Strategy -# concurrency strategy. -# -# -ORBthreadflags <flags> -# specifies the default thread flags to use, where <flags> is a -# logical OR'ing of the flags THR_DETACHED, THR_BOUND, THR_NEW_LWP, -# THR_SUSPENDED, or THR_DAEMON. Note that not every flag may be valid -# on every platform. -# -# -ORBdemuxstrategy <which> -# where <which> can be one of 'dynamic', 'linear', 'active', or 'user', -# and specifies the type of object lookup strategy used internally. -# -ORBtablesize <unsigned> -# specifies the size of the object table -# -dynamic Resource_Factory Service_Object * TAO:_make_TAO_Resource_Factory() "-ORBresources global" -dynamic Client_Strategy_Factory Service_Object * TAO:_make_TAO_Default_Client_Strategy_Factory() "" -dynamic Server_Strategy_Factory Service_Object * TAO:_make_TAO_Default_Server_Strategy_Factory() "-ORBconcurrency thread-per-connection -ORBdemuxstrategy dynamic -ORBtablesize 128" diff --git a/TAO/tests/Thruput/TAO/tmplinst.cpp b/TAO/tests/Thruput/TAO/tmplinst.cpp deleted file mode 100644 index e162ad7422e..00000000000 --- a/TAO/tests/Thruput/TAO/tmplinst.cpp +++ /dev/null @@ -1,23 +0,0 @@ -// -// $Id$ -// - -// The contents of this file REALLY should be generated by the IDL -// compiler, but that functionality isn't available yet. - -#include "ttcpC.h" - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class TAO_Unbounded_Sequence<CORBA::Double>; -template class TAO_Unbounded_Sequence<BinStruct>; -template class TAO_Unbounded_Sequence<CORBA::Long>; -template class TAO_Unbounded_Sequence<CORBA::Char>; -template class TAO_Unbounded_Sequence<CORBA::Short>; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate TAO_Unbounded_Sequence<CORBA::Double> -#pragma instantiate TAO_Unbounded_Sequence<BinStruct> -#pragma instantiate TAO_Unbounded_Sequence<CORBA::Long> -#pragma instantiate TAO_Unbounded_Sequence<CORBA::Char> -#pragma instantiate TAO_Unbounded_Sequence<CORBA::Short> -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ - diff --git a/TAO/tests/Thruput/TAO/ttcp.idl b/TAO/tests/Thruput/TAO/ttcp.idl deleted file mode 100644 index 02f382f3d29..00000000000 --- a/TAO/tests/Thruput/TAO/ttcp.idl +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- C++ -*- */ -struct BinStruct -{ - short s; - char c; - long l; - octet o; - double d; - // octet pad[8]; // to make it 32 bytes - // commented out until IDL support for arrays is added -}; - -// Richly typed data -interface ttcp_sequence -{ - typedef sequence<short> ShortSeq; - typedef sequence<long> LongSeq; - typedef sequence<double> DoubleSeq; - typedef sequence<char> CharSeq; - typedef sequence<octet> OctetSeq; - typedef sequence<BinStruct> StructSeq; - - - // Routines to send sequences of various data types - oneway void sendShortSeq (in ShortSeq ttcp_seq); - oneway void sendLongSeq (in LongSeq ttcp_seq); - oneway void sendDoubleSeq (in DoubleSeq ttcp_seq); - oneway void sendCharSeq (in CharSeq ttcp_seq); - oneway void sendOctetSeq (in OctetSeq ttcp_seq); - oneway void sendStructSeq (in StructSeq ttcp_seq); - - oneway void start_timer (); - oneway void stop_timer (); -}; diff --git a/TAO/tests/Thruput/TAO/ttcp_decl.h b/TAO/tests/Thruput/TAO/ttcp_decl.h deleted file mode 100644 index 8ff6e8b0730..00000000000 --- a/TAO/tests/Thruput/TAO/ttcp_decl.h +++ /dev/null @@ -1,76 +0,0 @@ - -/* - * T T C P Header File - * - */ - -/* This file includes all the declarations and prototypes */ - -#ifndef _TTCP_DECL_H_ -#define _TTCP_DECL_H_ - -#include "ace/OS.h" -#include "ace/Profile_Timer.h" - -/* File to be included if Quantify is to be used */ -#if defined (USE_QUANTIFY) -#include <quantify.h> -#endif - - -/* define the data types to be sent */ -#define SEND_SHORT ((CORBA::ULong)(1)) -#define SEND_LONG ((CORBA::ULong)(2)) -#define SEND_CHAR ((CORBA::ULong)(3)) -#define SEND_OCTET ((CORBA::ULong)(4)) -#define SEND_DOUBLE ((CORBA::ULong)(5)) -#define SEND_STRUCT ((CORBA::ULong)(6)) -#define SEND_COMPOSITE ((CORBA::ULong)(7)) - -/************** -// Prototypes -***************/ -int err (CORBA::Char *s); -void mes (CORBA::Char *s); -CORBA::String outfmt (CORBA::Double b); -void prep_timer (void); -CORBA::Double read_timer (CORBA::Char *str, CORBA::Long len); -void prusage (register struct rusage *r0, struct rusage *r1, struct timeval *e, struct timeval *b, CORBA::Char *outp); -void tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1); -void tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0); -void psecs (CORBA::Long l, register CORBA::Char *cp); -void delay (CORBA::Long us); -void FillPattern (register CORBA::Char *cp, register CORBA::Long bufLen, CORBA::ULong dt); -void PrintStats (void); - -/* Global variables defined here as extern */ -extern ACE_Svc_Export CORBA::Long trans; // whether we are transmitter - // or receiver -extern ACE_Svc_Export CORBA::Long buflen; /* length of buffer */ -extern ACE_Svc_Export CORBA::Char *buf; /* ptr to dynamic buffer */ -extern ACE_Svc_Export CORBA::Long nbuf; /* number of buffers to send in sinkmode */ -extern ACE_Svc_Export CORBA::Short port; /* TCP port number */ -extern ACE_Svc_Export CORBA::Char *host; /* ptr to name of host */ -extern ACE_Svc_Export CORBA::Long verbose; /* 0=print basic info, 1=prCORBA::Long cpu rate, proc - * resource usage. */ -extern ACE_Svc_Export CORBA::Char fmt; /* output format:k=kilobits,K=kilobytes, - * m = megabits, M = megabytes, - * g = gigabits, G = gigabytes */ -extern ACE_Svc_Export CORBA::Char *title; - -extern ACE_Svc_Export CORBA::Char stats[128]; -extern ACE_Svc_Export unsigned long srcDataSize; /* Total amount of source data */ -extern ACE_Svc_Export unsigned long nbytes; /* bytes on net */ -extern ACE_Svc_Export unsigned long numCalls; /* # of I/O system calls */ -extern ACE_Svc_Export CORBA::Double cput, realt; /* user, real time (seconds) */ -extern ACE_Svc_Export unsigned long dt; - -/* declare struct variables for various message types */ -extern ACE_Svc_Export ttcp_sequence::ShortSeq *sseq; -extern ACE_Svc_Export ttcp_sequence::LongSeq *lseq; -extern ACE_Svc_Export ttcp_sequence::OctetSeq *oseq; -extern ACE_Svc_Export ttcp_sequence::DoubleSeq *dseq; -extern ACE_Svc_Export ttcp_sequence::CharSeq *cseq; -extern ACE_Svc_Export ttcp_sequence::StructSeq *Sseq; - -#endif diff --git a/TAO/tests/Thruput/TAO/ttcp_i.cpp b/TAO/tests/Thruput/TAO/ttcp_i.cpp deleted file mode 100644 index 9fd7bf1ed37..00000000000 --- a/TAO/tests/Thruput/TAO/ttcp_i.cpp +++ /dev/null @@ -1,101 +0,0 @@ -#include <iostream.h> -#include "ace/ACE.h" -#include "ttcp_i.h" -#include "ttcp_decl.h" - -/* the ttcp_i class implementation */ -ttcp_sequence_i::ttcp_sequence_i() -{ - this->nbytes_ = 0; - numCalls = 0; -} - -void -ttcp_sequence_i::start_timer (CORBA::Environment &IT_env) -{ - ACE_UNUSED_ARG (IT_env); - this->nbytes_ = 0; - ::prep_timer (); -} - -void -ttcp_sequence_i::stop_timer (CORBA::Environment &IT_env) -{ - ACE_UNUSED_ARG (IT_env); - - (void) ::read_timer (stats, sizeof (stats)); - ::nbytes = this->nbytes_; - ::PrintStats(); - // reset - this->nbytes_ = 0; - numCalls = 0; -#if defined (USE_QUANTIFY) - quantify_stop_recording_data(); - ACE_Service_Config::end_reactor_event_loop(); - cerr << "*********** just before exiting " << endl; -#endif -#if defined (USE_PURIFY) - ACE_Service_Config::end_reactor_event_loop(); - cerr << "*********** just before exiting " << endl; -#endif -} - -void -ttcp_sequence_i::sendShortSeq(const ttcp_sequence::ShortSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - ACE_UNUSED_ARG (IT_env); - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Short); -} - -void -ttcp_sequence_i::sendLongSeq(const ttcp_sequence::LongSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - ACE_UNUSED_ARG (IT_env); - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Long) ; -} - -void -ttcp_sequence_i::sendOctetSeq(const ttcp_sequence::OctetSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - ACE_UNUSED_ARG (IT_env); - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Octet) ; -} - -void -ttcp_sequence_i::sendDoubleSeq(const ttcp_sequence::DoubleSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - ACE_UNUSED_ARG (IT_env); - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Double) ; -} - -void -ttcp_sequence_i::sendCharSeq(const ttcp_sequence::CharSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - ACE_UNUSED_ARG (IT_env); - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(CORBA::Char) ; -} - -void -ttcp_sequence_i::sendStructSeq(const ttcp_sequence::StructSeq& ttcp_seq, CORBA::Environment &IT_env) -{ - ACE_UNUSED_ARG (IT_env); - numCalls++; - this->nbytes_ += ttcp_seq.length()*sizeof(BinStruct) ; -#ifdef DEBUG - // cout << "Bytes received so far = " << this->nbytes_ << endl; -#endif -} - - - - - - - - - diff --git a/TAO/tests/Thruput/TAO/ttcp_i.h b/TAO/tests/Thruput/TAO/ttcp_i.h deleted file mode 100644 index 08a44318065..00000000000 --- a/TAO/tests/Thruput/TAO/ttcp_i.h +++ /dev/null @@ -1,46 +0,0 @@ -// ============================================================================ -// -// = TAO tests -// Throughput measurement using the TTCP benchmark adapted to work using TAO -// -// = FILENAME -// ttcp_i.h -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -#if !defined (TTCP_I_H) -#define TTCP_I_H - -#include "ttcpS.h" - -class ttcp_sequence_i: public POA_ttcp_sequence -{ -public: - ttcp_sequence_i(); - - virtual void sendShortSeq (const ttcp_sequence::ShortSeq& ttcp_seq, - CORBA::Environment &IT_env); - virtual void sendLongSeq (const ttcp_sequence::LongSeq& ttcp_seq, - CORBA::Environment &IT_env); - virtual void sendDoubleSeq (const ttcp_sequence::DoubleSeq& ttcp_seq, - CORBA::Environment &IT_env); - virtual void sendCharSeq (const ttcp_sequence::CharSeq& ttcp_seq, - CORBA::Environment &IT_env); - virtual void sendStructSeq (const ttcp_sequence::StructSeq& ttcp_seq, - CORBA::Environment &IT_env); - virtual void sendOctetSeq (const ttcp_sequence::OctetSeq& ttcp_seq, - CORBA::Environment &IT_env); - - /* Routines to calculate the time required to transfer */ - virtual void start_timer (CORBA::Environment &IT_env); - virtual void stop_timer (CORBA::Environment &IT_env); - -private: - unsigned long nbytes_; -}; - -#endif // defined (TTCP_I_H) - diff --git a/TAO/tests/Thruput/TAO/utils.cpp b/TAO/tests/Thruput/TAO/utils.cpp deleted file mode 100644 index 653c2336baf..00000000000 --- a/TAO/tests/Thruput/TAO/utils.cpp +++ /dev/null @@ -1,467 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = TAO tests -// Throughput measurement using the TTCP benchmark adapted to work using TAO -// -// = FILENAME -// utils.cpp -// -// = AUTHOR -// Aniruddha Gokhale -// -// ============================================================================ - -// This file has all the helper functions that do the computation of -// throughput, system time used, user time, etc based on data collected. - -#include "ttcpC.h" -#include "ttcp_decl.h" - -// the error function. -// displays the error message and exits -int err (CORBA::String s) -{ - ACE_OS::fprintf (stderr, "ttcp%s: ", trans ? "-t" : "-r"); - ACE_OS::perror (s); - ACE_OS::fprintf (stderr, "errno=%d\n", errno); - return -1; -} - -// prints a message indicating if it is a transmitter or a receiver -void mes (CORBA::String s) -{ - ACE_OS::fprintf (stderr, "ttcp%s: %s\n", trans ? "-t" : "-r", s); -} - -// does the formatting for the desired units in which the result is to be -// displayed -CORBA::String -outfmt (CORBA::Double b) -{ - static CORBA::Char obuf[50]; - switch (fmt) - { - case 'G': - ACE_OS::sprintf (obuf, "%.2f GB", b / 1024.0 / 1024.0 / 1024.0); - break; - default: - case 'K': - ACE_OS::sprintf (obuf, "%.2f KB", b / 1024.0); - break; - case 'M': - ACE_OS::sprintf (obuf, "%.2f MB", b / 1024.0 / 1024.0); - break; - case 'g': - ACE_OS::sprintf (obuf, "%.2f Gbit", b * 8.0 / 1024.0 / 1024.0 / 1024.0); - break; - case 'k': - ACE_OS::sprintf (obuf, "%.2f Kbit", b * 8.0 / 1024.0); - break; - case 'm': - ACE_OS::sprintf (obuf, "%.2f Mbit", b * 8.0 / 1024.0 / 1024.0); - break; - } - return obuf; -} - -static struct itimerval itime0; /* Time at which timing started */ -static struct rusage ru0; /* Resource utilization at the start */ - -/* - * P R E P _ T I M E R - */ -// this is in fact the internals of the "start_timer" operation -void -prep_timer (void) -{ - itime0.it_interval.tv_sec = 0; - itime0.it_interval.tv_usec = 0; - itime0.it_value.tv_sec = (ACE_INT32) LONG_MAX / 22; /* greatest possible value , itimer() count backwards */ - itime0.it_value.tv_usec = 0; - - - ACE_OS::getrusage (RUSAGE_SELF, &ru0); - - /* Init REAL Timer */ - if (setitimer (ITIMER_REAL, &itime0, NULL)) - { - perror ("Setting 'itimer' REAL failed"); - return; - } - -} - -/* - * R E A D _ T I M E R - * - */ -// This implements the internals of the "stop_timer" method -double -read_timer (CORBA::Char *str, CORBA::Long len) -{ - struct itimerval itimedol; - struct rusage ru1; - struct timeval td; - struct timeval tend, tstart; - char line[132]; - - ACE_OS::getrusage (RUSAGE_SELF, &ru1); - - if (getitimer (ITIMER_REAL, &itimedol)) - { - perror ("Getting 'itimer' REAL failed"); - return (0.0); - } - - prusage (&ru0, &ru1, &itime0.it_value, &itimedol.it_value, line); - (void) strncpy (str, line, len); - - /* Get real time */ - tvsub (&td, &itime0.it_value, &itimedol.it_value); - realt = td.tv_sec + ((double) td.tv_usec) / 1000000; - - /* Get CPU time (user+sys) */ - tvadd (&tend, &ru1.ru_utime, &ru1.ru_stime); - tvadd (&tstart, &ru0.ru_utime, &ru0.ru_stime); - tvsub (&td, &tend, &tstart); - cput = td.tv_sec + ((double) td.tv_usec) / 1000000; - if (cput < 0.00001) - cput = 0.00001; - return (cput); -} - -// prints the rusage stats -void -prusage (register struct rusage *r0, struct rusage *r1, - struct timeval *e, struct timeval *b, char *outp) -{ - struct timeval tdiff; - register time_t t; - register char *cp; - register int i; - int ms; - - t = (r1->ru_utime.tv_sec - r0->ru_utime.tv_sec) * 100 + - (r1->ru_utime.tv_usec - r0->ru_utime.tv_usec) / 10000 + - (r1->ru_stime.tv_sec - r0->ru_stime.tv_sec) * 100 + - (r1->ru_stime.tv_usec - r0->ru_stime.tv_usec) / 10000; - ms = (e->tv_sec - b->tv_sec) * 100 + (e->tv_usec - b->tv_usec) / 10000; - -#define END(x) {while(*x) x++;} -#if defined(SYSV) - cp = "%Uuser %Ssys %Ereal %P"; -#else -#if defined(sgi) /* IRIX 3.3 will show 0 for %M,%F,%R,%C */ - cp = "%Uuser %Ssys %Ereal %P %Mmaxrss %F+%Rpf %Ccsw"; -#else - cp = "%Uuser %Ssys %Ereal %P %Xi+%Dd %Mmaxrss %F+%Rpf %Ccsw"; -#endif -#endif - for (; *cp; cp++) - { - if (*cp != '%') - *outp++ = *cp; - else if (cp[1]) - switch (*++cp) - { - - case 'U': - tvsub (&tdiff, &r1->ru_utime, &r0->ru_utime); - ACE_OS::sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec / 100000); - END (outp); - break; - - case 'S': - tvsub (&tdiff, &r1->ru_stime, &r0->ru_stime); - ACE_OS::sprintf (outp, "%d.%01d", tdiff.tv_sec, tdiff.tv_usec / 100000); - END (outp); - break; - - case 'E': - psecs (ms / 100, outp); - END (outp); - break; - - case 'P': - ACE_OS::sprintf (outp, "%d%%", (int) (t * 100 / ((ms ? ms : 1)))); - END (outp); - break; - -#if !defined(SYSV) - case 'W': - i = r1->ru_nswap - r0->ru_nswap; - ACE_OS::sprintf (outp, "%d", i); - END (outp); - break; - - case 'X': - ACE_OS::sprintf (outp, "%d", t == 0 ? 0 : (r1->ru_ixrss - r0->ru_ixrss) / t); - END (outp); - break; - - case 'D': - ACE_OS::sprintf (outp, "%d", t == 0 ? 0 : - (r1->ru_idrss + r1->ru_isrss - (r0->ru_idrss + r0->ru_isrss)) / t); - END (outp); - break; - - case 'K': - ACE_OS::sprintf (outp, "%d", t == 0 ? 0 : - ((r1->ru_ixrss + r1->ru_isrss + r1->ru_idrss) - - (r0->ru_ixrss + r0->ru_idrss + r0->ru_isrss)) / t); - END (outp); - break; - - case 'M': - ACE_OS::sprintf (outp, "%d", r1->ru_maxrss / 2); - END (outp); - break; - - case 'F': - ACE_OS::sprintf (outp, "%d", r1->ru_majflt - r0->ru_majflt); - END (outp); - break; - - case 'R': - ACE_OS::sprintf (outp, "%d", r1->ru_minflt - r0->ru_minflt); - END (outp); - break; - - case 'I': - ACE_OS::sprintf (outp, "%d", r1->ru_inblock - r0->ru_inblock); - END (outp); - break; - - case 'O': - ACE_OS::sprintf (outp, "%d", r1->ru_oublock - r0->ru_oublock); - END (outp); - break; - case 'C': - ACE_OS::sprintf (outp, "%d+%d", r1->ru_nvcsw - r0->ru_nvcsw, - r1->ru_nivcsw - r0->ru_nivcsw); - END (outp); - break; -#endif /* !SYSV */ - } - } - *outp = '\0'; -} - -// adds two "timeval" structures -void -tvadd (struct timeval *tsum, struct timeval *t0, struct timeval *t1) -{ - - tsum->tv_sec = t0->tv_sec + t1->tv_sec; - tsum->tv_usec = t0->tv_usec + t1->tv_usec; - if (tsum->tv_usec > 1000000) - tsum->tv_sec++, tsum->tv_usec -= 1000000; -} - -// finds difference between two timevals -void -tvsub (struct timeval *tdiff, struct timeval *t1, struct timeval *t0) -{ - - tdiff->tv_sec = t1->tv_sec - t0->tv_sec; - tdiff->tv_usec = t1->tv_usec - t0->tv_usec; - if (tdiff->tv_usec < 0) - tdiff->tv_sec--, tdiff->tv_usec += 1000000; -} - -// print in seconds -void -psecs (CORBA::Long l, register CORBA::Char *cp) -{ - register int i; - - i = l / 3600; - if (i) - { - ACE_OS::sprintf (cp, "%d:", i); - END (cp); - i = l % 3600; - ACE_OS::sprintf (cp, "%d%d", (i / 60) / 10, (i / 60) % 10); - END (cp); - } - else - { - i = l; - ACE_OS::sprintf (cp, "%d", i / 60); - END (cp); - } - i %= 60; - *cp++ = ':'; - ACE_OS::sprintf (cp, "%d%d", i / 10, i % 10); -} - -// generate the specified delay in microseconds -void -delay (int us) -{ - struct timeval tv; - - tv.tv_sec = 0; - tv.tv_usec = us; - (void) select (1, (fd_set *) 0, (fd_set *) 0, (fd_set *) 0, &tv); -} - -// fill up a buffer with a data type that we want to send -void -FillPattern (register CORBA::Char *cp, register CORBA::Long bufLen, CORBA::ULong dt) -{ - unsigned long - num, i; - - switch(dt){ - case SEND_SHORT: - { - register short *SeqPtr = (short *)cp; - num = bufLen/sizeof(short); - for (i=0; i < num; i++) - SeqPtr[i] = (short)lrand48(); - sseq = new ttcp_sequence::ShortSeq(num,num, SeqPtr); - } - break; - case SEND_LONG: - { - register CORBA::Long *SeqPtr = (CORBA::Long *)cp; - num = bufLen/sizeof(long); - for (i=0; i < num; i++) - SeqPtr[i] = lrand48(); - lseq = new ttcp_sequence::LongSeq(num, num, SeqPtr); - } - break; - case SEND_DOUBLE: - { - register double *SeqPtr = (double *)cp; - num = bufLen/sizeof(double); - for (i=0; i < num; i++) - SeqPtr[i] = drand48(); - dseq = new ttcp_sequence::DoubleSeq(num, num, SeqPtr); - } - break; - case SEND_CHAR: - { - register CORBA::Char *SeqPtr = (CORBA::Char *)cp; - register char c = 0; - num = bufLen/sizeof(char); - for(i=0; i < num; i++){ - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i] = (c++ & 0x7f); - } - cseq = new ttcp_sequence::CharSeq(num, num, SeqPtr); - } - break; - case SEND_STRUCT: - { - register BinStruct *SeqPtr = (BinStruct *)cp; - register char c = 0; - num = bufLen/sizeof(BinStruct); - for (i=0; i < num; i++){ - SeqPtr[i].s = (short)lrand48(); - SeqPtr[i].l = lrand48(); - SeqPtr[i].d = drand48(); - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i].c = (c++ & 0x7f); - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i].o = (unsigned char)(c++ & 0x7f); - } - Sseq = new ttcp_sequence::StructSeq(num, num, SeqPtr); - - } - break; - case SEND_OCTET: - default: - { - register CORBA::Octet *SeqPtr = (CORBA::Octet *)cp; - register char c = 0; - num = bufLen/sizeof(CORBA::Octet); - for(i=0; i < num; i++){ - while (!isprint(c & 0x7f)) - c++; - SeqPtr[i] = (c++ & 0x7f); - } - oseq = new ttcp_sequence::OctetSeq(num, num, SeqPtr); - } - break; - } -} - -// print all the statistics -void PrintStats (void) -{ - if (cput <= 0.0) - cput = 0.001; - if (realt <= 0.0) - realt = 0.001; - - if (title != 0) - { - double tmp; - FILE *outFile; - char filename[BUFSIZ]; - - strcpy(filename, title); - switch(dt){ - case SEND_SHORT: - strcat(filename, ".shortSeq.results"); - break; - case SEND_LONG: - strcat(filename, ".longSeq.results"); - break; - case SEND_DOUBLE: - strcat(filename, ".doubleSeq.results"); - break; - case SEND_CHAR: - strcat(filename, ".charSeq.results"); - break; - case SEND_STRUCT: - strcat(filename, ".structSeq.results"); - break; - case SEND_COMPOSITE: - strcat(filename, ".compositeSeq.results"); - break; - case SEND_OCTET: - default: - strcat(filename, ".octetSeq.results"); - break; - } - outFile = fopen (filename, "a+"); - ACE_OS::fprintf (outFile, "\n%ldk \t", buflen / 1024); - tmp = ((double) nbytes) / realt; - ACE_OS::fprintf (outFile, "%.2f ", tmp * 8.0 / 1024.0 / 1024.0); - fclose (outFile); - } - - ACE_OS::fprintf (stdout, - "ttcp%s: %ld bytes in %.2f real seconds = %s/sec +++\n", - trans ? "-t" : "-r", - nbytes, realt, outfmt (((double) nbytes) / realt)); - if (verbose) - { - ACE_OS::fprintf (stdout, - "ttcp%s: %ld bytes in %.2f CPU seconds = %s/cpu sec\n", - trans ? "-t" : "-r", - nbytes, cput, outfmt (((double) nbytes) / cput)); - } - ACE_OS::fprintf (stdout, - "ttcp%s: %d Server Method calls, msec/call = %.2f, calls/sec = %.2f\n", - trans ? "-t" : "-r", - numCalls, - 1024.0 * realt / ((double) numCalls), - ((double) numCalls) / realt); - ACE_OS::fprintf (stdout, "ttcp%s: %s\n", trans ? "-t" : "-r", stats); - if (verbose) - { - ACE_OS::fprintf (stdout, - "ttcp%s: buffer address %#x\n", - trans ? "-t" : "-r", - buf); - } -} |