JayBeams  0.1
Another project to have fun coding.
Public Member Functions | Public Attributes | List of all members
jb::thread_config Class Reference

Hold the configuration to initialize threads. More...

#include <thread_config.hpp>

Inheritance diagram for jb::thread_config:
jb::config_object

Public Member Functions

 thread_config ()
 Constructor. More...
 
 config_object_constructors (thread_config)
 
int native_scheduling_policy () const
 
int native_priority () const
 
- Public Member Functions inherited from jb::config_object
 config_object ()
 Default constructor. More...
 
 config_object (config_object const &rhs)
 Copy constructor. More...
 
 config_object (config_object &&rhs)
 Move constructor. More...
 
virtual ~config_object ()
 Destructor. More...
 
config_objectoperator= (config_object rhs)
 Copy & swap assignment. More...
 
void swap (config_object &rhs)
 Derived classes should implement member by member swap. More...
 
void load_overrides (int &argc, char *argv[], std::string const &filename, char const *environment_variable_name)
 Read the configuration file and load the overrides defined therein. More...
 
void load_overrides (int &argc, char *argv[], std::string const &filename)
 Read the configuration file and load the overrides defined therein. More...
 
void load_overrides (int &argc, char *argv[], std::istream &is)
 Read the configuration file and load the overrides defined therein. More...
 
void process_cmdline (int &argc, char *argv[])
 Process the command line. More...
 
virtual void validate () const
 Validate the settings. More...
 
std::ostream & to_stream (std::ostream &os) const
 Print out the settings. More...
 

Public Attributes

jb::config_attribute< thread_config, std::string > name
 
jb::config_attribute< thread_config, std::string > scheduler
 
jb::config_attribute< thread_config, std::string > priority
 
jb::config_attribute< thread_config, jb::cpu_setaffinity
 
jb::config_attribute< thread_config, bool > ignore_setup_errors
 

Additional Inherited Members

- Static Protected Member Functions inherited from jb::config_object
static attribute_descriptor desc (std::string const &name)
 Convenience function to create attribute descriptors with less typing. More...
 
static attribute_descriptor desc (std::string const &name, std::string const &class_name)
 Convenience function to create attribute descriptors with less typing. More...
 

Detailed Description

Hold the configuration to initialize threads.

After a thread is started we want to be able to consistently configure its scheduling policy, priority, processor affinity, etc. This class is used to contain such configurations.

Definition at line 16 of file thread_config.hpp.

Constructor & Destructor Documentation

◆ thread_config()

thread_config::thread_config ( )

Constructor.

Definition at line 29 of file thread_config.cpp.

Member Function Documentation

◆ config_object_constructors()

jb::thread_config::config_object_constructors ( thread_config  )

◆ native_priority()

int thread_config::native_priority ( ) const

◆ native_scheduling_policy()

int thread_config::native_scheduling_policy ( ) const

Member Data Documentation

◆ affinity

jb::config_attribute<thread_config, jb::cpu_set> jb::thread_config::affinity

Definition at line 25 of file thread_config.hpp.

Referenced by BOOST_AUTO_TEST_CASE(), and jb::detail::reconfigure_this_thread().

◆ ignore_setup_errors

jb::config_attribute<thread_config, bool> jb::thread_config::ignore_setup_errors

Definition at line 26 of file thread_config.hpp.

Referenced by BOOST_AUTO_TEST_CASE(), and jb::detail::reconfigure_this_thread().

◆ name

jb::config_attribute<thread_config, std::string> jb::thread_config::name

Definition at line 22 of file thread_config.hpp.

Referenced by BOOST_AUTO_TEST_CASE(), and jb::detail::reconfigure_this_thread().

◆ priority

jb::config_attribute<thread_config, std::string> jb::thread_config::priority

Definition at line 24 of file thread_config.hpp.

Referenced by BOOST_AUTO_TEST_CASE(), and native_priority().

◆ scheduler

jb::config_attribute<thread_config, std::string> jb::thread_config::scheduler

Definition at line 23 of file thread_config.hpp.

Referenced by BOOST_AUTO_TEST_CASE(), and native_scheduling_policy().


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