public Unit DispatchUnWatch(ProcessId watching) => ProcessOp.IO(() => Actor.DispatchUnWatch(watching));
public Unit Watch(ProcessId pid) => ProcessOp.IO(() => Actor.AddWatcher(pid));
public Unit UnWatch(ProcessId pid) => ProcessOp.IO(() => Actor.RemoveWatcher(pid));
public Unit Shutdown() => ProcessOp.IO(() => ShutdownProcess(true));
public Unit Publish(object message) => ProcessOp.IO(() => Actor.Publish(message));
public Unit TellUserControl(UserControlMessage message, ProcessId sender) => ProcessOp.IO(() => Inbox.TellUserControl(message));
public Unit Kill() => ProcessOp.IO(() => ShutdownProcess(false));
public Unit TellSystem(SystemMessage message, ProcessId sender) => ProcessOp.IO(() => Inbox.TellSystem(message));
public Unit Tell(object message, ProcessId sender, Message.TagSpec tag) => ProcessOp.IO(() => { message = Inbox.ValidateMessageType(message, sender); return(Inbox.Tell(message, sender)); });
public Unit Tell(object message, ProcessId sender, string inbox, Message.Type type, Message.TagSpec tag) => ProcessOp.IO(() => TellNoIO(message, sender, inbox, type, tag));
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); });
public Unit Publish(object message) => ProcessOp.IO(() => Cluster.PublishToChannel(ActorInboxCommon.ClusterPubSubKey(ProcessId), message));