|
contur2
|
Uniprocessor dispatcher implementation. More...
#include <dispatcher.h>


Public Member Functions | |
| Dispatcher (IScheduler &scheduler, IExecutionEngine &engine, IVirtualMemory &virtualMemory, IClock &clock) | |
| Constructs dispatcher from subsystem references. | |
| ~Dispatcher () override | |
| Dispatcher (const Dispatcher &)=delete | |
| Dispatcher & | operator= (const Dispatcher &)=delete |
| Dispatcher (Dispatcher &&) noexcept | |
| Dispatcher & | operator= (Dispatcher &&) noexcept |
| Result< void > | createProcess (std::unique_ptr< ProcessImage > process, Tick currentTick) override |
| Admits process and initializes memory/scheduler state. | |
| Result< void > | dispatch (std::size_t tickBudget) override |
| Executes one dispatch cycle for selected process. | |
| Result< void > | terminateProcess (ProcessId pid, Tick currentTick) override |
| Terminates a process and reclaims associated resources. | |
| void | tick () override |
| Advances dispatcher clock by one tick. | |
| std::size_t | processCount () const noexcept override |
| Number of managed processes. | |
| bool | hasProcess (ProcessId pid) const noexcept override |
| Checks whether process id is currently managed. | |
| Public Member Functions inherited from contur::IDispatcher | |
| virtual | ~IDispatcher ()=default |
Private Attributes | |
| std::unique_ptr< Impl > | impl_ |
Uniprocessor dispatcher implementation.
Coordinates scheduler selection, execution engine runs, and virtual-memory lifecycle for active processes.
Definition at line 21 of file dispatcher.h.
| contur::Dispatcher::Dispatcher | ( | IScheduler & | scheduler, |
| IExecutionEngine & | engine, | ||
| IVirtualMemory & | virtualMemory, | ||
| IClock & | clock ) |
Constructs dispatcher from subsystem references.
|
override |
|
delete |
|
noexcept |
|
nodiscardoverridevirtual |
Admits process and initializes memory/scheduler state.
Implements contur::IDispatcher.
|
nodiscardoverridevirtual |
Executes one dispatch cycle for selected process.
Implements contur::IDispatcher.
|
nodiscardoverridevirtualnoexcept |
Checks whether process id is currently managed.
Implements contur::IDispatcher.
|
delete |
|
noexcept |
|
nodiscardoverridevirtualnoexcept |
Number of managed processes.
Implements contur::IDispatcher.
|
nodiscardoverridevirtual |
Terminates a process and reclaims associated resources.
Implements contur::IDispatcher.
|
overridevirtual |
Advances dispatcher clock by one tick.
Implements contur::IDispatcher.
|
private |
Definition at line 53 of file dispatcher.h.