Class for Process Events (see BTF Specification Chapter 2.3.2). More...
#include <process.h>
Public Types | |
enum class | Events { activate , start , preempt , resume , terminate , poll , run , park , poll_parking , release_parking , wait , release , full_migration , enforced_migration , interrupt_suspended , mtalimitexceeded , nowait , unknown } |
Possible types of Process events. More... | |
enum class | States { running , polling , waiting , parking , ready , active , terminated , unknown } |
Possible types of Process states. More... | |
Public Member Functions | |
Process (States state=States::unknown) | |
Constructor of the class Process. More... | |
ErrorCodes | doStateTransition (Events ev) |
Transitions the current state depending on the event. More... | |
bool | isTerminated () const |
Checks, if the current process state is terminated. More... | |
bool | wasStarted () const |
Checks, if the current process got a start event at some point. More... | |
bool | waitOSevent () const |
Checks, if the current process is waiting for an OS event. More... | |
void | setwaitOSevent (bool wait) |
Allows to set the OS wait state of the process. More... | |
Static Public Member Functions | |
static std::string | eventToString (Events ev) |
Converts the enum Events into string. More... | |
static Events | stringToEvent (const std::string &str) |
Converts a string into the enum Events. More... | |
static EntityTypes | getSourceType (Events ev) |
Gets the source type of the event. More... | |
static bool | isEventAllocatingCore (Events ev) |
Checks, if the event will lead to an allocation on the core. More... | |
static bool | isEventDeallocatingCore (Events ev) |
Checks, if the event will lead to an deallocation from the core. More... | |
Class for Process Events (see BTF Specification Chapter 2.3.2).
A Process can be either a task (T) or an interrupt service routine (I).
It is activated by a stimulus. After activation, a scheduler assigns the process to a core where the process is executed
|
strong |
Possible types of Process events.
|
strong |
Possible types of Process states.
btf::Process::Process | ( | States | state = States::unknown | ) |
Constructor of the class Process.
ErrorCodes btf::Process::doStateTransition | ( | Events | ev | ) |
Transitions the current state depending on the event.
[in] | ev | Events enum that triggered the state transition. |
|
static |
Converts the enum Events into string.
[in] | ev | Events enum that will be converted. |
|
static |
Gets the source type of the event.
[in] | ev | Events enum which source is to be retrieved. |
|
static |
Checks, if the event will lead to an allocation on the core.
[in] | ev | Events enum that will be checked. |
|
static |
Checks, if the event will lead to an deallocation from the core.
[in] | ev | Events enum that will be checked. |
bool btf::Process::isTerminated | ( | ) | const |
Checks, if the current process state is terminated.
void btf::Process::setwaitOSevent | ( | bool | wait | ) |
|
static |
Converts a string into the enum Events.
[in] | str | String that will be converted. |
bool btf::Process::waitOSevent | ( | ) | const |
bool btf::Process::wasStarted | ( | ) | const |
Checks, if the current process got a start event at some point.