summaryrefslogtreecommitdiff
path: root/Ivy/IvyPerf/IvyPerf.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ivy/IvyPerf/IvyPerf.cs')
-rw-r--r--Ivy/IvyPerf/IvyPerf.cs74
1 files changed, 0 insertions, 74 deletions
diff --git a/Ivy/IvyPerf/IvyPerf.cs b/Ivy/IvyPerf/IvyPerf.cs
deleted file mode 100644
index 9d37883..0000000
--- a/Ivy/IvyPerf/IvyPerf.cs
+++ /dev/null
@@ -1,74 +0,0 @@
-using System;
-using IvyBus;
-using System.Threading;
-using System.Globalization;
-using System.Collections.Specialized;
-
-namespace IvyPerf
-{
- /// <summary>
- /// Description résumée de IvyPerf.
- /// mesure des perfo de round trip entre deux applis
- /// </summary>
- class IvyPerf
- {
- static Ivy bus;
- static double origin = 0;
-
- static double currentTime() // en ms
- {
- double time;
- time = (double)(DateTime.Now.Ticks) / (double)(TimeSpan.TicksPerMillisecond);
- //time = Environment.TickCount;
- return time;
- }
- [IvyBinding("^ping ts=(.*)")]
- static void Reply(object sender, IvyMessageEventArgs args)
- {
- bus.SendMsg("pong ts={0} tr={1}", args[0], currentTime() - origin );
- }
- [IvyBinding("^pong ts=(.*) tr=(.*)")]
- static void Pong(object sender, IvyMessageEventArgs args)
- {
- double current = currentTime() - origin;
- double ts = double.Parse(args[0], bus.Culture );
- double tr = double.Parse(args[1], bus.Culture );
- double roundtrip1 = tr - ts;
- double roundtrip2 = current - tr;
- double roundtrip3 = current - ts;
- Console.WriteLine("round trip {0} {1} {2}", roundtrip1, roundtrip2, roundtrip3);
- }
- /// <summary>
- /// Point d'entrée principal de l'application.
- /// </summary>
- [STAThread]
- static void Main(string[] args)
- {
- int timeout = 1000;
- if (args.Length > 0)
- timeout = int.Parse(args[0]);
- bus = new Ivy("IvyPerf", "IvyPref ready");
- bus.SentMessageFilter.Add("ping");
- bus.SentMessageFilter.Add("pong");
- bus.SentMessageFilter.Add("IvyPref");
- bus.BindingFilter += new EventHandler<IvyEventArgs>(bus_BindingFilter);
- //TODO how to autobind
- //bus.BindAttibute(typeof(IvyPerf));
- //TODO auto generation of testtarget ?? how to
- //bus.BindMsg("test", new EventHandler<IvyMessageEventArgs>(testtarget));
- bus.Start(null);
- origin = currentTime();
- while( true )
- {
- Thread.Sleep( timeout );
- int count = bus.SendMsg("ping ts={0}", currentTime() - origin );
- if ( count == 0 ) Console.Write( "." );
- }
- }
-
- static void bus_BindingFilter(object sender, IvyEventArgs e)
- {
- Console.WriteLine( "The app {0} regexp {1} was Filtred.", e.Client.ApplicationName,e.Argument);
- }
- }
-}