public void LinkedListActorTest() { TestLauncherActor.Test( () => { var ll = new LinkedListActor <string>(); Assert.IsNotNull(ll); } ); }
public void LinkedListAddbehaviorTest() { TestLauncherActor.Test( () => { var ll = new LinkedListActor <string>(); Assert.IsNotNull(ll); ll.SendMessage(LinkedListOperation.Add, "Test1"); } ); }
public void LinkedListFirstTest() { TestLauncherActor.Test( () => { var ll = new LinkedListActor <string>(); Assert.IsNotNull(ll); ll.SendMessage(LinkedListOperation.Add, "Test1"); var future = new Future <LinkedListOperation, string>(); ll.SendMessage(LinkedListOperation.First, (IActor)future); Assert.AreEqual("Test1", future.Result().Item2); } ); }
private void DoBehavior(string msg) { Console.WriteLine("Serv Start"); var start = DateTime.UtcNow.Ticks; collect = new CollectionActor <string>(); var list = new List <string>(); for (int i = 0; i < 10; i++) { collect.Add(i.ToString(CultureInfo.InvariantCulture)); list.Add(i.ToString(CultureInfo.InvariantCulture)); } foreach (var item in collect) { Console.WriteLine("Collect " + item); } var actForeach = new BaseActor(new ForEachBehavior <string>()); actForeach.SendMessage <IEnumerable <string>, Action <String> >(list, t => Console.WriteLine("list " + t)); Console.WriteLine("Should have work"); var linkedlist = new LinkedListActor <string>(); for (int i = 0; i < 100; i++) { linkedlist.SendMessage(LinkedListOperation.Add, i.ToString()); } new EchoActor <Tuple <LinkedListOperation, string> >(linkedlist, Tuple.Create(LinkedListOperation.First, "5")); new RingActor(1000, 1000); // 10 sec new LinkedListActor <string>(); IActor aServer = new EchoServerActor(); clientList = new List <IActor>(); for (int i = 0; i < 100; i++) { EchoClientActor aClient = new EchoClientActor();// new actEchoClient(aServer); // DirectoryRequest.SendRegister("client + " + i.ToString(), aClient); aClient.Connect("EchoServer"); aClient.SendMessage("client-" + i.ToString(CultureInfo.InvariantCulture)); clientList.Add(aClient); // aClient.Disconnect(); } var end = DateTime.UtcNow.Ticks; Console.WriteLine("All client allocated {0}", (double)(end - start) / 10000.0); // basic redirection IActor target = new BaseActor(new Behavior <string>(t => { Console.WriteLine(t); })); IActor middle = new BaseActor(new Behavior <string>(t => { t = t + " augmenté"; })); middle.SendMessage("Bonjour"); // dynamic use DLR to handle the send / dispatch business ... dynamic test = new ExpandoObject(); dynamic dyn = new DynamicActor(test); test.PrintSomething = (Action <string>)((t) => Console.WriteLine(t)); dyn.PrintSomething("Got it !"); }
private void DoBehavior(string msg) { Console.WriteLine(ServerStart); long start = DateTime.UtcNow.Ticks; _collect = new CollectionActor <string>(); List <string> list = new List <string>(); for (int i = 0; i < 10; i++) { _collect.Add(i.ToString(CultureInfo.InvariantCulture)); list.Add(i.ToString(CultureInfo.InvariantCulture)); } foreach (string item in _collect) { Console.WriteLine("Collect " + item); } BaseActor actForeach = new BaseActor(new ForEachBehavior <string>()); actForeach.SendMessage <IEnumerable <string>, Action <String> >(list, t => Console.WriteLine("list " + t)); Console.WriteLine("Should have work"); LinkedListActor <string> linkedlist = new LinkedListActor <string>(); for (int i = 0; i < 100; i++) { linkedlist.SendMessage(LinkedListOperation.Add, i.ToString()); } new EchoActor <Tuple <LinkedListOperation, string> >(linkedlist, Tuple.Create(LinkedListOperation.First, "5")); new RingActor(1000, 1000); // 10 sec new LinkedListActor <string>(); IActor aServer = new EchoServerActor(); _clientList = new List <IActor>(); for (int i = 0; i < 100; i++) { EchoClientActor aClient = new EchoClientActor();// new actEchoClient(aServer); // DirectoryRequest.SendRegister("client + " + i.ToString(), aClient); aClient.Connect("EchoServer"); aClient.SendMessage("client-" + i.ToString(CultureInfo.InvariantCulture)); _clientList.Add(aClient); // aClient.Disconnect(); } long end = DateTime.UtcNow.Ticks; Console.WriteLine("All client allocated {0}", (end - start) / 10000.0); // basic redirection IActor target = new BaseActor(new Behavior <string>(t => Console.WriteLine(t))); IActor middle = new BaseActor(new Behavior <string>(t => t += " augmenté")); middle.SendMessage("Bonjour"); }