43 [[nodiscard]]
virtual std::size_t
processCount() const noexcept = 0;
Interface for process lifecycle dispatch orchestration.
virtual std::size_t processCount() const noexcept=0
Returns number of processes tracked by dispatcher.
virtual Result< void > createProcess(std::unique_ptr< ProcessImage > process, Tick currentTick)=0
Admits a new process into the system.
virtual Result< void > dispatch(std::size_t tickBudget)=0
Runs one scheduling/execution dispatch cycle.
virtual ~IDispatcher()=default
virtual Result< void > terminateProcess(ProcessId pid, Tick currentTick)=0
Terminates a managed process immediately.
virtual bool hasProcess(ProcessId pid) const noexcept=0
Returns whether process exists.
virtual void tick()=0
Advances dispatcher-owned simulation time by one tick.
Full in-memory representation of a process.
A result type that holds either a success value of type T or an ErrorCode.
Error codes and Result<T> type for fallible operations.
std::uint64_t Tick
Simulation clock tick counter.
std::uint32_t ProcessId
Unique identifier for a process.
Common type aliases, sentinel constants, and forward declarations used throughout the Contur 2 kernel...