SObjectizer
5.5
|
A hint for a dispatcher for execution of event for the concrete execution_demand. More...
#include <execution_demand.hpp>
Public Types | |
using | direct_func_t = std::function< void(execution_demand_t &, current_thread_id_t) > |
Type of function for calling event handler directly. More... | |
Public Member Functions | |
execution_hint_t (execution_demand_t &demand, direct_func_t direct_func, thread_safety_t thread_safety) | |
Initializing constructor. More... | |
void | exec (current_thread_id_t working_thread_id) const |
Call event handler directly. More... | |
bool | is_thread_safe () const |
Is thread safe handler? More... | |
Static Public Member Functions | |
static execution_hint_t | create_empty_execution_hint (execution_demand_t &demand) |
Private Member Functions | |
execution_hint_t (execution_demand_t &demand) | |
Private Attributes | |
execution_demand_t & | m_demand |
A reference to demand for which that hint has been created. More... | |
direct_func_t | m_direct_func |
Function for call event handler directly. More... | |
thread_safety_t | m_thread_safety |
Thread safety for event handler. More... | |
A hint for a dispatcher for execution of event for the concrete execution_demand.
using so_5::execution_hint_t::direct_func_t = std::function< void( execution_demand_t &, current_thread_id_t ) > |
Type of function for calling event handler directly.
|
inline |
Initializing constructor.
|
inlineprivate |
A special constructor for the case when there is no handler for message.
|
inlinestatic |
Create execution_hint object for the case when event handler not found.
This hint is necessary only for decrementing the counter of messages if message limit is used for the message to be processed.
|
inline |
Call event handler directly.
|
inline |
Is thread safe handler?
|
private |
A reference to demand for which that hint has been created.
|
private |
Function for call event handler directly.
|
private |
Thread safety for event handler.