SObjectizer  5.5
Public Member Functions | Private Member Functions | List of all members
so_5::dispatcher_t Class Referenceabstract

An interface for all dispatchers. More...

#include <disp.hpp>

Inheritance diagram for so_5::dispatcher_t:
so_5::env_infrastructures::st_reusable_stuff::default_disp_impl_basis_t< Activity_Tracker > so_5::disp::active_group::impl::actual_disp_iface_t so_5::disp::active_obj::impl::actual_disp_iface_t so_5::disp::one_thread::impl::actual_disp_iface_t so_5::disp::prio_dedicated_threads::one_per_prio::impl::actual_disp_iface_t so_5::disp::prio_one_thread::quoted_round_robin::impl::actual_disp_iface_t so_5::disp::prio_one_thread::strictly_ordered::impl::actual_disp_iface_t so_5::disp::thread_pool::common_implementation::ext_dispatcher_iface_t< Params > so_5::env_infrastructures::st_reusable_stuff::default_disp_impl_basis_t< Event_Queue_Type >

Public Member Functions

 dispatcher_t ()=default
 
virtual ~dispatcher_t () SO_5_NOEXCEPT=default
 
dispatcher_tself_ptr ()
 
virtual void start (environment_t &env)=0
 Launch the dispatcher. More...
 
virtual void shutdown ()=0
 Signal about shutdown. More...
 
virtual void wait ()=0
 Wait for the full stop of the dispatcher. More...
 
virtual void set_data_sources_name_base (const std::string &name)
 Set basic part of names for data sources for run-time monitoring. More...
 

Private Member Functions

 dispatcher_t (const dispatcher_t &)=delete
 
 dispatcher_t (dispatcher_t &&)=delete
 
dispatcher_toperator= (const dispatcher_t &)=delete
 
dispatcher_toperator= (dispatcher_t &&)=delete
 

Detailed Description

An interface for all dispatchers.

Dispatcher schedules and calls agents' events.

Each agent is binded to a dispatcher during the registration. A dispatcher_binder_t object is used for this.

Each agent stores its events in the own event queue. When event is stored in the queue an agent informs its dispatcher about it. The dispatcher should schedule the agent for the event execution on the agent's working thread context.

Constructor & Destructor Documentation

◆ dispatcher_t() [1/3]

so_5::dispatcher_t::dispatcher_t ( const dispatcher_t )
privatedelete

◆ dispatcher_t() [2/3]

so_5::dispatcher_t::dispatcher_t ( dispatcher_t &&  )
privatedelete

◆ dispatcher_t() [3/3]

so_5::dispatcher_t::dispatcher_t ( )
default

Do nothing.

◆ ~dispatcher_t()

virtual so_5::dispatcher_t::~dispatcher_t ( )
virtualdefault

Do nothing.

Member Function Documentation

◆ operator=() [1/2]

dispatcher_t& so_5::dispatcher_t::operator= ( const dispatcher_t )
privatedelete

◆ operator=() [2/2]

dispatcher_t& so_5::dispatcher_t::operator= ( dispatcher_t &&  )
privatedelete

◆ self_ptr()

dispatcher_t* so_5::dispatcher_t::self_ptr ( )
inline

Auxiliary method.

◆ set_data_sources_name_base()

void so_5::dispatcher_t::set_data_sources_name_base ( const std::string &  name)
virtual

◆ shutdown()

virtual void so_5::dispatcher_t::shutdown ( )
pure virtual

◆ start()

virtual void so_5::dispatcher_t::start ( environment_t env)
pure virtual

◆ wait()

virtual void so_5::dispatcher_t::wait ( )
pure virtual

The documentation for this class was generated from the following files: