Dataflow Runtime API  4.0.1.0
Classes | Public Types | Public Member Functions | List of all members
imt::base::dff::runtime::ExecutableConfiguration Class Reference

Optional parameters that can be passed from the active part to the runtime to be considered when creating the executable (task, thread, ect.) for the specific runtime. More...

#include <Imt.Base.Dff.Runtime/ExecutableConfiguration.h>

Classes

struct  CoreAffinity
 Data type to pass the core affinity. More...
 
struct  StackSize
 Size type to pass the stack size. More...
 
struct  TimeSlice
 Size type to pass the time slice. More...
 

Public Types

typedef uint32_t CoreId
 A CoreId is used to indicate in which core the executable should run. More...
 

Public Member Functions

 ExecutableConfiguration ()
 Default constructor. More...
 
 ExecutableConfiguration (ExecutableConfiguration const &other)
 Copy constructor. More...
 
 ExecutableConfiguration (char_t const *const pName)
 Custom constructor to set the executable name only. More...
 
 ExecutableConfiguration (StackSize const &exeStackSize)
 Custom constructor to set the stack size only. More...
 
 ExecutableConfiguration (TimeSlice const &exeTimeSlice)
 Custom constructor to set the time slice only. More...
 
 ExecutableConfiguration (CoreAffinity const &exeCoreAffinity)
 Custom constructor to set the core affinity only. More...
 
 ExecutableConfiguration (char_t const *const pName, StackSize const &exeStackSize, TimeSlice const &exeTimeSlice)
 Custom constructor to set all configuration parameters. More...
 
 ExecutableConfiguration (char_t const *const pName, StackSize const &exeStackSize, TimeSlice const &exeTimeSlice, CoreAffinity const &exeCoreAffinity)
 Custom constructor to set all configuration parameters. More...
 
virtual ~ExecutableConfiguration ()
 Destructor. More...
 
char_t const * getName () const
 Get the requested name for the executable. More...
 
size_t getStackSize () const
 Get the requested stack size for the executable. More...
 
uint32_t getTimeSlice () const
 Get the requested time slice for the executable. More...
 
CoreId getCoreAffinity () const
 Get the requested core affinity for the executable. More...
 
bool isNameDefined () const
 Returns wether a name is defined for the executable. More...
 
bool isStackSizeDefined () const
 Returns wether a stack size is defined for the executable. More...
 
bool isTimeSliceDefined () const
 Returns wether a time slice is defined for the executable. More...
 
bool isCoreAffinityDefined () const
 Returns whether a core affinity is defined for the executable. More...
 

Detailed Description

Optional parameters that can be passed from the active part to the runtime to be considered when creating the executable (task, thread, ect.) for the specific runtime.

If the runtime does not support a parameter it is ignored.

At the moment the folowing parameters are supported:

Based on future runtime implementations this could be extened in future releases of the DFF framework.

Member Typedef Documentation

◆ CoreId

A CoreId is used to indicate in which core the executable should run.

Possible values are 0..n + 1. The last value implies any core affinity.

Constructor & Destructor Documentation

◆ ExecutableConfiguration() [1/8]

imt::base::dff::runtime::ExecutableConfiguration::ExecutableConfiguration ( )

Default constructor.

No parameter is defined.

◆ ExecutableConfiguration() [2/8]

imt::base::dff::runtime::ExecutableConfiguration::ExecutableConfiguration ( ExecutableConfiguration const &  other)

Copy constructor.

Parameters
otherThe ExecutableConfiguration instance to copy from.

◆ ExecutableConfiguration() [3/8]

imt::base::dff::runtime::ExecutableConfiguration::ExecutableConfiguration ( char_t const *const  pName)
explicit

Custom constructor to set the executable name only.

Parameters
pNameThe name of the executable passed to the runtime as null terminated string.

◆ ExecutableConfiguration() [4/8]

imt::base::dff::runtime::ExecutableConfiguration::ExecutableConfiguration ( StackSize const &  exeStackSize)
explicit

Custom constructor to set the stack size only.

Parameters
exeStackSizeThe size of the stack for the executable in the size unit used by the runtime.

◆ ExecutableConfiguration() [5/8]

imt::base::dff::runtime::ExecutableConfiguration::ExecutableConfiguration ( TimeSlice const &  exeTimeSlice)
explicit

Custom constructor to set the time slice only.

Parameters
exeTimeSliceThe time slice for the executable for round-robin scheduling in the size unit used by the runtime.

◆ ExecutableConfiguration() [6/8]

imt::base::dff::runtime::ExecutableConfiguration::ExecutableConfiguration ( CoreAffinity const &  exeCoreAffinity)
explicit

Custom constructor to set the core affinity only.

Parameters
exeCoreAffinityThe core in which the executable should run in.

◆ ExecutableConfiguration() [7/8]

imt::base::dff::runtime::ExecutableConfiguration::ExecutableConfiguration ( char_t const *const  pName,
StackSize const &  exeStackSize,
TimeSlice const &  exeTimeSlice 
)
explicit

Custom constructor to set all configuration parameters.

Parameters
pNameThe name of the executable passed to the runtime as null terminated string.
exeStackSizeThe size of the stack for the executable in the size unit used by the runtime.
exeTimeSliceThe time slice for the executable for round-robin scheduling in the size unit used by the runtime.

◆ ExecutableConfiguration() [8/8]

imt::base::dff::runtime::ExecutableConfiguration::ExecutableConfiguration ( char_t const *const  pName,
StackSize const &  exeStackSize,
TimeSlice const &  exeTimeSlice,
CoreAffinity const &  exeCoreAffinity 
)
explicit

Custom constructor to set all configuration parameters.

Parameters
pNameThe name of the executable passed to the runtime as null terminated string.
exeStackSizeThe size of the stack for the executable in the size unit used by the runtime.
exeTimeSliceThe time slice for the executable for round-robin scheduling in the size unit used by the runtime.
exeCoreAffinityThe core in which the executable should run in.

◆ ~ExecutableConfiguration()

virtual imt::base::dff::runtime::ExecutableConfiguration::~ExecutableConfiguration ( )
virtual

Destructor.

Member Function Documentation

◆ getCoreAffinity()

CoreId imt::base::dff::runtime::ExecutableConfiguration::getCoreAffinity ( ) const

Get the requested core affinity for the executable.

Returns
The core affinity of the executable

◆ getName()

char_t const* imt::base::dff::runtime::ExecutableConfiguration::getName ( ) const

Get the requested name for the executable.

Returns a nullptr pointer when there is no name defined.

Returns
A pointer to a null terminated string or a null pointer.

◆ getStackSize()

size_t imt::base::dff::runtime::ExecutableConfiguration::getStackSize ( ) const

Get the requested stack size for the executable.

Returns 0 when there is no stack size defined.

Returns
The stack size in the size unit used by the runtime.

◆ getTimeSlice()

uint32_t imt::base::dff::runtime::ExecutableConfiguration::getTimeSlice ( ) const

Get the requested time slice for the executable.

Returns 0 when there is no time slice defined.

Returns
The time slice in the size unit used by the runtime.

◆ isCoreAffinityDefined()

bool imt::base::dff::runtime::ExecutableConfiguration::isCoreAffinityDefined ( ) const

Returns whether a core affinity is defined for the executable.

Returns
True if a core affinity is defined, false otherwise.

◆ isNameDefined()

bool imt::base::dff::runtime::ExecutableConfiguration::isNameDefined ( ) const

Returns wether a name is defined for the executable.

Returns
True if a name is defined, false otherwise.

◆ isStackSizeDefined()

bool imt::base::dff::runtime::ExecutableConfiguration::isStackSizeDefined ( ) const

Returns wether a stack size is defined for the executable.

Returns
True if a stack size is defined, false otherwise.

◆ isTimeSliceDefined()

bool imt::base::dff::runtime::ExecutableConfiguration::isTimeSliceDefined ( ) const

Returns wether a time slice is defined for the executable.

Returns
True if a time slice is defined, false otherwise.

The documentation for this class was generated from the following file: