Scheduler
Public Member Functions | Protected Member Functions | List of all members
Scheduler::NewProcess Class Referenceabstract

#include <newProcess.h>

Inheritance diagram for Scheduler::NewProcess:
Scheduler::Event Scheduler::NewInteractiveProcess Scheduler::NewJob

Public Member Functions

 NewProcess (double time, bool renew=true)
 
virtual ~NewProcess ()
 
virtual void process ()=0
 handle the the event TODO: 'process' is maybe not the best word for that, given that our simulator actually manipulated processes More...
 
virtual std::string getName ()=0
 get the name of the event More...
 
- Public Member Functions inherited from Scheduler::Event
 Event (double time, bool renew=true)
 Event constructor. More...
 
void setTask (std::shared_ptr< Process > task)
 if the event is specific to a task, set it here. TODO not all events have an associated task. This should be moved More...
 
double getTime ()
 get the time at which the event is scheduled More...
 
virtual ~Event ()
 
virtual void print ()
 print information about the event More...
 

Protected Member Functions

void queueProcess (std::shared_ptr< Process > p)
 
virtual void scheduleNextEvent ()=0
 
virtual std::shared_ptr< ProcesscreateTask ()=0
 

Additional Inherited Members

- Protected Attributes inherited from Scheduler::Event
double time
 
bool renew
 
std::shared_ptr< Processtask {nullptr}
 
TriggeringEvent eventType {nothing}
 The event type is need by the scheduling discipline, to determine if this kind of event triggers invokatio of that discipline. More...
 

Detailed Description

A new process appears

Definition at line 22 of file newProcess.h.

Constructor & Destructor Documentation

Scheduler::NewProcess::NewProcess ( double  time,
bool  renew = true 
)
inline

Definition at line 25 of file newProcess.h.

NewProcess::~NewProcess ( )
virtual

Definition at line 17 of file newProcess.cpp.

Member Function Documentation

virtual std::shared_ptr<Process> Scheduler::NewProcess::createTask ( )
protectedpure virtual
virtual std::string Scheduler::NewProcess::getName ( )
pure virtual

get the name of the event

Returns
a string containing the name of the event

Implements Scheduler::Event.

Implemented in Scheduler::NewJob, and Scheduler::NewInteractiveProcess.

virtual void Scheduler::NewProcess::process ( )
pure virtual

handle the the event TODO: 'process' is maybe not the best word for that, given that our simulator actually manipulated processes

Implements Scheduler::Event.

Implemented in Scheduler::NewJob, and Scheduler::NewInteractiveProcess.

void NewProcess::queueProcess ( std::shared_ptr< Process p)
protected

Definition at line 21 of file newProcess.cpp.

virtual void Scheduler::NewProcess::scheduleNextEvent ( )
protectedpure virtual

The documentation for this class was generated from the following files: