Akka.Actor.RootGuardianSupervisor.SendSystemMessage C# (CSharp) Method

SendSystemMessage() public method

public SendSystemMessage ( ISystemMessage systemMessage ) : void
systemMessage ISystemMessage
return void
        public override void SendSystemMessage(ISystemMessage systemMessage)
        {
            var failed = systemMessage as Failed;
            if (failed != null)
            {
                var cause = failed.Cause;
                var child = failed.Child;
                _log.Error(cause, "guardian {0} failed, shutting down!", child);
                CauseOfTermination = cause;
                ((IInternalActorRef)child).Stop();
                return;
            }
            var supervise = systemMessage as Supervise;
            if (supervise != null)
            {
                // This comment comes from AKKA: TO DO register child in some map to keep track of it and enable shutdown after all dead
                return;
            }
            var deathWatchNotification = systemMessage as DeathWatchNotification;
            if (deathWatchNotification != null)
            {
                Stop();
                return;
            }
            _log.Error("{0} received unexpected system message [{1}]", _path, systemMessage);
        }