public static IServiceCollection AddActorReference <TActor>( this IServiceCollection builder, IActorRef actorReference) where TActor : ActorBase { var actorRef = new ActorRefProvider <TActor>(actorReference); builder.AddSingleton <ActorRefProvider <TActor> >(actorRef); return(builder); }
public static IServiceCollection AddActorReference <TActor>( this IServiceCollection builder, Func <IServiceProvider, Props> actionProvider) where TActor : ActorBase { builder.AddSingleton <ActorRefProvider <TActor> >(provider => { var system = provider.GetService <ActorSystem>(); var actorProps = actionProvider(provider); var actorRef = new ActorRefProvider <TActor>(system.ActorOf(actorProps)); return(actorRef); }); return(builder); }
public static Task <T> Ask <T>(this ActorRefProvider provider, Func <IActorRef, object> messageFactory, TimeSpan?timeout, CancellationToken cancellationToken) { return(provider.ActorRef.Ask <T>(messageFactory, timeout, cancellationToken)); }
public static Task <T> Ask <T>(this ActorRefProvider provider, object message, CancellationToken cancellationToken) { return(provider.ActorRef.Ask <T>(message, cancellationToken)); }
public static Task <T> Ask <T>(this ActorRefProvider provider, object message, TimeSpan?timeout = null) { return(provider.ActorRef.Ask <T>(message, timeout)); }
public static Task <object> Ask(this ActorRefProvider provider, object message, TimeSpan?timeout, CancellationToken cancellationToken) { return(provider.ActorRef.Ask(message, timeout, cancellationToken)); }
public static void Tell(this ActorRefProvider provider, object message) { provider.ActorRef.Tell(message, ActorRefs.NoSender); }