SObjectizer  5.5
Classes | Namespaces | Typedefs | Functions
active_group/pub.cpp File Reference
#include <so_5/disp/active_group/h/pub.hpp>
#include <so_5/rt/h/disp.hpp>
#include <so_5/rt/h/send_functions.hpp>
#include <so_5/details/h/rollback_on_exception.hpp>
#include <so_5/disp/reuse/h/disp_binder_helpers.hpp>
#include <so_5/disp/reuse/h/data_source_prefix_helpers.hpp>
#include <so_5/disp/reuse/h/proxy_dispatcher_template.hpp>
#include <so_5/disp/reuse/work_thread/h/work_thread.hpp>
#include <so_5/rt/stats/h/repository.hpp>
#include <so_5/rt/stats/h/messages.hpp>
#include <so_5/rt/stats/h/std_names.hpp>
#include <so_5/h/stdcpp.hpp>
#include <map>
#include <mutex>
#include <algorithm>

Classes

class  so_5::disp::active_group::impl::actual_disp_iface_t
 An actual interface of active group dispatcher. More...
 
class  so_5::disp::active_group::impl::dispatcher_template_t< Work_Thread >
 Implementation of active object dispatcher in form of template class. More...
 
struct  so_5::disp::active_group::impl::dispatcher_template_t< Work_Thread >::thread_with_refcounter_t
 Auxiliary class for the working agent counting. More...
 
class  so_5::disp::active_group::impl::dispatcher_template_t< Work_Thread >::disp_data_source_t
 Data source for run-time monitoring of whole dispatcher. More...
 
class  so_5::disp::active_group::impl::proxy_dispatcher_t
 A proxy dispatcher which creates actual dispatcher at start. More...
 
class  so_5::disp::active_group::impl::binding_actions_t
 A mixin with implementation of main binding/unbinding actions. More...
 
class  so_5::disp::active_group::impl::real_private_dispatcher_t
 A real implementation of private_dispatcher interface. More...
 

Namespaces

 so_5
 Public part of message limit implementation.
 
 so_5::disp
 Event dispatchers.
 
 so_5::disp::active_group
 Active groups dispatcher.
 
 so_5::disp::active_group::impl
 Active groups dispatcher implemetation details.
 
 so_5::disp::active_group::impl::anonymous_namespace{pub.cpp}
 

Typedefs

using so_5::disp::active_group::impl::proxy_dispatcher_base_t = so_5::disp::reuse::proxy_dispatcher_template_t< actual_disp_iface_t, disp_params_t >
 
using so_5::disp::active_group::impl::disp_binder_t = so_5::disp::reuse::binder_for_public_disp_template_t< proxy_dispatcher_t, binding_actions_t >
 Agent dispatcher binder interface. More...
 
using so_5::disp::active_group::impl::private_dispatcher_binder_t = so_5::disp::reuse::binder_for_private_disp_template_t< private_dispatcher_handle_t, proxy_dispatcher_t, binding_actions_t >
 A binder for the private active_group dispatcher. More...
 

Functions

template<class T >
void so_5::disp::active_group::impl::anonymous_namespace{pub.cpp}::shutdown_and_wait (T &w)
 Just a helper function for consequetive call to shutdown and wait. More...
 
template<class T >
void so_5::disp::active_group::impl::anonymous_namespace{pub.cpp}::call_shutdown (T &v)
 
template<class T >
void so_5::disp::active_group::impl::anonymous_namespace{pub.cpp}::call_wait (T &v)
 
void so_5::disp::active_group::impl::anonymous_namespace{pub.cpp}::send_thread_activity_stats (const so_5::mbox_t &, const stats::prefix_t &, work_thread::work_thread_no_activity_tracking_t &)
 
void so_5::disp::active_group::impl::anonymous_namespace{pub.cpp}::send_thread_activity_stats (const so_5::mbox_t &mbox, const stats::prefix_t &prefix, work_thread::work_thread_with_activity_tracking_t &wt)
 
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. More...
 
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. More...
 
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. More...