Scheduler
actions.h
Go to the documentation of this file.
1 
10 #ifndef RL_SCHEDULER_ACTIONS_H
11 #define RL_SCHEDULER_ACTIONS_H
12 
13 #include <memory>
14 
15 #include <mdp/action.h>
16 
17 
18 namespace Scheduler
19 {
20  class Process;
21 }
22 
23 
24 namespace RlScheduler
25 {
26 
27 class Action : public Mdp::Action
28 {
29 public:
33  Action(int processId);
34  void performAction() override;
35  std::string getName() override;
42  virtual std::shared_ptr<Scheduler::Process> getProcessToRun();
43 protected:
44  Action(){};
45  int id;
46 };
47 
48 
49 class SleepAction : public Action
50 {
51 public:
52  SleepAction();
53  SleepAction(int);
54  void performAction() override;
55  std::string getName() override;
56  std::shared_ptr<Scheduler::Process> getProcessToRun() override;
57 };
58 
59 
60 }
61 
62 
63 #endif