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

Active groups dispatcher. More...

Namespaces

 impl
 Active groups 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_group 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_group private dispatcher. More...
 

Functions

SO_5_FUNC so_5::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 ( so_5::environment_t &env, const std::string &data_sources_name_base, disp_params_t params)
 Create a private active_group dispatcher. More...
 
SO_5_FUNC so_5::disp_binder_unique_ptr_t create_disp_binder ( const std::string &disp_name, const std::string &group_name)
 Creates the dispatcher binder. More...
 
so_5::dispatcher_unique_ptr_t create_disp ()
 Creates the dispatcher. More...
 
private_dispatcher_handle_t create_private_disp (so_5::environment_t &env, const std::string &data_sources_name_base)
 Create a private active_group dispatcher. More...
 
private_dispatcher_handle_t create_private_disp (so_5::environment_t &env)
 Create a private active_group dispatcher. More...
 

Detailed Description

Active groups 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_group private dispatcher.

Since
v.5.5.4

Function Documentation

◆ create_disp() [1/2]

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

Creates the dispatcher.

◆ create_disp() [2/2]

SO_5_FUNC so_5::dispatcher_unique_ptr_t so_5::disp::active_group::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.

◆ create_disp_binder()

SO_5_FUNC so_5::disp_binder_unique_ptr_t so_5::disp::active_group::create_disp_binder ( const std::string &  disp_name,
const std::string &  group_name 
)

Creates the dispatcher binder.

Parameters
disp_nameDispatcher name.
group_nameActive group name to be bound to.
Examples:
so_5/disp/main.cpp.

◆ create_private_disp() [1/3]

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

Create a private active_group dispatcher.

Since
v.5.5.4
Usage sample
env,
"long_req_handlers" );
auto coop = env.create_coop( so_5::autoname,
// The main dispatcher for that coop will be
// private active_group dispatcher.
private_disp->binder( "passive_objects" ) );
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_group::create_private_disp ( so_5::environment_t env)
inline

Create a private active_group 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_group dispatcher.
private_disp->binder( "passive_objects" ) );
Parameters
envSObjectizer Environment to work in.

◆ create_private_disp() [3/3]

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

Create a private active_group dispatcher.

Since
v.5.5.10
Usage sample
env,
"request_handler",
// Additional params with specific options for queue's traits.
[]( so_5::disp::active_group::queue_traits::queue_params_t & p ) {
} ) );
auto coop = env.create_coop( so_5::autoname,
// The main dispatcher for that coop will be
// private active_group dispatcher.
private_disp->binder( "request_handler" ) );
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/adv_thread_pool_fifo/main.cpp, so_5/prio_work_stealing/main.cpp, and so_5/producer_consumer_mchain/main.cpp.