24 assert(
task !=
nullptr);
std::shared_ptr< Process > task
virtual void print()
print information about the event
static System * getInstance()
static Queue * getReadyQueue()
get a pointer to the system's ready queue
static Queue * getWaitQueue()
get a pointer to the system's wait queue
void scheduleTask(TriggeringEvent trigger)
This function is the scheduler. When called, it schedule the task to be executed on the processor ama...
std::string getName() override
get the name of the event
TaskScheduler * getScheduler()
returns the task scheduler object
std::shared_ptr< Process > remove(std::shared_ptr< Process > p)
removes the process from the queue. Note: this does not delete the process. Just remove it from queue...
void process() override
handle the the event TODO: 'process' is maybe not the best word for that, given that our simulator ac...
TriggeringEvent eventType
The event type is need by the scheduling discipline, to determine if this kind of event triggers invo...
void add(std::shared_ptr< Process > p)
add a process to the queue