26 assert(
task !=
nullptr);
29 std::shared_ptr<Event> e = std::make_shared<Ready>(
time +
task->getCurrentIoTime());
40 return "Task waiting";
std::shared_ptr< Process > task
virtual void print()
print information about the event
static System * getInstance()
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...
void process() override
handle the the event TODO: 'process' is maybe not the best word for that, given that our simulator ac...
TaskScheduler * getScheduler()
returns the task scheduler object
void clearRunningTask(std::shared_ptr< Process > p)
std::shared_ptr< Event > insert(std::shared_ptr< Event > e)
TriggeringEvent eventType
The event type is need by the scheduling discipline, to determine if this kind of event triggers invo...
std::string getName() override
get the name of the event
void add(std::shared_ptr< Process > p)
add a process to the queue
static EventList * getInstance()
Singleton pattern.