summaryrefslogtreecommitdiff
path: root/cs/demo/Ice/latency/Client.cs
diff options
context:
space:
mode:
Diffstat (limited to 'cs/demo/Ice/latency/Client.cs')
-rw-r--r--cs/demo/Ice/latency/Client.cs97
1 files changed, 53 insertions, 44 deletions
diff --git a/cs/demo/Ice/latency/Client.cs b/cs/demo/Ice/latency/Client.cs
index bf9e4a37c91..9ebf5fb863a 100644
--- a/cs/demo/Ice/latency/Client.cs
+++ b/cs/demo/Ice/latency/Client.cs
@@ -7,64 +7,73 @@
//
// **********************************************************************
-using System;
using Demo;
+using System;
+using System.Reflection;
+
+[assembly: CLSCompliant(true)]
+
+[assembly: AssemblyTitle("IceLatencyClient")]
+[assembly: AssemblyDescription("Ice latency demo client")]
+[assembly: AssemblyCompany("ZeroC, Inc.")]
-public class Client : Ice.Application
+public class Client
{
- public override int
- run(string[] args)
+ public class App : Ice.Application
{
- if(args.Length > 0)
+ public override int run(string[] args)
{
- Console.Error.WriteLine(appName() + ": too many arguments");
- return 1;
- }
+ if(args.Length > 0)
+ {
+ Console.Error.WriteLine(appName() + ": too many arguments");
+ return 1;
+ }
- PingPrx ping = PingPrxHelper.checkedCast(communicator().propertyToProxy("Latency.Ping"));
- if(ping == null)
- {
- Console.Error.WriteLine("invalid proxy");
- return 1;
- }
-
- //
- // A method needs to be invoked thousands of times before the JIT compiler
- // will convert it to native code. To ensure an accurate latency measurement,
- // we need to "warm up" the JIT compiler.
- //
- {
- int reps = 20000;
- Console.Error.Write("warming up the JIT compiler...");
- Console.Error.Flush();
- for(int i = 0; i < reps; i++)
+ PingPrx ping = PingPrxHelper.checkedCast(communicator().propertyToProxy("Latency.Ping"));
+ if(ping == null)
+ {
+ Console.Error.WriteLine("invalid proxy");
+ return 1;
+ }
+
+ //
+ // A method needs to be invoked thousands of times before the JIT compiler
+ // will convert it to native code. To ensure an accurate latency measurement,
+ // we need to "warm up" the JIT compiler.
+ //
+ {
+ int reps = 20000;
+ Console.Error.Write("warming up the JIT compiler...");
+ Console.Error.Flush();
+ for(int i = 0; i < reps; i++)
+ {
+ ping.ice_ping();
+ }
+ Console.Error.WriteLine("ok");
+ }
+
+ long tv1 = (System.DateTime.Now.Ticks - 621355968000000000) / 10000;
+ int repetitions = 100000;
+ Console.Out.WriteLine("pinging server " + repetitions + " times (this may take a while)");
+ for (int i = 0; i < repetitions; i++)
{
ping.ice_ping();
}
- Console.Error.WriteLine("ok");
- }
-
- long tv1 = (System.DateTime.Now.Ticks - 621355968000000000) / 10000;
- int repetitions = 100000;
- Console.Out.WriteLine("pinging server " + repetitions + " times (this may take a while)");
- for (int i = 0; i < repetitions; i++)
- {
- ping.ice_ping();
+
+ long tv2 = (System.DateTime.Now.Ticks - 621355968000000000) / 10000;
+ double total = (double)(tv2 - tv1);
+ double perPing = total / repetitions;
+
+ Console.Out.WriteLine("time for " + repetitions + " pings: " + total + "ms");
+ Console.Out.WriteLine("time per ping: " + perPing + "ms");
+
+ return 0;
}
-
- long tv2 = (System.DateTime.Now.Ticks - 621355968000000000) / 10000;
- double total = (double)(tv2 - tv1);
- double perPing = total / repetitions;
-
- Console.Out.WriteLine("time for " + repetitions + " pings: " + total + "ms");
- Console.Out.WriteLine("time per ping: " + perPing + "ms");
-
- return 0;
}
public static void Main(string[] args)
{
- Client app = new Client();
+ App app = new App();
int status = app.main(args, "config.client");
if(status != 0)
{