SObjectizer  5.5
Namespaces | Classes | Typedefs | Functions
so_5::disp::active_obj Namespace Reference

Active objects dispatcher. More...

Namespaces

 impl
 Active objects dispatcher implemetation details.
 

Classes

class  disp_params_t
 Alias for namespace with traits of event queue. More...
 
class  private_dispatcher_t
 An interface for active_obj private dispatcher. More...
 

Typedefs

using params_t = disp_params_t
 Old alias for disp_params for compatibility with previous versions. More...
 
using private_dispatcher_handle_t = so_5::intrusive_ptr_t< private_dispatcher_t >
 A handle for the active_obj private dispatcher. More...
 

Functions

SO_5_FUNC dispatcher_unique_ptr_t create_disp ( disp_params_t params)
 Create an instance of dispatcher to be used as named dispatcher. More...
 
SO_5_FUNC private_dispatcher_handle_t create_private_disp ( environment_t &env, const std::string &data_sources_name_base, disp_params_t params)
 Create a private active_obj dispatcher. More...
 
SO_5_FUNC disp_binder_unique_ptr_t create_disp_binder ( const std::string &disp_name)
 Create an agent binder. More...
 
dispatcher_unique_ptr_t create_disp ()
 Create a dispatcher. More...
 
private_dispatcher_handle_t create_private_disp (environment_t &env, const std::string &data_sources_name_base)
 Create a private active_obj dispatcher. More...
 
private_dispatcher_handle_t create_private_disp (environment_t &env)
 Create a private active_obj dispatcher. More...
 

Detailed Description

Active objects dispatcher.

Typedef Documentation

◆ params_t

Old alias for disp_params for compatibility with previous versions.

Deprecated:
Use disp_params_t instead.

◆ private_dispatcher_handle_t

A handle for the active_obj private dispatcher.

Since
v.5.5.4

Function Documentation

◆ create_disp() [1/2]

dispatcher_unique_ptr_t so_5::disp::active_obj::create_disp ( )
inline

Create a dispatcher.

◆ create_disp() [2/2]

SO_5_FUNC dispatcher_unique_ptr_t so_5::disp::active_obj::create_disp ( disp_params_t  params)

Create an instance of dispatcher to be used as named dispatcher.

Since
v.5.5.10
Parameters
paramsParameters for dispatcher.
Examples:
so_5/disp/main.cpp, so_5/hardwork_imit/main.cpp, and so_5/svc/parallel_sum/main.cpp.

◆ create_disp_binder()

SO_5_FUNC disp_binder_unique_ptr_t so_5::disp::active_obj::create_disp_binder ( const std::string &  disp_name)

Create an agent binder.

Parameters
disp_nameDispatcher name to be bound to.
Examples:
so_5/disp/main.cpp, so_5/hardwork_imit/main.cpp, and so_5/svc/parallel_sum/main.cpp.

◆ create_private_disp() [1/3]

private_dispatcher_handle_t so_5::disp::active_obj::create_private_disp ( environment_t env,
const std::string &  data_sources_name_base 
)
inline

Create a private active_obj dispatcher.

Since
v.5.5.4
Usage sample
env,
"db_handler" );
auto coop = env.create_coop( so_5::autoname,
// The main dispatcher for that coop will be
// private active_obj dispatcher.
private_disp->binder() );
Parameters
envSObjectizer Environment to work in.
data_sources_name_baseValue for creating names of data sources for run-time monitoring.

◆ create_private_disp() [2/3]

private_dispatcher_handle_t so_5::disp::active_obj::create_private_disp ( environment_t env)
inline

Create a private active_obj dispatcher.

Since
v.5.5.4
Usage sample
auto coop = env.create_coop( so_5::autoname,
// The main dispatcher for that coop will be
// private active_obj dispatcher.
private_disp->binder() );
Parameters
envSObjectizer Environment to work in.

◆ create_private_disp() [3/3]

SO_5_FUNC private_dispatcher_handle_t so_5::disp::active_obj::create_private_disp ( environment_t env,
const std::string &  data_sources_name_base,
disp_params_t  params 
)

Create a private active_obj dispatcher.

Since
v.5.5.10
Usage sample
env,
"db_handler",
// Additional params with specific options for queue's traits.
[]( so_5::disp::active_obj::queue_traits::queue_params_t & p ) {
} ) );
auto coop = env.create_coop( so_5::autoname,
// The main dispatcher for that coop will be
// private active_obj dispatcher.
private_disp->binder() );
Parameters
envSObjectizer Environment to work in.
data_sources_name_baseValue for creating names of data sources for run-time monitoring.
paramsParameters for dispatcher.
Examples:
so_5/chameneos_prealloc_msgs/main.cpp, so_5/chameneos_simple/main.cpp, so_5/many_timers/main.cpp, so_5/ping_pong/main.cpp, so_5/ping_pong_with_owner/main.cpp, so_5/private_dispatcher_for_children/main.cpp, so_5/private_dispatcher_hello/main.cpp, so_5/private_dispatcher_restarts/main.cpp, so_5/queue_size_stats/main.cpp, so_5/svc/exceptions/main.cpp, so_5/svc/hello/main.cpp, so_5/work_generation/main.cpp, and so_5/wrapped_env_demo_2/main.cpp.