static void Main(string[] args) { Address address = new Address(args[0]); string localaddress = address.ToString(); ActorSystem system = new ActorSystem(); TcpServer host = new TcpServer(address.HostName, address.Port, system); host.Start(); Address serveraddress = new Address(args[1]); string remoteaddress = serveraddress.ToString(); Harvester harvester = new Harvester(); RouterActor router = new RouterActor(); ActorRef resolverref = system.ActorSelect(remoteaddress + "/resolver"); ActorRef remotedownloaderref = system.ActorSelect(remoteaddress + "/downloader"); ActorRef harvesterref = system.ActorOf(harvester, "harvester"); harvester.Resolver = resolverref; for (int k = 1; k <= 10; k++) { Downloader downloader = new Downloader(); downloader.Harvester = harvesterref; ActorRef dlref = system.ActorOf(downloader); remotedownloaderref.Tell(new RegisterActorMessage() { ActorPath = localaddress + dlref.Path.ToString() }); } }
public void SendMessagesToRemoteActor() { int total = 0; EventWaitHandle wait = new AutoResetEvent(false); Actor actor = new LambdaActor(c => { total += (int)c; if (total >= 6) { wait.Set(); } }); ActorSystem remotesystem = new ActorSystem(); var server = new TcpServer("localhost", 3005, remotesystem); var result = remotesystem.ActorOf(actor, "myactor"); var path = result.Path.ToString(); server.Start(); var system = new ActorSystem(); var remoteref = system.ActorSelect("aktores.tcp://sys@localhost:3005/myactor"); remoteref.Tell(1); remoteref.Tell(2); remoteref.Tell(3); wait.WaitOne(); Assert.AreEqual(6, total); system.Shutdown(); server.Stop(); remotesystem.Shutdown(); }
public void ActorSelectUsingSlash() { ActorSystem system = new ActorSystem(); var result = system.ActorOf(typeof(MyActor), "myactor"); Assert.IsNotNull(result); var result2 = system.ActorSelect("/myactor"); Assert.IsNotNull(result2); Assert.AreSame(result, result2); }
public void CreateActorRefUsingTypeAndName() { ActorSystem system = new ActorSystem(); var result = system.ActorOf(typeof(MyActor), "myactor"); Assert.IsNotNull(result); var result2 = system.ActorSelect("myactor"); Assert.IsNotNull(result2); Assert.AreSame(result, result2); }
public void GetNullActorRefForUnknownPath() { ActorSystem system = new ActorSystem(); Assert.IsNull(system.ActorSelect("unknown")); }