71 [[nodiscard]] std::string_view
name() const noexcept override;
IExecutionEngine()=default
Tracer interface used by kernel subsystems.
std::unique_ptr< Impl > impl_
std::string_view name() const noexcept override
Returns the human-readable name of this engine.
~NativeEngine() override
Destroys the engine and forcibly terminates any surviving children.
NativeEngine(const NativeEngine &)=delete
NativeEngine & operator=(const NativeEngine &)=delete
bool isTracking(ProcessId pid) const noexcept
Returns true when the engine still tracks pid (process not yet reaped).
std::string capturedStdout(ProcessId pid) const
Returns the captured stdout for a process, or an empty string when unknown / not yet drained....
void halt(ProcessId pid) override
Forcibly halts execution of the given process.
NativeEngine(ITracer &tracer, std::uint32_t tickQuantumMs=5)
Constructs a NativeEngine.
NativeEngine(NativeEngine &&) noexcept
ExecutionResult execute(ProcessImage &process, std::size_t tickBudget) override
Executes the given process for up to tickBudget ticks.
Full in-memory representation of a process.
IExecutionEngine — abstract interface for process execution engines.
std::uint32_t ProcessId
Unique identifier for a process.
Result of an execution burst returned by IExecutionEngine::execute().