コード例 #1
0
 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));
     }
 }
コード例 #2
0
 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)));
     }
 }
コード例 #3
0
 public override void Tell(M message, ICanReceiveMessage <M> sender)
 {
     throw new InvalidOperationException($"Actor {ActorPath} cannot receive messages in this context");
 }
コード例 #4
0
ファイル: MessageSystem.cs プロジェクト: sbacquet/Hexagon
 public M SendMessageAndAwaitResponse(M message, ICanReceiveMessage <M> sender, TimeSpan?timeout = null, System.Threading.CancellationToken?cancellationToken = null)
 => SendMessageAndAwaitResponseAsync(message, sender, timeout, cancellationToken).Result;
コード例 #5
0
ファイル: MessageSystem.cs プロジェクト: sbacquet/Hexagon
 public abstract Task <M> SendMessageAndAwaitResponseAsync(M message, ICanReceiveMessage <M> sender, TimeSpan?timeout = null, System.Threading.CancellationToken?cancellationToken = null);
コード例 #6
0
ファイル: MessageSystem.cs プロジェクト: sbacquet/Hexagon
 public void SendMessage(M message, ICanReceiveMessage <M> sender)
 => SendMessageAsync(message, sender).Wait();
コード例 #7
0
ファイル: MessageSystem.cs プロジェクト: sbacquet/Hexagon
 public abstract Task SendMessageAsync(M message, ICanReceiveMessage <M> sender);