|
SObjectizer 5.8
|
Advanced thread pool dispatcher. More...
Namespaces | |
| namespace | anonymous_namespace{pub.cpp} |
| namespace | impl |
| Internal implementation details of advanced thread pool dispatcher. | |
Classes | |
| class | bind_params_t |
| Parameters for binding agents to adv_thread_pool dispatcher. More... | |
| class | disp_params_t |
| Alias for namespace with traits of event queue. More... | |
| class | dispatcher_handle_t |
| A handle for adv_thread_pool dispatcher. More... | |
Enumerations | |
| enum class | fifo_t { cooperation , individual } |
| Type of FIFO mechanism for agent's demands. More... | |
Functions | |
| SO_5_FUNC dispatcher_handle_t | make_dispatcher ( environment_t &env, const std::string_view data_sources_name_base, disp_params_t disp_params) |
| Create an instance of adv_thread_pool dispatcher. | |
| dispatcher_handle_t | make_dispatcher (environment_t &env, const std::string_view data_sources_name_base, std::size_t thread_count) |
| Create an instance of adv_thread_pool dispatcher. | |
| dispatcher_handle_t | make_dispatcher (environment_t &env, std::size_t thread_count) |
| Create an instance of adv_thread_pool dispatcher. | |
| dispatcher_handle_t | make_dispatcher (environment_t &env) |
| Create an instance of adv_thread_pool dispatcher with the default count of work threads. | |
Advanced thread pool dispatcher.
|
strong |
Type of FIFO mechanism for agent's demands.
| Enumerator | |
|---|---|
| cooperation | A FIFO for demands for all agents from the same cooperation. It means that agents from the same cooperation for which this FIFO mechanism is used will be worked on the same thread. If the same disp_binder with fifo_t::cooperation is used for several cooperations then each coop will have a separate event queue (thus agents from different coops may work on different worker threads). |
| individual | A FIFO for demands only for one agent. It means that FIFO is only supported for the concrete agent. If several agents from a cooperation have this FIFO type they will process demands independently and on different threads. |
Definition at line 158 of file adv_thread_pool/pub.hpp.
| SO_5_FUNC dispatcher_handle_t so_5::disp::adv_thread_pool::make_dispatcher | ( | environment_t & | env, |
| const std::string_view | data_sources_name_base, | ||
| disp_params_t | disp_params ) |
Create an instance of adv_thread_pool dispatcher.
| env | SObjectizer Environment to work in. |
| data_sources_name_base | Value for creating names of data sources for run-time monitoring. |
| disp_params | Parameters for the dispatcher. |
Definition at line 243 of file adv_thread_pool/pub.cpp.
|
inline |
Create an instance of adv_thread_pool dispatcher with the default count of work threads.
Count of work threads will be detected by default_thread_pool_size() function.
| env | SObjectizer Environment to work in. |
Definition at line 501 of file adv_thread_pool/pub.hpp.
|
inline |
Create an instance of adv_thread_pool dispatcher.
| env | SObjectizer Environment to work in. |
| data_sources_name_base | Value for creating names of data sources for run-time monitoring. |
| thread_count | Count of working threads. |
Definition at line 436 of file adv_thread_pool/pub.hpp.
|
inline |
Create an instance of adv_thread_pool dispatcher.
| env | SObjectizer Environment to work in. |
| thread_count | Count of working threads. |
Definition at line 468 of file adv_thread_pool/pub.hpp.