summaryrefslogtreecommitdiff
path: root/javae/demo/IceE/jdk/throughput/Client.java
diff options
context:
space:
mode:
Diffstat (limited to 'javae/demo/IceE/jdk/throughput/Client.java')
-rw-r--r--javae/demo/IceE/jdk/throughput/Client.java455
1 files changed, 0 insertions, 455 deletions
diff --git a/javae/demo/IceE/jdk/throughput/Client.java b/javae/demo/IceE/jdk/throughput/Client.java
deleted file mode 100644
index 2400a6600dd..00000000000
--- a/javae/demo/IceE/jdk/throughput/Client.java
+++ /dev/null
@@ -1,455 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2007 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice-E is licensed to you under the terms described in the
-// ICEE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-import Demo.*;
-
-public class Client
-{
- private static void
- menu()
- {
- System.out.println(
- "usage:\n" +
- "\n" +
- "toggle type of data to send:\n" +
- "1: sequence of bytes (default)\n" +
- "2: sequence of strings (\"hello\")\n" +
- "3: sequence of structs with a string (\"hello\") and a double\n" +
- "4: sequence of structs with two ints and a double\n" +
- "\n" +
- "select test to run:\n" +
- "t: Send sequence as twoway\n" +
- "o: Send sequence as oneway\n" +
- "r: Receive sequence\n" +
- "e: Echo (send and receive) sequence\n" +
- "\n" +
- "other commands:\n" +
- "s: shutdown server\n" +
- "x: exit\n" +
- "?: help\n");
- }
-
- private static int
- run(String[] args, Ice.Communicator communicator)
- {
- //
- // Check if we need to run with small sequences.
- //
- int reduce = 1;
- for(int i = 0; i < args.length; ++i)
- {
- if(args[i].equals("--small"))
- {
- reduce = 100;
- }
- }
-
- Ice.Properties properties = communicator.getProperties();
- final String refProperty = "Throughput.Throughput";
- String ref = properties.getProperty(refProperty);
- if(ref.length() == 0)
- {
- System.err.println("property `" + refProperty + "' not set");
- return 1;
- }
-
- Ice.ObjectPrx base = communicator.stringToProxy(ref);
- ThroughputPrx throughput = ThroughputPrxHelper.checkedCast(base);
- if(throughput == null)
- {
- System.err.println("invalid proxy");
- return 1;
- }
- ThroughputPrx throughputOneway = ThroughputPrxHelper.uncheckedCast(throughput.ice_oneway());
-
- byte[] byteSeq = new byte[ByteSeqSize.value / reduce];
-
- String[] stringSeq = new String[StringSeqSize.value / reduce];
- for(int i = 0; i < StringSeqSize.value / reduce; ++i)
- {
- stringSeq[i] = "hello";
- }
-
- StringDouble[] structSeq = new StringDouble[StringDoubleSeqSize.value / reduce];
- for(int i = 0; i < StringDoubleSeqSize.value / reduce; ++i)
- {
- structSeq[i] = new StringDouble();
- structSeq[i].s = "hello";
- structSeq[i].d = 3.14;
- }
-
- Fixed[] fixedSeq = new Fixed[FixedSeqSize.value / reduce];
- for(int i = 0; i < FixedSeqSize.value / reduce; ++i)
- {
- fixedSeq[i] = new Fixed();
- fixedSeq[i].i = 0;
- fixedSeq[i].j = 0;
- fixedSeq[i].d = 0;
- }
-
- menu();
-
- java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
-
- char currentType = '1';
- int seqSize = ByteSeqSize.value / reduce;
-
- // Initial ping to setup the connection.
- throughput.ice_ping();
-
- String line = null;
- do
- {
- try
- {
- System.out.print("==> ");
- System.out.flush();
- line = in.readLine();
- if(line == null)
- {
- break;
- }
-
- long tmsec = System.currentTimeMillis();
- final int repetitions = 100;
-
- if(line.equals("1") || line.equals("2") || line.equals("3") || line.equals("4"))
- {
- currentType = line.charAt(0);
-
- switch(currentType)
- {
- case '1':
- {
- System.out.println("using byte sequences");
- seqSize = ByteSeqSize.value;
- break;
- }
-
- case '2':
- {
- System.out.println("using string sequences");
- seqSize = StringSeqSize.value;
- break;
- }
-
- case '3':
- {
- System.out.println("using variable-length struct sequences");
- seqSize = StringDoubleSeqSize.value;
- break;
- }
-
- case '4':
- {
- System.out.println("using fixed-length struct sequences");
- seqSize = FixedSeqSize.value;
- break;
- }
- }
- }
- else if(line.equals("t") || line.equals("o") || line.equals("r") || line.equals("e"))
- {
- char c = line.charAt(0);
-
- switch(c)
- {
- case 't':
- case 'o':
- {
- System.out.print("sending");
- break;
- }
-
- case 'r':
- {
- System.out.print("receiving");
- break;
- }
-
- case 'e':
- {
- System.out.print("sending and receiving");
- break;
- }
- }
-
- System.out.print(" " + repetitions);
- switch(currentType)
- {
- case '1':
- {
- System.out.print(" byte");
- break;
- }
-
- case '2':
- {
- System.out.print(" string");
- break;
- }
-
- case '3':
- {
- System.out.print(" variable-length struct");
- break;
- }
-
- case '4':
- {
- System.out.print(" fixed-length struct");
- break;
- }
- }
-
- System.out.print(" sequences of size " + seqSize);
-
- if(c == 'o')
- {
- System.out.print(" as oneway");
- }
-
- System.out.println("...");
-
- for(int i = 0; i < repetitions; ++i)
- {
- switch(currentType)
- {
- case '1':
- {
- switch(c)
- {
- case 't':
- {
- throughput.sendByteSeq(byteSeq);
- break;
- }
-
- case 'o':
- {
- throughputOneway.sendByteSeq(byteSeq);
- break;
- }
-
- case 'r':
- {
- throughput.recvByteSeq();
- break;
- }
-
- case 'e':
- {
- throughput.echoByteSeq(byteSeq);
- break;
- }
- }
- break;
- }
-
- case '2':
- {
- switch(c)
- {
- case 't':
- {
- throughput.sendStringSeq(stringSeq);
- break;
- }
-
- case 'o':
- {
- throughputOneway.sendStringSeq(stringSeq);
- break;
- }
-
- case 'r':
- {
- throughput.recvStringSeq();
- break;
- }
-
- case 'e':
- {
- throughput.echoStringSeq(stringSeq);
- break;
- }
- }
- break;
- }
-
- case '3':
- {
- switch(c)
- {
- case 't':
- {
- throughput.sendStructSeq(structSeq);
- break;
- }
-
- case 'o':
- {
- throughputOneway.sendStructSeq(structSeq);
- break;
- }
-
- case 'r':
- {
- throughput.recvStructSeq();
- break;
- }
-
- case 'e':
- {
- throughput.echoStructSeq(structSeq);
- break;
- }
- }
- break;
- }
-
- case '4':
- {
- switch(c)
- {
- case 't':
- {
- throughput.sendFixedSeq(fixedSeq);
- break;
- }
-
- case 'o':
- {
- throughputOneway.sendFixedSeq(fixedSeq);
- break;
- }
-
- case 'r':
- {
- throughput.recvFixedSeq();
- break;
- }
-
- case 'e':
- {
- throughput.echoFixedSeq(fixedSeq);
- break;
- }
- }
- break;
- }
- }
- }
-
- double dmsec = System.currentTimeMillis() - tmsec;
- System.out.println("time for " + repetitions + " sequences: " + dmsec + "ms");
- System.out.println("time per sequence: " + dmsec / repetitions + "ms");
- int wireSize = 0;
- switch(currentType)
- {
- case '1':
- {
- wireSize = 1;
- break;
- }
-
- case '2':
- {
- wireSize = stringSeq[0].length();
- break;
- }
-
- case '3':
- {
- wireSize = structSeq[0].s.length();
- wireSize += 8; // Size of double on the wire.
- break;
- }
-
- case '4':
- {
- wireSize = 16; // Size of two ints and a double on the wire.
- break;
- }
- }
- double mbit = repetitions * seqSize * wireSize * 8.0 / dmsec / 1000.0;
- if(c == 'e')
- {
- mbit *= 2;
- }
- System.out.println("throughput: " + new java.text.DecimalFormat("#.##").format(mbit) + "Mbps");
- }
- else if(line.equals("s"))
- {
- throughput.shutdown();
- }
- else if(line.equals("x"))
- {
- // Nothing to do
- }
- else if(line.equals("?"))
- {
- menu();
- }
- else
- {
- System.out.println("unknown command `" + line + "'");
- menu();
- }
- }
- catch(java.io.IOException ex)
- {
- ex.printStackTrace();
- }
- catch(Ice.LocalException ex)
- {
- ex.printStackTrace();
- }
- }
- while(!line.equals("x"));
-
- return 0;
- }
-
- public static void
- main(String[] args)
- {
- int status = 0;
- Ice.Communicator communicator = null;
-
- try
- {
- Ice.InitializationData initData = new Ice.InitializationData();
- initData.properties = Ice.Util.createProperties();
- initData.properties.load("config");
- communicator = Ice.Util.initialize(args, initData);
- status = run(args, communicator);
- }
- catch(Ice.LocalException ex)
- {
- ex.printStackTrace();
- status = 1;
- }
-
- if(communicator != null)
- {
- try
- {
- communicator.destroy();
- }
- catch(Ice.LocalException ex)
- {
- ex.printStackTrace();
- status = 1;
- }
- }
-
- System.exit(status);
- }
-}