Beispiel #1
0
 public Unit DispatchUnWatch(ProcessId watching) =>
 ProcessOp.IO(() => Actor.DispatchUnWatch(watching));
Beispiel #2
0
 public Unit Watch(ProcessId pid) =>
 ProcessOp.IO(() => Actor.AddWatcher(pid));
Beispiel #3
0
 public Unit UnWatch(ProcessId pid) =>
 ProcessOp.IO(() => Actor.RemoveWatcher(pid));
Beispiel #4
0
 public Unit Shutdown() =>
 ProcessOp.IO(() => ShutdownProcess(true));
Beispiel #5
0
 public Unit Publish(object message) =>
 ProcessOp.IO(() => Actor.Publish(message));
Beispiel #6
0
 public Unit TellUserControl(UserControlMessage message, ProcessId sender) =>
 ProcessOp.IO(() => Inbox.TellUserControl(message));
Beispiel #7
0
 public Unit Kill() =>
 ProcessOp.IO(() => ShutdownProcess(false));
Beispiel #8
0
 public Unit TellSystem(SystemMessage message, ProcessId sender) =>
 ProcessOp.IO(() => Inbox.TellSystem(message));
Beispiel #9
0
 public Unit Tell(object message, ProcessId sender, Message.TagSpec tag) =>
 ProcessOp.IO(() =>
 {
     message = Inbox.ValidateMessageType(message, sender);
     return(Inbox.Tell(message, sender));
 });
Beispiel #10
0
 public Unit Tell(object message, ProcessId sender, string inbox, Message.Type type, Message.TagSpec tag) =>
 ProcessOp.IO(() => TellNoIO(message, sender, inbox, type, tag));
Beispiel #11
0
 public Unit TellSystem(SystemMessage message, ProcessId sender) =>
 ProcessOp.IO(() =>
 {
     var dto            = RemoteMessageDTO.Create(message, ProcessId, sender, Message.Type.System, message.Tag);
     var clientsReached = Cluster.PublishToChannel(ActorInboxCommon.ClusterSystemInboxNotifyKey(ProcessId), dto);
 });
Beispiel #12
0
 public Unit Publish(object message) =>
 ProcessOp.IO(() => Cluster.PublishToChannel(ActorInboxCommon.ClusterPubSubKey(ProcessId), message));