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

Dispatcher with single working thread. More...

Namespaces

 impl
 Implementation details for dispatcher with single working thread.
 
 internals
 

Classes

class  disp_params_t
 Alias for namespace with traits of event queue. More...
 
class  private_dispatcher_t
 An interface for one_thread 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 one_thread private dispatcher. More...
 

Functions

SO_5_FUNC dispatcher_unique_ptr_t create_disp ( disp_params_t params)
 Create an instance of one_thread 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 one_thread dispatcher. More...
 
SO_5_FUNC disp_binder_unique_ptr_t create_disp_binder ( nonempty_name_t disp_name)
 Create a dispatcher binder object. 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 one_thread dispatcher. More...
 
private_dispatcher_handle_t create_private_disp (environment_t &env)
 Create a private one_thread dispatcher. More...
 

Detailed Description

Dispatcher with single working thread.

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 one_thread private dispatcher.

Since
v.5.5.4

Function Documentation

◆ create_disp() [1/2]

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

Create a dispatcher.

◆ create_disp() [2/2]

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

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

Since
v.5.5.10
Usage sample
so_5::launch( &init, []( so_5::environment_params_t & params ) {
params.add_named_dispatcher( "my_disp",
[]( so_5::disp::one_thread::queue_traits::disp_params_t & p ) {
} ) ) );
} );
Parameters
paramsParameters for the dispatcher.
Examples:
so_5/disp/main.cpp, and so_5/hardwork_imit/main.cpp.

◆ create_disp_binder()

SO_5_FUNC disp_binder_unique_ptr_t so_5::disp::one_thread::create_disp_binder ( nonempty_name_t  disp_name)

Create a dispatcher binder object.

Parameters
disp_nameName of the dispatcher to be bound to.
Examples:
so_5/disp/main.cpp, and so_5/hardwork_imit/main.cpp.

◆ create_private_disp() [1/3]

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

Create a private one_thread dispatcher.

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

Create a private one_thread dispatcher.

Since
v.5.5.4
Usage sample
auto one_thread_disp = so_5::disp::one_thread::create_private_disp( env );
auto coop = env.create_coop( so_5::autoname,
// The main dispatcher for that coop will be
// private one_thread dispatcher.
one_thread_disp->binder() );

◆ create_private_disp() [3/3]

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

Create a private one_thread dispatcher.

Since
v.5.5.10
Usage sample
env,
"file_handler",
[]( so_5::disp::one_thread::queue_traits::queue_params_t & p ) {
} ) );
auto coop = env.create_coop( so_5::autoname,
// The main dispatcher for that coop will be
// private one_thread dispatcher.
one_thread_disp->binder() );
Parameters
envSObjectizer Environment to work in.
data_sources_name_baseValue for creating names of data sources for run-time monitoring.
paramsParameters for the dispatcher.
Examples:
so_5/machine_control/main.cpp, so_5/news_board/main.cpp, so_5/private_dispatcher_hello/main.cpp, so_5/producer_consumer_mchain/main.cpp, so_5/queue_size_stats/main.cpp, and so_5/selective_msg_tracing/main.cpp.