From 60e715105d19a93bea7ff167bf81a35ea477a717 Mon Sep 17 00:00:00 2001
From: fcolin
Date: Thu, 1 Feb 2007 10:04:27 +0000
Subject: Utilisateur : Fcolin Date : 30/11/05 Heure : 10:27 Créé
Commentaire: (vss 1)
---
CSharp/Ivy/IvyPerf/IvyPerf.cs | 58 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)
create mode 100644 CSharp/Ivy/IvyPerf/IvyPerf.cs
diff --git a/CSharp/Ivy/IvyPerf/IvyPerf.cs b/CSharp/Ivy/IvyPerf/IvyPerf.cs
new file mode 100644
index 0000000..2a23d22
--- /dev/null
+++ b/CSharp/Ivy/IvyPerf/IvyPerf.cs
@@ -0,0 +1,58 @@
+using System;
+using IvyBus;
+using System.Threading;
+using System.Globalization;
+
+namespace IvyPerf
+{
+ ///
+ /// Description résumée de Class1.
+ ///
+ class IvyPerf
+ {
+ static Ivy bus;
+ // manque d'homogeneitee format float en langue US
+ static CultureInfo c;
+
+ static double currentTime() // en ms
+ {
+ double time;
+ time = (double)DateTime.Now.Ticks / (double)TimeSpan.TicksPerMillisecond;
+ //time = Environment.TickCount;
+ return time;
+ }
+ static void Reply(IvyClient client, IvyArgument args)
+ {
+ bus.sendMsg(c,"pong ts={0} tr={1}", args, currentTime());
+ }
+ static void Pong(IvyClient client, IvyArgument args)
+ {
+ double current = currentTime();
+ double ts = double.Parse( args[0].Value, c );
+ double tr = double.Parse(args[1].Value, c);
+ double roundtrip1 = tr-ts;
+ double roundtrip2 = current - ts;
+ Console.WriteLine( "round trip {0} {1}", roundtrip1 , roundtrip2 );
+ }
+ ///
+ /// Point d'entrée principal de l'application.
+ ///
+ [STAThread]
+ static void Main(string[] args)
+ {
+ c = new CultureInfo("en-us");
+ bus = new Ivy("IvyPerf", "IvyPref ready");
+ bus.bindMsg( "^ping ts=(.*)", new Ivy.MessageHandler( Reply ) );
+ bus.bindMsg( "^pong ts=(.*) tr=(.*)", new Ivy.MessageHandler( Pong ) );
+ //bus.bindSimpleMsg( "ping:ts", new Ivy.MessageHandler( Reply ) );
+ //bus.bindSimpleMsg( "pong:ts,tr", new Ivy.MessageHandler( Pong ) );
+ bus.start(null);
+ while( true )
+ {
+ Thread.Sleep( 1000 );
+ int count = bus.sendMsg(c,"ping ts={0}", currentTime());
+ if ( count == 0 ) Console.Write( "." );
+ }
+ }
+ }
+}
--
cgit v1.1