fesa-core
4.2.0
|
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 SchedulingConfig & | getPersistencyThreadSchedulingConfig () const |
Get the scheduling configuration of the persistency thread. | |
const SchedulingConfig & | getLoggingThreadSchedulingConfig () const |
Get the scheduling configuration of the logging thread. | |
const SchedulingConfig & | getSignalHandlerThreadSchedulingConfig () const |
Get the scheduling configuration of the signal handler thread. | |
const SchedulingConfig & | getRDAServerThreadSchedulingConfig () const |
Get the scheduling configuration of the RDA server thread. | |
const SchedulingConfig & | getNotificationConsumerThreadSchedulingConfig () const |
Get the scheduling configuration of the notification consumer thread. | |
SchedulingConfig | getNotificationThreadSchedulingConfig (const std::string &className, const std::string ¬ificationThreadKey) |
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. | |
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)
fesa::ThreadConfigurer::ThreadConfigurer | ( | const XMLParser & | xmlParser, |
bool | rtSchedulingUsed | ||
) |
Constructor.
xmlParser | The XML parser that contains instantiation file to be parsed |
rtSchedulingUsed | A flag indicating whether real-time scheduling is used for the process |
ThreadConfigurer::SchedulingConfig fesa::ThreadConfigurer::getEventSourceThreadSchedulingConfig | ( | const std::string & | className, |
const std::string & | eventSourceName | ||
) |
Get the scheduling configuration of an event source.
eventSourceName | The 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.
className | The name of the FESA class |
notificationThreadKey | The notification key (notification order) |
ThreadConfigurer::SchedulingConfig fesa::ThreadConfigurer::getRTSchedulerThreadSchedulingConfig | ( | const std::string & | concurrencyLayerName | ) |
Get the scheduling configuration of a concurrency layer.
concurrencyLayerName | The name of the concurrency layer |
void fesa::ThreadConfigurer::init | ( | std::auto_ptr< DeploymentThreadConfiguration > | deploymentThreadConfiguration | ) |
Create scheduling configurations for all the threads.
deploymentThreadConfiguration | Thread configurations based on the deployment unit design and the framework's default values |