summaryrefslogtreecommitdiff
path: root/Ivy/IvyFilter/Filter.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ivy/IvyFilter/Filter.cs')
-rw-r--r--Ivy/IvyFilter/Filter.cs119
1 files changed, 0 insertions, 119 deletions
diff --git a/Ivy/IvyFilter/Filter.cs b/Ivy/IvyFilter/Filter.cs
deleted file mode 100644
index 03e2435..0000000
--- a/Ivy/IvyFilter/Filter.cs
+++ /dev/null
@@ -1,119 +0,0 @@
-
-using System;
-using IvyBus;
-using System.Threading;
-using Gnu;
-
-namespace IvyFilter
-{
- class Filter
- {
-
- internal Ivy bus;
-
- [STAThread]
- public static void Main(System.String[] args)
- {
- GetOpt opt = new GetOpt(args, "b:n:t:");
- System.String domain = Ivy.GetDomain(null);
- int nb = 10000;
- int t = 1000;
- Arg a;
- while ((a = opt.NextArg() )!= null)
- {
- switch (a.Flag)
- {
-
- case 'b':
- domain = a.Parameter;
- break;
-
- case 't':
- t = int.Parse(a.Parameter);
- break;
-
- case 'n':
- nb = int.Parse(a.Parameter);
- break;
-
- default:
- System.Environment.Exit(0);
- break;
-
- }
- }
- new Filter(domain, nb, t, true);
- }
-
- private int nbmsg;
- private int bounded = 0, unbounded = 0;
- private string[] filter = new string[] { "GetDummy" };
-
- public Filter(string domain, int n, int t, bool f)
- {
- System.Console.Out.WriteLine("trying Filter on " + n + " messages, " + t + " ms delay");
- nbmsg = n;
- bus = new Ivy("Filter", "Filter ready");
- if (f)
- bus.SentMessageFilter.AddRange(filter);
- bus.BindingAdd += new EventHandler<IvyEventArgs>(bus_BindingAdd);
- bus.BindingRemove += new EventHandler<IvyEventArgs>(bus_BindingRemove);
- bus.BindingFilter += new EventHandler<IvyEventArgs>(bus_BindingFilter);
- bus.Start(domain);
- /* attend une seconde ou deux */
- try
- {
- Thread.Sleep(2000);
- }
- catch (System.Threading.ThreadInterruptedException )
- {
- }
- System.Console.Out.WriteLine(bounded + " bounded subscriptions, " + unbounded + " unbounded");
- System.Console.Out.WriteLine(bus.IvyClients.Count + " clients");
- DateTime debut = System.DateTime.Now;
- TimeSpan total = new TimeSpan();
- DateTime debutlocal = System.DateTime.Now;
- DateTime finlocal = System.DateTime.Now;
- for (int i = 0; i < n; i++)
- {
- try
- {
- // System.out.println("sending msg");
- debutlocal = System.DateTime.Now;
- bus.SendMsg("GetDummy message");
- finlocal = System.DateTime.Now;
- total += finlocal - debutlocal;
- Thread.Sleep( t );
- }
- catch (IvyException )
- {
- System.Environment.Exit(-1);
- }
- catch (ThreadInterruptedException )
- {
- }
- }
- System.Console.Out.WriteLine(((f) ? "[filtered] " : "[non filtered] ") + total.TotalMilliseconds + "ms elapsed, " + (finlocal - debut).TotalMilliseconds + " ms total out of " + n * t);
- bus.Stop();
- if (f == true)
- new Filter(domain, n, t, false); // relance le même test sans filtre
- System.Console.ReadLine();
- }
-
- void bus_BindingFilter(object sender, IvyEventArgs e)
- {
- unbounded++;
- }
-
- void bus_BindingRemove(object sender, IvyEventArgs e)
- {
- bounded--;
- }
-
- void bus_BindingAdd(object sender, IvyEventArgs e)
- {
- bounded++;
- }
-
- }
-} \ No newline at end of file