public virtual void Tell(M message, ICanReceiveMessage <M> sender) { if (sender != null) { Actor.Tell(new BytesMessage(message.Bytes), (sender as ActorRefMessageReceiver <M>).Actor); } else { Actor.Tell(new BytesMessage(message.Bytes)); } }
public void Tell(M message, ICanReceiveMessage <M> sender) { if (sender != null) { Mediator.Tell(new Send(ActorPath, new BytesMessage(message.Bytes)), (sender as ActorRefMessageReceiver <M>).Actor); } else { Mediator.Tell(new Send(ActorPath, new BytesMessage(message.Bytes))); } }
public override void Tell(M message, ICanReceiveMessage <M> sender) { throw new InvalidOperationException($"Actor {ActorPath} cannot receive messages in this context"); }
public M SendMessageAndAwaitResponse(M message, ICanReceiveMessage <M> sender, TimeSpan?timeout = null, System.Threading.CancellationToken?cancellationToken = null) => SendMessageAndAwaitResponseAsync(message, sender, timeout, cancellationToken).Result;
public abstract Task <M> SendMessageAndAwaitResponseAsync(M message, ICanReceiveMessage <M> sender, TimeSpan?timeout = null, System.Threading.CancellationToken?cancellationToken = null);
public void SendMessage(M message, ICanReceiveMessage <M> sender) => SendMessageAsync(message, sender).Wait();
public abstract Task SendMessageAsync(M message, ICanReceiveMessage <M> sender);