Dataflow Runtime API  3.1.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 (void)
 Default constructor. More...
 
 ExecutableConfiguration (const ExecutableConfiguration &other)
 Copy constructor. More...
 
 ExecutableConfiguration (const char_t *const pName)
 Custom constructor to set the executable name only. More...
 
 ExecutableConfiguration (const StackSize &exeStackSize)
 Custom constructor to set the stack size only. More...
 
 ExecutableConfiguration (const TimeSlice &exeTimeSlice)
 Custom constructor to set the time slice only. More...
 
 ExecutableConfiguration (const CoreAffinity &exeCoreAffinity)
 Custom constructor to set the core affinity only. More...
 
 ExecutableConfiguration (const char_t *const pName, const StackSize &exeStackSize, const TimeSlice &exeTimeSlice)
 Custom constructor to set all configuration parameters. More...
 
 ExecutableConfiguration (const char_t *const pName, const StackSize &exeStackSize, const TimeSlice &exeTimeSlice, const CoreAffinity &exeCoreAffinity)
 Custom constructor to set all configuration parameters. More...
 
virtual ~ExecutableConfiguration (void)
 Destructor. More...
 
const char_tgetName (void) const
 Get the requested name for the executable. More...
 
size_t getStackSize (void) const
 Get the requested stack size for the executable. More...
 
uint32_t getTimeSlice (void) const
 Get the requested time slice for the executable. More...
 
CoreId getCoreAffinity (void) const
 Get the requested core affinity for the executable. More...
 
bool isNameDefined (void) const
 Returns wether a name is defined for the executable. More...
 
bool isStackSizeDefined (void) const
 Returns wether a stack size is defined for the executable. More...
 
bool isTimeSliceDefined (void) const
 Returns wether a time slice is defined for the executable. More...
 
bool isCoreAffinityDefined (void) 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 ( void  )

Default constructor.

No parameter is defined.

◆ ExecutableConfiguration() [2/8]

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

Copy constructor.

Parameters
otherThe ExecutableConfiguration instance to copy from.

◆ ExecutableConfiguration() [3/8]

imt::base::dff::runtime::ExecutableConfiguration::ExecutableConfiguration ( const char_t *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 ( const StackSize 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 ( const TimeSlice 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 ( const CoreAffinity 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 ( const char_t *const  pName,
const StackSize exeStackSize,
const TimeSlice 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 ( const char_t *const  pName,
const StackSize exeStackSize,
const TimeSlice exeTimeSlice,
const CoreAffinity 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 ( void  )
virtual

Destructor.

Member Function Documentation

◆ getCoreAffinity()

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

Get the requested core affinity for the executable.

Returns
The core affinity of the executable

◆ getName()

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

Get the requested name for the executable.

Returns a NULL 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 ( void  ) 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 ( void  ) 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 ( void  ) 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 ( void  ) 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 ( void  ) 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 ( void  ) 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: