salsa 0.7.1
Loading...
Searching...
No Matches
TaskState.hh
1#pragma once
2
3#include "Object.hh"
4#include "TaskInfo.pb.h"
5
6namespace Salsa {
15class TaskExecutor;
16class TaskState : public Object {
17public:
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
41protected:
42 uint32_t mId = 0;
43 EState mState = idle;
44 TaskInfo * mpTask = nullptr;
45 uint32_t mPID = 0;
47};
48
49} // namespace Salsa
Base TaskExecutor class.
TaskExecutor * executor()
Definition TaskState.cc:83
uint32_t mId
ID of task state.
Definition TaskState.hh:42
uint32_t pid() const
Definition TaskState.cc:58
uint32_t id() const
Definition TaskState.cc:28
EState mState
Status of actor.
Definition TaskState.hh:43
TaskInfo * task() const
Definition TaskState.cc:66
uint32_t mPID
Task PID.
Definition TaskState.hh:45
void print(bool verbose=false) const
Definition TaskState.cc:111
TaskInfo * mpTask
TaskInfo held by said actor.
Definition TaskState.hh:44
virtual ~TaskState()
Definition TaskState.cc:12
EState state() const
Definition TaskState.cc:43
TaskState(TaskExecutor *te=nullptr)
Definition TaskState.cc:6
EState
Status of task.
Definition TaskState.hh:19
TaskExecutor * mpTaskExecutor
Task Executor.
Definition TaskState.hh:46