SObjectizer
5.5
|
Auxiliary class for the SObjectizer launching. More...
#include <api.hpp>
Public Member Functions | |
so_quick_environment_t (Init init, so_5::environment_params_t &&env_params) | |
void | init () override |
Initialization hook. More... | |
![]() | |
environment_t (environment_params_t &&so_environment_params) | |
virtual | ~environment_t () |
environment_t (const environment_t &)=delete | |
environment_t & | operator= (const environment_t &)=delete |
void | call_exception_logger (const std::exception &event_exception, const coop_handle_t &coop) noexcept |
Call event exception logger for logging an exception. More... | |
exception_reaction_t | exception_reaction () const |
An exception reaction for the whole SO Environment. More... | |
error_logger_t & | error_logger () const |
Get the error_logger object. More... | |
template<class Agent , typename... Args> | |
std::unique_ptr< Agent > | make_agent (Args &&... args) |
Helper method for simplification of agents creation. More... | |
stats::controller_t & | stats_controller () |
Access to controller of run-time monitoring. More... | |
stats::repository_t & | stats_repository () |
Access to repository of data sources for run-time monitoring. More... | |
template<typename... Args> | |
decltype(auto) | introduce_coop (Args &&... args) |
Helper method for simplification of cooperation creation and registration. More... | |
work_thread_activity_tracking_t | work_thread_activity_tracking () const |
Get activity tracking flag for the whole SObjectizer Environment. More... | |
disp_binder_shptr_t | so_make_default_disp_binder () |
Get binding to the default dispatcher. More... | |
bool | autoshutdown_disabled () const |
Get autoshutdown_disabled flag. More... | |
so_5::timer_id_t | so_schedule_timer (const low_level_api::schedule_timer_params_t params) |
Schedule timer event. More... | |
void | so_single_timer (const low_level_api::single_timer_params_t params) |
Schedule a single shot timer event. More... | |
template<typename Lambda > | |
mbox_t | make_custom_mbox (Lambda &&lambda) |
Create a custom mbox. More... | |
mbox_t | create_mbox () |
Create an anonymous mbox with the default mutex. More... | |
mbox_t | create_mbox (nonempty_name_t mbox_name) |
Create named mbox. More... | |
mchain_t | create_mchain (const mchain_params_t ¶ms) |
Create message chain. More... | |
void | install_exception_logger (event_exception_logger_unique_ptr_t logger) |
Set up an exception logger. More... | |
SO_5_NODISCARD coop_unique_holder_t | make_coop () |
Create a cooperation. More... | |
SO_5_NODISCARD coop_unique_holder_t | make_coop (disp_binder_shptr_t disp_binder) |
Create a cooperation with specified dispatcher binder. More... | |
SO_5_NODISCARD coop_unique_holder_t | make_coop (coop_handle_t parent) |
Create a new cooperation that will be a child for specified parent coop. More... | |
SO_5_NODISCARD coop_unique_holder_t | make_coop (coop_handle_t parent, disp_binder_shptr_t disp_binder) |
Create a new cooperation that will be a child for specified parent coop. More... | |
coop_handle_t | register_coop (coop_unique_holder_t agent_coop) |
Register a cooperation. More... | |
template<class A > | |
coop_handle_t | register_agent_as_coop (std::unique_ptr< A > agent) |
Register single agent as a cooperation. More... | |
template<class A > | |
coop_handle_t | register_agent_as_coop (std::unique_ptr< A > agent, disp_binder_shptr_t disp_binder) |
Register single agent as a cooperation with specified dispatcher binder. More... | |
void | deregister_coop (coop_handle_t coop, int reason) noexcept |
Deregister the cooperation. More... | |
template<class SO_Layer > | |
SO_Layer * | query_layer_noexcept () const |
template<class SO_Layer > | |
SO_Layer * | query_layer () const |
Get access to the layer with exception if layer is not found. More... | |
template<class SO_Layer > | |
void | add_extra_layer (std::unique_ptr< SO_Layer > layer_ptr) |
Add an additional layer. More... | |
void | run () |
Run the SObjectizer Run-Time. More... | |
void | stop () |
Send a shutdown signal to the Run-Time. More... | |
stop_guard_t::setup_result_t | setup_stop_guard (stop_guard_shptr_t guard, stop_guard_t::what_if_stop_in_progress_t reaction_on_stop_in_progress=stop_guard_t::what_if_stop_in_progress_t::throw_exception) |
Set up a new stop_guard. More... | |
void | remove_stop_guard (stop_guard_shptr_t guard) |
Remove stop_guard and complete the stop operation if necessary. More... | |
void | change_message_delivery_tracer_filter (so_5::msg_tracing::filter_shptr_t filter) |
Change the current msg_tracing's filter to a new one. More... | |
Private Types | |
using | base_type_t = so_5::environment_t |
Private Attributes | |
Init | m_init |
Initialization routine. More... | |
Auxiliary class for the SObjectizer launching.
It is used as wrapper on various types of initialization routines.
|
private |
|
inline |
init | Initialization routine. |
env_params | SObjectizer Environment parameters. |
|
inlineoverridevirtual |
Initialization hook.
Implements so_5::environment_t.
|
private |
Initialization routine.