2
3
6
7
8
9
10
11
13#include <so_5/handler_makers.hpp>
15#include <so_5/impl/enveloped_msg_details.hpp>
26 message_ref_t & message )
54 const std::type_index & msg_type,
55 message_ref_t & message )
57 bool ret_value =
false;
60 auto it = std::lower_bound( left, right, key );
virtual void access_hook(access_context_t context, handler_invoker_t &invoker) noexcept=0
An implementation of handler_invoker interface for the case when a mesage was sent to mchain.
bool was_handled() const noexcept
mchain_demand_handler_invoker_t(const ::so_5::details::msg_type_and_handler_pair_t &handler)
Initializing constructor.
A base class for agent messages.
friend message_kind_t message_kind(const so_5::intrusive_ptr_t< message_t > &what)
Helper method for quering kind of the message.
bool process_envelope_when_handler_found(const msg_type_and_handler_pair_t &handler, message_ref_t &message)
Some reusable and low-level classes/functions which can be used in public header files.
auto invoke_noexcept_code(L lambda) noexcept -> decltype(lambda())
envelope_t & message_to_envelope(const message_ref_t &src_msg)
A helper function for casting message instance to envelope instance.
access_context_t
Information about context on that enveloped message is handled.
Private part of message limit implementation.
@ user_type_message
Message is an user type message.
@ enveloped_msg
Message is an envelope with some other message inside.
Basic part of handlers_bunch implementation.
static SO_5_FUNC bool find_and_use_handler(const msg_type_and_handler_pair_t *left, const msg_type_and_handler_pair_t *right, const std::type_index &msg_type, message_ref_t &message)
Find and exec message handler.
Description of an event handler.
msg_type_and_handler_pair_t(std::type_index msg_type)
Constructor for the case when only msg_type is known.
std::type_index m_msg_type
Type of a message or signal.
event_handler_method_t m_handler
A handler for processing this message or signal.