public ICompletes <T> ActorOf <T>(Address address) { if (!actor.IsStopped) { Action <IDirectoryScanner> consumer = actor => actor.ActorOf <T>(address); var completes = new BasicCompletes <T>(actor.Scheduler); mailbox.Send(new LocalMessage <IDirectoryScanner>(actor, consumer, completes, ActorOfRepresentation1)); return(completes); } else { actor.DeadLetters.FailedDelivery(new DeadLetter(actor, ActorOfRepresentation1)); } return(null); }
public ICompletes <Optional <T> > MaybeActorOf <T>(IAddress address) { if (!actor.IsStopped) { Action <IDirectoryScanner> consumer = x => x.MaybeActorOf <T>(address); var completes = new BasicCompletes <Optional <T> >(actor.Scheduler); if (mailbox.IsPreallocated) { mailbox.Send(actor, consumer, completes, ActorOfRepresentation2); } else { mailbox.Send(new LocalMessage <IDirectoryScanner>(actor, consumer, completes, ActorOfRepresentation2)); } return(completes); } actor.DeadLetters.FailedDelivery(new DeadLetter(actor, ActorOfRepresentation2)); return(null !); }
public ICompletes <T> ActorOf <T>(IAddress address) { if (!_actor.IsStopped) { Action <IDirectoryScanner> consumer = x => x.ActorOf <T>(address); var completes = new BasicCompletes <T>(_actor.Scheduler); if (_mailbox.IsPreallocated) { _mailbox.Send(_actor, consumer, completes, ActorOfRepresentation1); } else { _mailbox.Send(new LocalMessage <IDirectoryScanner>(_actor, consumer, completes, ActorOfRepresentation1)); } return(completes); } _actor.DeadLetters?.FailedDelivery(new DeadLetter(_actor, ActorOfRepresentation1)); return(null !); }