Пример #1
0
 public Unit DispatchUnWatch(ProcessId watching) =>
 ProcessOp.IO(() => Actor.DispatchUnWatch(watching));
Пример #2
0
 public Unit Watch(ProcessId pid) =>
 ProcessOp.IO(() => Actor.AddWatcher(pid));
Пример #3
0
 public Unit UnWatch(ProcessId pid) =>
 ProcessOp.IO(() => Actor.RemoveWatcher(pid));
Пример #4
0
 public Unit Shutdown() =>
 ProcessOp.IO(() => ShutdownProcess(true));
Пример #5
0
 public Unit Publish(object message) =>
 ProcessOp.IO(() => Actor.Publish(message));
Пример #6
0
 public Unit TellUserControl(UserControlMessage message, ProcessId sender) =>
 ProcessOp.IO(() => Inbox.TellUserControl(message));
Пример #7
0
 public Unit Kill() =>
 ProcessOp.IO(() => ShutdownProcess(false));
Пример #8
0
 public Unit TellSystem(SystemMessage message, ProcessId sender) =>
 ProcessOp.IO(() => Inbox.TellSystem(message));
Пример #9
0
 public Unit Tell(object message, ProcessId sender, Message.TagSpec tag) =>
 ProcessOp.IO(() =>
 {
     message = Inbox.ValidateMessageType(message, sender);
     return(Inbox.Tell(message, sender));
 });
Пример #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));
Пример #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);
 });
Пример #12
0
 public Unit Publish(object message) =>
 ProcessOp.IO(() => Cluster.PublishToChannel(ActorInboxCommon.ClusterPubSubKey(ProcessId), message));