public void TestShardRun() { TestLauncherActor.Test(() => { ActorServer.Start(ActorConfigManager.CastForTest()); new ShardDirectoryClientTest(); }); }
public void TestShardRun() { TestLauncherActor.Test(() => { ActorServer.Start("localhost", 80, new HostRelayActor()); new ShardDirectoryClientTest(); }); }
public void DiscoTest() { TestLauncherActor.Test(() => { ActorServer.Start(ActorConfigManager.CastForTest()); var act = new DiscoTestActor(fLauncher); DirectoryActor.GetDirectory().Disco(act); } ); }
public void DiscoTest() { TestLauncherActor.Test(() => { ActorServer.Start("localhost", 80, null); var act = new DiscoTestActor(fLauncher); DirectoryActor.GetDirectory().Disco(act); } ); }
public void DiscoTest() { ActorServer.Start("localhost", 80, null); fLauncher.SendAction(() => { var act = new DiscoTestActor(fLauncher); DirectoryActor.GetDirectory().Disco(act); fLauncher.Finish(); } ); Assert.IsTrue(fLauncher.Wait()); }
static void Main(string[] args) { ActorServer.Start(new ActorConfigManager()); Console.WriteLine("Starting FSM"); BaseActor fsm = new Chain(); fsm += Tuple.Create(1000, 4, 1000); Console.WriteLine("End of FSM"); Console.ReadLine(); }
static void Main(string[] args) { ActorServer.Start("localhost", 80, null); Console.WriteLine("Starting FSM"); BaseActor fsm = new Chain(); fsm += Tuple.Create(1000, 4, 1000); Console.WriteLine("End of FSM"); Console.ReadLine(); }
public void ParserActorTest() { TestLauncherActor.Test(() => { ActorServer.Start(ActorConfigManager.CastForTest()); var parserTest = new ParserTest(); var receiver = new TestReceiver(); parserTest.SendMessage((IActor)receiver); var future = receiver.GetResult().Result(); Assert.IsTrue(future.Any()); Assert.IsTrue(future.Contains("Max")); }); }
private void DoDiscoveryActorTest() { ConfigurationManager.AppSettings["ListenerService"] = "MemoryListenerService"; ConfigurationManager.AppSettings["SerializeService"] = "NetDataContractSerializeService"; ActorServer.Start("localhost", 80, new HostRelayActor()); var future = new Future <Dictionary <string, string> >(); var disco = new DiscoveryActor("localhost", future); var result = future.Result(5000); Assert.IsNotNull(result); Assert.IsTrue(result.Count == 3); Assert.IsTrue(result.Keys.Contains("KnownShards")); }
private void DoStart(string msg) { // find shard in directory ConnectActor connect = new ConnectActor(this, ActorServer.GetInstance().FullHost, "KnownShards"); var data = Receive(ans => { return(ans is IMessageParam <string, ActorTag, IActor>); }); var res = data.Result as IMessageParam <string, ActorTag, IActor>; var shardDir = res.Item3; Assert.IsNotNull(shardDir); ShardRequest req = ShardRequest.CastRequest(this, this); shardDir.SendMessage(req); Become(new Behavior <ShardRequest>(WaitAns)); }
public void ParserActorTest() { TestLauncherActor.Test(() => { ConfigurationManager.AppSettings["ListenerService"] = "MemoryListenerService"; ConfigurationManager.AppSettings["SerializeService"] = "NetDataContractSerializeService"; ActorServer.Start("localhost", 80, new HostRelayActor()); var parserTest = new ParserTest(); var receiver = new TestReceiver(); parserTest.SendMessage((IActor)receiver); var future = receiver.GetResult().Result(); Assert.IsTrue(future.Any()); Assert.IsTrue(future.Contains("Max")); }); }
public void TestSerializeActor() { TestLauncherActor.Test(() => { ActorServer.Start("123", 80, null); var tst1 = new Test1() { Name = "TestName1" }; var tst2 = new Test1() { Name = "TestName2" }; var lst = new List <IActor> { tst1, tst2 }; // serialize BaseActor actor = new BaseActor(); SerialObject so = new SerialObject(lst, actor.Tag); NetDataContractSerializer dcs = new NetDataContractSerializer() { SurrogateSelector = new ActorSurrogatorSelector(), Binder = new ActorBinder() }; using (MemoryStream ms = new MemoryStream()) { dcs.Serialize(ms, so); ms.Seek(0, SeekOrigin.Begin); Object obj = dcs.ReadObject(ms); SerialObject soread = (SerialObject)obj; var lst2 = (List <IActor>)soread.Data; Assert.AreEqual(2, lst2.Count); var l1 = (RemoteSenderActor)(lst2.First()); var l2 = (RemoteSenderActor)(lst2.Last()); Assert.AreEqual(so.Tag.Key(), soread.Tag.Key()); Assert.AreEqual(tst1.Tag.Key(), l1.fRemoteTag.Key()); Assert.AreEqual(tst2.Tag.Key(), l2.fRemoteTag.Key()); } }, 30000); }
private void DoDiscoveryActorTest() { const string localHost = "http://localhost:80"; var uri = new Uri(localHost); ConfigurationManager.AppSettings["ListenerService"] = "MemoryListenerService"; ConfigurationManager.AppSettings["SerializeService"] = "NetDataContractSerializeService"; ActorServer.Start(ActorConfigManager.CastForTest()); var future = new Future <Dictionary <string, string> >(); new DiscoveryActor(uri.AbsoluteUri, future); var result = future.Result(60000); Assert.IsNotNull(result); Assert.IsTrue(result.Count >= 3, $"result is {result.Count}"); Assert.IsTrue(result.Keys.Contains("KnownShards")); }
public void EchoClient100Test() { GlobalContext.MessageTracerService = new MemoryMessageTracerService(); TestLauncherActor.Test(() => { ActorServer.Start(ConfigManager.CastForTest()); new EchoServerActor(); for (int i = 0; i < 5; i++) { EchoClientActor aClient = new EchoClientActor(); aClient.Connect("EchoServer"); aClient.SendMessage("client-" + i.ToString()); } Task.Delay(10000).Wait(); }, 15000); var mess = GlobalContext.MessageTracerService.CopyAllMessages(); Assert.IsTrue(mess.Count(t => t.StartsWith("client receive")) >= 1); }
public void RegisterUnregisterTestV2() { TestLauncherActor.Test(() => { ConfigurationManager.AppSettings["ListenerService"] = "MemoryListenerService"; ConfigurationManager.AppSettings["SerializeService"] = "NetDataContractSerializeService"; ActorServer.Start("localhost", 80, new HostRelayActor()); var actor = new StateFullActor <string>(); HostDirectoryActor.Register(actor); Task.Delay(5000).Wait(); var stat = HostDirectoryActor.GetInstance().GetEntries(); Assert.IsTrue(stat.Count(t => t == actor.Tag.Key()) == 1); HostDirectoryActor.Unregister(actor); Task.Delay(5000).Wait(); var stat2 = HostDirectoryActor.GetInstance().GetEntries(); Assert.IsTrue(stat2.Count(t => t == actor.Tag.Key()) == 0); }); }
private void DoDiscoTest() { ConfigurationManager.AppSettings["ListenerService"] = "MemoryListenerService"; ConfigurationManager.AppSettings["SerializeService"] = "NetDataContractSerializeService"; ActorServer.Start("localhost", 80, new HostRelayActor()); IActor actor1 = new TestHostRelayActor(); DiscoCommand disco = new DiscoCommand(actor1); RemoteSenderActor remote = new RemoteSenderActor(actor1.Tag); remote.SendMessage(disco); IFuture <IEnumerable <string> > future = new Future <IEnumerable <string> >(); actor1.SendMessage(future); var result1 = future.Result(); Assert.IsTrue(result1.Count() == 3); }
public void RegisterUnregisterTestV2() { TestLauncherActor.Test(() => { ActorServer.Start(ActorConfigManager.CastForTest()); var actor = new StateFullActor <string>(); HostDirectoryActor.Register(actor); Task.Delay(5000).Wait(); var stat = HostDirectoryActor.GetInstance().GetEntries(); Assert.IsTrue(stat.Count(t => t == actor.Tag.Key()) == 1); HostDirectoryActor.Unregister(actor); Task.Delay(5000).Wait(); var stat2 = HostDirectoryActor.GetInstance().GetEntries(); #pragma warning disable CA1827 // Do not use Count() or LongCount() when Any() can be used Assert.IsTrue(stat2.Count(t => t == actor.Tag.Key()) == 0); // don't touch #pragma warning restore CA1827 // Do not use Count() or LongCount() when Any() can be used }); }
public void RegisterUnregisterTest() { TestLauncherActor.Test(() => { ActorServer.Start(ActorConfigManager.CastForTest()); var actor = new StateFullActor <string>(); HostDirectoryActor.Register(actor); SerialObject so = new SerialObject(new MessageParam <StateAction, string>(StateAction.Set, "Test"), actor.Tag); HostDirectoryActor.GetInstance().SendMessage(so); Task.Delay(5000).Wait(); var result = actor.GetStateAsync(5000).Result; Assert.AreEqual(result, "Test"); HostDirectoryActor.Unregister(actor); SerialObject so2 = new SerialObject(new MessageParam <StateAction, string>(StateAction.Set, "Test2"), actor.Tag); HostDirectoryActor.GetInstance().SendMessage(so2); Task.Delay(5000).Wait(); var result2 = actor.GetStateAsync(5000).Result; Assert.AreEqual("Test", result2, string.Format(CultureInfo.InvariantCulture, "Expected {0} Found {1}", "Test", result2)); }); }
public actHostRelay() { Listener = new HttpListener(); var localhost = Dns.GetHostName(); var servername = ActorServer.GetInstance().Name; var prefix = "http://"; var suffix = ":" + ActorServer.GetInstance().Port.ToString(); Listener.Prefixes.Add(prefix + localhost + suffix + "/" + servername + "/"); Listener.Prefixes.Add(prefix + "127.0.0.1" + suffix + "/" + servername + "/"); try { Listener.Start(); } catch (Exception e) { Debug.WriteLine("Can't start http " + e); } Become(new bhvBehavior <String>(t => { return("Listen".Equals(t)); }, DoListen)); SendMessage("Listen"); }
public void EchoClient100Test() { GlobalContext.MessageTracerService = new MemoryMessageTracerService(); TestLauncherActor.Test(() => { ActorServer.Start(ActorConfigManager.CastForTest()); new EchoServerActor(); for (int i = 0; i < 5; i++) { EchoClientActor aClient = new EchoClientActor(); aClient.Connect("EchoServer"); aClient.SendMessage($"client-{i}"); } Task.Delay(10000).Wait(); }, 15000); var mess = GlobalContext.MessageTracerService.CopyAllMessages(); #pragma warning disable CA1827 // Do not use Count() or LongCount() when Any() can be used Assert.IsTrue(mess.Count(t => t.StartsWith("client receive", StringComparison.InvariantCulture)) >= 1); #pragma warning restore CA1827 // Do not use Count() or LongCount() when Any() can be used }
public void RegisterUnregisterTest() { TestLauncherActor.Test(() => { ConfigurationManager.AppSettings["ListenerService"] = "MemoryListenerService"; ConfigurationManager.AppSettings["SerializeService"] = "NetDataContractSerializeService"; ActorServer.Start("localhost", 80, new HostRelayActor()); var actor = new StateFullActor <string>(); HostDirectoryActor.Register(actor); SerialObject so = new SerialObject(new MessageParam <StateAction, string>(StateAction.Set, "Test"), actor.Tag); HostDirectoryActor.GetInstance().SendMessage(so); var result = actor.GetAsync(10000).Result; Assert.AreEqual(result, "Test"); HostDirectoryActor.Unregister(actor); SerialObject so2 = new SerialObject(new MessageParam <StateAction, string>(StateAction.Set, "Test2"), actor.Tag); HostDirectoryActor.GetInstance().SendMessage(so2); var result2 = actor.GetAsync(10000).Result; Assert.AreEqual("Test", result2, string.Format(CultureInfo.InvariantCulture, "Expected {0} Found {1}", "Test", result2)); }); }
private void Form1_Load(object sender, EventArgs e) { ActorServer.Start("localhost", 80, null); catcher = new StringToEventCatcherActor(); }
private void Form1_Load(object sender, EventArgs e) { ActorServer.Start(new ActorConfigManager()); catcher = new StringToEventCatcherActor(); }
static void Main(string[] args) { string lName = ""; string lPort = ""; if (args.Length > 0) { lName = args.FirstOrDefault(t => t.StartsWith("-n:")); lPort = args.FirstOrDefault(t => t.StartsWith("-p:")); } if (!string.IsNullOrEmpty(lName)) { lName = lName.Replace("-n:", ""); } else { lName = "ARnActorServer"; } if (!String.IsNullOrEmpty(lPort)) { lPort = lPort.Replace("-p:", ""); } else { lPort = "80"; } ActorServer.Start(lName, int.Parse(lPort), new HostRelayActor()); IActor fMain = new ActorMain(); // new actActionReceiver().ConsoleWrite("Welcome in an action world"); //var Input = new SDRInput("Machine") ; //var Region = new HTMRegion(Input); string s = string.Empty; do { s = Console.ReadLine(); if (!string.IsNullOrEmpty(s)) { switch (s) { case "Many": { fMillion = new actMillion(); break; } case "SendMany": { fMillion.Send(); break; } case "quit": break; case "Col": { var fLauncher = new TestLauncherActor(); fLauncher.SendAction(() => { var collect = new CollectionActor <string>(); for (int i = 0; i < 100; i++) { collect.Add(string.Format("Test {0}", i)); } if (collect.Count() != 100) { throw new Exception("failed"); } // try to enum var enumerable = collect.ToList(); if (enumerable.Count != 100) { throw new ActorException("failed"); } // try a query var query = from col in collect where col.Contains('1') select col; if (query.Count() != 19) { throw new ActorException("failed"); } fLauncher.Finish(); }); fLauncher.Wait(); break; } case "Ring": { new RingActor(10000, 10000); // 30 sec break; } case "Rings": { Console.Write("Enter ring size : "); var rs = Console.ReadLine(); Console.Write("Enter cycle : "); var cy = Console.ReadLine(); int.TryParse(rs, out int r); int.TryParse(cy, out int y); new RingActor(y, r); // 30 sec break; } case "Clients": { var start = DateTime.UtcNow.Ticks; IActor aServer = new EchoServerActor(); for (int i = 0; i < 1000; i++) { EchoClientActor aClient = new EchoClientActor(); // new actEchoClient(aServer); // DirectoryRequest.SendRegister("client + " + i.ToString(), aClient); aClient.Connect("EchoServer"); aClient.SendMessage("client-" + i.ToString()); // aClient.Disconnect(); } var end = DateTime.UtcNow.Ticks; Console.WriteLine("All client allocated {0}", (double)(end - start) / 10000.0); break; } case "Download": { Console.WriteLine("trying Download"); IActor down = new ActorDownloadTest(); break; } //case "Brain": // { // Console.Write("Enter word : "); // var s2 = Console.ReadLine(); // Input.SetData(s2); // Region.Run(); // Region.Print(); // break; // } //case "Learn": // { // Input.SetData("Hello world ! ") ; // for (int i = 0; i < 100; i++) // { // Region.Run(); // Region.Print(); // } // break; // } case "Pricing": { new ActorScheduler(); break; } case "ParserTest": { new EchoActor(new ParserTest(), ""); break; } default: { new EchoActor(new ActorAdminServer(), s); break; } } } } while (s != "quit"); }
private void Window_Loaded(object sender, RoutedEventArgs e) { ActorServer.Start("localhost", 80, null); }
private void Window_Loaded(object sender, RoutedEventArgs e) { ActorServer.Start(new ActorConfigManager()); }
public LoggerBehavior() : base() { DoInit(ActorServer.GetInstance().Name); }