Files
RemSox/Processing/Process.cs
T
2026-06-08 12:30:37 +02:00

35 lines
750 B
C#

using System;
using RemSox.Processing.IPC;
namespace RemSox.Processing;
public abstract class Process(string name)
{
public int Id { get; init; }
public string Name { get; set; } = name;
public bool StopRequested { get; private set; } = false;
internal abstract void Run();
internal virtual void HandleInterProcessMessage(Message message)
{
}
protected void SendMessageToProcess(int targetProcessId, Message message)
{
InterProcessCommunicator.Send(targetProcessId, message, this);
}
protected void SendMessageToAllProcesses(Message message)
{
InterProcessCommunicator.SendToAll(message, this);
}
internal void RequestStop()
{
StopRequested = true;
}
}