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.