protected override InternalActorRef CreateUserGuardian(GuardianActorRef rootGuardian) { var localActorRef = A.Fake <LocalActorRef>(builder => builder.WithArgumentsForConstructor(() => new LocalActorRef(this, A.Fake <ActorInstantiator>(), new RootActorPath("test"), CreateDefaultMailbox(), A.Fake <InternalActorRef>()))); A.CallTo(() => localActorRef.CreateActor(A <ActorCreationProperties> .Ignored, A <string> .Ignored)).Invokes(a => Children.Add((string)a.Arguments[1])); return(localActorRef); }
private GuardianActorRef CreateRootGuardian() { var supervisor = new RootGuardianSupervisor(_rootPath, this); var rootGuardian = new GuardianActorRef(this, ActorCreationProperties.Create(() => new Guardian()), _rootPath, CreateDefaultMailbox(), supervisor); return(rootGuardian); }
public void Start() { _isStarted = true; _rootGuardian = CreateRootGuardian(); _systemGuardian = CreateSystemGuardian(_rootGuardian); _userGuardian = CreateUserGuardian(_rootGuardian); _rootGuardian.Start(); // chain death watchers so that killing guardian stops the application _systemGuardian.SendSystemMessage(new WatchActor(_userGuardian, _systemGuardian), null); _rootGuardian.SendSystemMessage(new WatchActor(_systemGuardian, _rootGuardian), null); _eventStream.StartDefaultLoggers(); _eventStream.LogInfo(_logSource, this, "System started"); }
protected virtual InternalActorRef CreateUserGuardian(GuardianActorRef rootGuardian) { var userGuardian = rootGuardian.CreateGuardian(() => new Guardian(), "user"); return(userGuardian); }
private InternalActorRef CreateSystemGuardian(GuardianActorRef rootGuardian) { var systemGuardian = rootGuardian.CreateGuardian(() => new Guardian(), "system"); return(systemGuardian); }