/// <summary> /// Send a message to a process /// </summary> /// <param name="pid">Process ID</param> /// <param name="message">Message to send</param> public static Unit tell <T>(ProcessId pid, T message, ProcessId sender = default(ProcessId)) => map((IProcessInternal)ActorContext.GetProcess(pid), pi => message is SystemMessage ? pi.TellSystem(message as SystemMessage) : message is UserControlMessage ? pi.TellUserControl(message as UserControlMessage) : pi.Tell(message, sender));
/// <summary> /// Send a message to a process /// </summary> /// <param name="pid">Process ID</param> /// <param name="message">Message to send</param> public static Unit tell <T>(ProcessId pid, T message) => with((IProcessInternal)ActorContext.GetProcess(pid), pi => message is SystemMessage ? pi.TellSystem(message as SystemMessage) : message is UserControlMessage ? pi.TellUserControl(message as UserControlMessage) : pi.Tell(message));
/// <summary> /// Get the child processes of the process provided /// </summary> public static IEnumerable <ProcessId> children(ProcessId pid) => ActorContext.GetProcess(pid).Children;