fesa-core  4.0.0
fesa::ThreadConfigurer Class Reference

A class to configure the framework's threads' scheduling parameters (their priorities and afffinities). The configuration is done based on the information given in the instantiation file, the deployment unit's design, and the framework itself (the default values) More...

#include <ThreadConfigurer.h>

Classes

struct  SchedulingConfig
 A thread's scheduling configuration, i.e. its priority and its affinity. More...
 

Public Member Functions

 ThreadConfigurer (const XMLParser &xmlParser, bool rtSchedulingUsed)
 Constructor. More...
 
void init (std::auto_ptr< DeploymentThreadConfiguration > deploymentThreadConfiguration)
 Create scheduling configurations for all the threads. More...
 
const SchedulingConfiggetPersistencyThreadSchedulingConfig () const
 Get the scheduling configuration of the persistency thread.
 
const SchedulingConfiggetLoggingThreadSchedulingConfig () const
 Get the scheduling configuration of the logging thread.
 
const SchedulingConfiggetSignalHandlerThreadSchedulingConfig () const
 Get the scheduling configuration of the signal handler thread.
 
const SchedulingConfiggetRDAServerThreadSchedulingConfig () const
 Get the scheduling configuration of the RDA server thread.
 
const SchedulingConfiggetNotificationConsumerThreadSchedulingConfig () const
 Get the scheduling configuration of the notification consumer thread.
 
SchedulingConfig getNotificationThreadSchedulingConfig (const std::string &className, const std::string &notificationThreadKey)
 Get the scheduling configuration of a notification thread. More...
 
SchedulingConfig getEventSourceThreadSchedulingConfig (const std::string &className, const std::string &eventSourceName)
 Get the scheduling configuration of an event source. More...
 
SchedulingConfig getRTSchedulerThreadSchedulingConfig (const std::string &concurrencyLayerName)
 Get the scheduling configuration of a concurrency layer. More...
 
boost::optional< int32_t > getMaximalPriority () const
 Get the maximal priority defined in the instantiation file.
 

Detailed Description

A class to configure the framework's threads' scheduling parameters (their priorities and afffinities). The configuration is done based on the information given in the instantiation file, the deployment unit's design, and the framework itself (the default values)

Constructor & Destructor Documentation

fesa::ThreadConfigurer::ThreadConfigurer ( const XMLParser xmlParser,
bool  rtSchedulingUsed 
)

Constructor.

Parameters
xmlParserThe XML parser that contains instantiation file to be parsed
rtSchedulingUsedA flag indicating whether real-time scheduling is used for the process

Member Function Documentation

ThreadConfigurer::SchedulingConfig fesa::ThreadConfigurer::getEventSourceThreadSchedulingConfig ( const std::string &  className,
const std::string &  eventSourceName 
)

Get the scheduling configuration of an event source.

Parameters
eventSourceNameThe name of the event source
ThreadConfigurer::SchedulingConfig fesa::ThreadConfigurer::getNotificationThreadSchedulingConfig ( const std::string &  className,
const std::string &  notificationThreadKey 
)

Get the scheduling configuration of a notification thread.

Parameters
classNameThe name of the FESA class
notificationThreadKeyThe notification key (notification order)
ThreadConfigurer::SchedulingConfig fesa::ThreadConfigurer::getRTSchedulerThreadSchedulingConfig ( const std::string &  concurrencyLayerName)

Get the scheduling configuration of a concurrency layer.

Parameters
concurrencyLayerNameThe name of the concurrency layer
void fesa::ThreadConfigurer::init ( std::auto_ptr< DeploymentThreadConfiguration deploymentThreadConfiguration)

Create scheduling configurations for all the threads.

Parameters
deploymentThreadConfigurationThread configurations based on the deployment unit design and the framework's default values

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