salsa  0.4.0
TaskState.hh
1 #pragma once
2 
3 #include "Object.hh"
4 #include "TaskInfo.pb.h"
5 
6 namespace Salsa {
15 class TaskExecutor;
16 class TaskState : public Object {
17 public:
19  enum EState { idle, assigned, running, killed, all };
20 
21  TaskState(TaskExecutor * te = nullptr);
22  virtual ~TaskState();
23 
24  void id(uint32_t id);
25  uint32_t id() const;
26 
27  void state(EState s);
28  EState state() const;
29 
30  TaskInfo * task() const;
31  void task(TaskInfo * t);
32 
33  void print(bool verbose = false) const;
34 
35  void pid(uint32_t pid);
36  uint32_t pid() const;
37 
38  void killTask();
40 
41 protected:
42  uint32_t mId = 0;
43  EState mState = idle;
44  TaskInfo * mpTask = nullptr;
45  uint32_t mPID = 0;
47 };
48 
49 } // namespace Salsa
TaskInfo * mpTask
TaskInfo held by said actor.
Definition: TaskState.hh:44
Base salsa TaskState class
Definition: TaskState.hh:16
TaskState(TaskExecutor *te=nullptr)
Definition: TaskState.cc:5
void print(bool verbose=false) const
Definition: TaskState.cc:110
TaskExecutor * mpTaskExecutor
Task Executor.
Definition: TaskState.hh:46
uint32_t mId
ID of task state.
Definition: TaskState.hh:42
uint32_t id() const
Definition: TaskState.cc:27
TaskInfo * task() const
Definition: TaskState.cc:65
virtual ~TaskState()
Definition: TaskState.cc:11
TaskExecutor * executor()
Definition: TaskState.cc:82
Definition: Actor.cc:2
EState
Status of task.
Definition: TaskState.hh:19
EState mState
Status of actor.
Definition: TaskState.hh:43
Base TaskExecutor class
Definition: TaskExecutor.hh:14
Base Salsa Object class
Definition: Object.hh:15
uint32_t mPID
Task PID.
Definition: TaskState.hh:45
uint32_t pid() const
Definition: TaskState.cc:57
EState state() const
Definition: TaskState.cc:42