Akka.Remote.RemoteSystemDaemon.HandleDaemonMsgCreate C# (CSharp) Метод

HandleDaemonMsgCreate() приватный Метод

Handles the daemon MSG create.
private HandleDaemonMsgCreate ( DaemonMsgCreate message ) : void
message DaemonMsgCreate The message.
Результат void
        private void HandleDaemonMsgCreate(DaemonMsgCreate message)
        {
            var supervisor = (IInternalActorRef) message.Supervisor;
            var parent = supervisor;
            Props props = message.Props;
            ActorPath childPath;
            if(ActorPath.TryParse(message.Path, out childPath))
            {
                IEnumerable<string> subPath = childPath.Elements.Drop(1); //drop the /remote
                ActorPath path = Path/subPath;
                var localProps = props; //.WithDeploy(new Deploy(Scope.Local));

                bool isTerminating = !_terminating.WhileOff(() =>
                {
                    IInternalActorRef actor = _system.Provider.ActorOf(_system, localProps, supervisor, path, false,
                    message.Deploy, true, false);
                    string childName = subPath.Join("/");
                    AddChild(childName, actor);
                    actor.SendSystemMessage(new Watch(actor, this));
                    actor.Start();
                    if (AddChildParentNeedsWatch(parent, actor))
                    {
                        //TODO: figure out why current transport is not set when this message is sent
                        parent.SendSystemMessage(new Watch(parent, this));
                    }
                });
                if (isTerminating)
                {
                    Log.Error("Skipping [{0}] to RemoteSystemDaemon on [{1}] while terminating", message, path.Address);
                }
                
            }
            else
            {
                Log.Debug("remote path does not match path from message [{0}]", message);
            }
        }