/// <summary> /// Starts the <c>PrivateRootActor</c>. When the <c>PrivateRootActor</c> starts it will in turn /// start the <c>PublicRootActor</c>. /// </summary> /// <param name="stage">The <c>Stage</c> in which to start the <c>PrivateRootActor</c>.</param> /// <param name="logger">The default <c>ILogger</c> for this <c>World</c> and <c>Stage</c>.</param> private void StartRootFor(Stage stage, ILogger logger) => stage.ActorProtocolFor <IStoppable>( Definition.Has <PrivateRootActor>(Definition.NoParameters, PrivateRootName), null, AddressFactory.From(PrivateRootId, PrivateRootName), null, null, logger);
public PrivateRootActor() { SupervisionStrategy = new PrivateRootActorSupervisionStrategy(); Stage.World.SetPrivateRoot(SelfAs <IStoppable>()); Stage.ActorProtocolFor <INoProtocol>( Definition.Has <PublicRootActor>(Definition.NoParameters, World.PublicRootName), this, Stage.World.AddressFactory.From(World.PublicRootId, World.PublicRootName), null, null, Logger); Stage.ActorProtocolFor <IDeadLetters>( Definition.Has <DeadLettersActor>(Definition.NoParameters, World.DeadLettersName), this, Stage.World.AddressFactory.From(World.DeadLettersId, World.DeadLettersName), null, null, Logger); }
protected internal override void BeforeStart() { base.BeforeStart(); Stage.World.SetPrivateRoot(SelfAs <IStoppable>()); Stage.ActorProtocolFor <INoProtocol>( Definition.Has <PublicRootActor>(Definition.NoParameters, World.PublicRootName), this, Stage.World.AddressFactory.From(World.PublicRootId, World.PublicRootName), null, null, Logger); Stage.ActorProtocolFor <IDeadLetters>( Definition.Has <DeadLettersActor>(Definition.NoParameters, World.DeadLettersName), this, Stage.World.AddressFactory.From(World.DeadLettersId, World.DeadLettersName), null, null, Logger); }