Tell() public method

Posts a message to this ActorSelection.
public Tell ( object message, IActorRef sender = null ) : void
message object The message.
sender IActorRef The sender.
return void
        public PlayerSupervisor(ActorSelection eventWriter)
        {
            _eventWriter = eventWriter;
            Receive<BatterEventMessage>(msg =>
            {
                _eventWriter.Tell(msg);
                var playerActor = Context.Child("batter-" + msg.PlayerId);
                if (playerActor == ActorRefs.Nobody)
                {
                    playerActor = Context.ActorOf(BatterActor.Create(msg.PlayerId), "batter-" + msg.PlayerId);
                }

                playerActor.Tell(msg);
            });

            Receive<EndOfFeed>(msg =>
            {
                _eventWriter.Tell(msg);
                var playerActors = Context.GetChildren();
                foreach (var playerActor in playerActors)
                {
                    playerActor.Tell(msg);
                }
            });
        }
        public MetricDisplayActor(DataTable metricTable, DataGridView dataGridView)
        {
            _dataGridView = dataGridView;
            _metricTable = metricTable;
            Receive<Metric>(m => HandleMetric(m));

            string monitorServer = ConfigurationManager.AppSettings["MonitorServer"];
            string metricCollectorPath = string.Format("akka.tcp://WinSrvMonitorServer@{0}:8041/user/metricDistributer", monitorServer);
            _metricCollector = Program.MonitorActorSystem.ActorSelection(metricCollectorPath);
            _metricCollector.Tell(new SubscribeToMetrics(Self));
        }
        public ChatClientCoordinatorActor()
        {
            //get a reference to the remote actor
            _chatCoordinatorActor = ClientActorSystemContainer.Instance.System.ActorSelection("akka.tcp://ChatServer@localhost:8080/user/ChatApp");
            _consoleReaderActor = ClientActorSystemContainer.Instance.System.ActorOf(Props.Create(() => new ConsoleReaderActor()));
            _consoleWriterActor = ClientActorSystemContainer.Instance.System.ActorOf(Props.Create(() => new ConsoleWriterActor()));

            Receive<Messages.Ok>(x => HandleOK(x));
            Receive<Messages.StartChat>(x => HandleStartChat(x));

            Receive<Messages.TryInitializeChat>(x => HandleTryInitializeChat(x));
            Receive<Messages.ConsoleCommand>(x => HandleConsoleCommand(x));

            _chatCoordinatorActor.Tell(new ChatApp.Actors.Messages.ChangeState(UserState.Online, userName));
            _consoleReaderActor.Tell("Start");
        }
示例#4
0
 private IActorRef Identify(ActorSelection selection)
 {
     var idProbe = CreateTestProbe();
     selection.Tell(new Identify(selection), idProbe.Ref);
     var result = idProbe.ExpectMsg<ActorIdentity>().Subject;
     var asked = selection.Ask<ActorIdentity>(new Identify(selection)).Result;
     asked.Subject.ShouldBe(result);
     asked.MessageId.ShouldBe(selection);
     IActorRef resolved;
     try
     {
         resolved = selection.ResolveOne(TimeSpan.FromSeconds(3)).Result;
     }
     catch
     {
         resolved = null;
     }
     resolved.ShouldBe(result);
     return result;
 }
示例#5
0
        static void Main(string[] args)
        {
            _system = ActorSystem.Create("AdService");
            CreateKeywords();
            CreateSpaces();
            CreateAds();
            _system.ActorOf<WebQueryProcessActor>("RequestListener");


            _adsPerSecondStatisticsActor = _system.ActorOf<AdsPerSecondCounter>();

            System.Threading.Thread.Sleep(1000); // Wait for system to initialize.
            //Console.WriteLine("Press [Enter] to start.");
            Console.ReadLine();

            for (int i = 0; i < IMPRESSIONS; i++)
            {
                GetBestAdForSpace("JasonsBanner", i);
                GetBestAdForSpace("JasonsSide", i);
                GetBestAdForSpace("SomeonesMobileApp", i);
                GetBestAdForSpace("DogGameBanner", i);
                //System.Threading.Thread.Sleep(1);
            }
        
            //while (_countComplete < IMPRESSIONS * 3)
            //    System.Threading.Thread.Sleep(1);

            Console.WriteLine("Done\nPress [Enter] for stats.");
            Console.ReadLine();

            foreach (var adActor in _allAdActors)
                adActor.Tell(new PrintStats());

            ActorSelection allImpressions = new ActorSelection(_spacesRoot, "*/*"); // This isn't sending right now.
            allImpressions.Tell(new PrintStats());

            Console.ReadLine();
        }
 /// <summary>   
 ///     Receives the selection.
 /// </summary>
 /// <param name="m">The m.</param>
 private void ReceiveSelection(ActorSelectionMessage m)
 {
     var selection = new ActorSelection(Self, m.Elements.ToArray());
     selection.Tell(m.Message, Sender);
 }
        /// <summary>
        ///     Receives the selection.
        /// </summary>
        /// <param name="m">The m.</param>
        private void ReceiveSelection(ActorSelectionMessage m)
        {
            var selection = new ActorSelection(Self, m.Elements.ToArray());

            selection.Tell(m.Message, Sender);
        }
示例#8
0
        /// <summary>
        /// INTERNAL API
        ///
        /// Convenience method used by remoting when receiving <see cref="ActorSelectionMessage"/> from a remote
        /// actor.
        /// </summary>
        internal static void DeliverSelection(InternalActorRef anchor, ActorRef sender, ActorSelectionMessage sel)
        {
            var actorSelection = new ActorSelection(anchor, sel.Elements);

            actorSelection.Tell(sel.Message, sender);
        }
示例#9
0
 /// <summary>
 /// INTERNAL API
 /// 
 /// Convenience method used by remoting when receiving <see cref="ActorSelectionMessage"/> from a remote
 /// actor.
 /// </summary>
 internal static void DeliverSelection(InternalActorRef anchor, ActorRef sender, ActorSelectionMessage sel)
 {
     var actorSelection = new ActorSelection(anchor, sel.Elements);
     actorSelection.Tell(sel.Message, sender);
 }
示例#10
0
 public void SetRootDirectory(ActorSelection actor, DirectoryInfo directory)
 {
     actor.Tell(new RootDirectoryActor.SetRootDirectory(directory));
 }
示例#11
0
 public void SetRootDirectoryFromCommandLineArgumentsIfExists(ActorSelection actorSelection)
 {
     actorSelection.Tell(new RootDirectoryActor.SetRootDirectoryFromCommandLineArgumentsIfExists());
 }
 private void SendUnableToAcceptJob( ActorSelection actor, Messages.RepoKey job )
 {
     actor.Tell( new GithubCommanderActor.UnableToAcceptJob( job ) );
 }
 private void SendAbleToAcceptJob( ActorSelection actor, Messages.RepoKey acceptedJob )
 {
     actor.Tell( new GithubCommanderActor.AbleToAcceptJob( acceptedJob ) );
 }