SObjectizer 5.8
Loading...
Searching...
No Matches
message_limit.hpp File Reference

Public part of message limit implementation. More...

#include <so_5/message.hpp>
#include <so_5/mbox.hpp>
#include <so_5/transformed_message.hpp>
#include <so_5/enveloped_msg.hpp>
#include <so_5/details/lambda_traits.hpp>
#include <so_5/details/invoke_noexcept_code.hpp>
#include <so_5/optional.hpp>
#include <so_5/declspec.hpp>
#include <functional>
#include <typeindex>
#include <atomic>
#include <vector>

Go to the source code of this file.

Classes

struct  so_5::message_limit::description_t
 A description of one message limit. More...
 
struct  so_5::message_limit::drop_indicator_t< M >
 Message limit with reaction 'drop new message'. More...
 
struct  so_5::message_limit::abort_app_indicator_t< M >
 Message limit with reaction 'abort the application'. More...
 
struct  so_5::message_limit::log_then_abort_app_indicator_t< M, L >
 Message limit with reaction 'abort the application' and the possibility to call additional lambda before aborting the app. More...
 
struct  so_5::message_limit::impl::call_pre_abort_action_impl< is_message, M, L >
 Helper class for calling pre-abort action. More...
 
struct  so_5::message_limit::impl::call_pre_abort_action_impl< false, M, L >
 Specialization for the case of signal. More...
 
struct  so_5::message_limit::impl::call_pre_abort_action< M, L >
 Helper class for calling pre-abort action. More...
 
struct  so_5::message_limit::redirect_indicator_t< Msg, Lambda >
 Indication that a message must be redirected on overlimit. More...
 
struct  so_5::message_limit::transform_indicator_t< Source >
 An indicator of transform reaction on message overlimit. More...
 
struct  so_5::message_limit::message_limit_methods_mixin_t
 A mixin with message limit definition methods. More...
 

Namespaces

namespace  so_5
 Private part of message limit implementation.
 
namespace  so_5::message_limit
 All stuff related to message limits.
 
namespace  so_5::message_limit::impl
 Internal implementation of message limits related stuff.
 

Typedefs

using so_5::message_limit::description_container_t = std::vector< description_t >
 Type of container for holding message limit descriptions.
 

Functions

SO_5_FUNC void so_5::message_limit::impl::drop_message_reaction (const overlimit_context_t &ctx)
 Actual implementation of drop message reaction.
 
template<class M >
void so_5::message_limit::accept_one_indicator (description_container_t &to, const drop_indicator_t< M > &indicator)
 Helper function for accepting drop_indicator and storing the corresponding description into the limits container.
 
SO_5_FUNC void so_5::message_limit::impl::abort_app_reaction (const overlimit_context_t &ctx)
 Actual implementation of abort application reaction.
 
template<class M >
void so_5::message_limit::accept_one_indicator (description_container_t &to, const abort_app_indicator_t< M > &indicator)
 Helper function for accepting abort_app_indicator and storing the corresponding description into the limits container.
 
template<class M , class L >
void so_5::message_limit::accept_one_indicator (description_container_t &to, const log_then_abort_app_indicator_t< M, L > &indicator)
 Helper function for accepting log_then_abort_app_indicator and storing the corresponding description into the limits container.
 
SO_5_FUNC void so_5::message_limit::impl::redirect_reaction (const overlimit_context_t &ctx, const mbox_t &to)
 Actual implementation of redirect message reaction.
 
template<typename Msg , typename Lambda >
void so_5::message_limit::accept_one_indicator (description_container_t &to, redirect_indicator_t< Msg, Lambda > indicator)
 Helper function for accepting redirect_indicator and storing the corresponding description into the limits container.
 
SO_5_FUNC void so_5::message_limit::impl::transform_reaction (const overlimit_context_t &ctx, const mbox_t &to, const std::type_index &msg_type, const message_ref_t &message)
 Actual implementation of transform reaction.
 
template<typename Message_Type , message_mutability_t Message_Mutability, typename Lambda >
action_t so_5::message_limit::impl::make_action_for_message_transformer (Lambda &&transformator)
 Helper function to make an action that performs message transformation.
 
template<typename Source , typename Lambda >
action_t so_5::message_limit::impl::make_action_for_signal_transformer (Lambda &&transformator)
 Helper function to make an action that performs signal transformation.
 
template<class M >
void so_5::message_limit::accept_one_indicator (description_container_t &to, transform_indicator_t< M > indicator)
 Helper function for accepting transform_indicator and storing the corresponding description into the limits container.
 
template<typename I , typename... Args>
void so_5::message_limit::accept_indicators (description_container_t &to, I &&indicator, Args &&... others)
 Helper function for constructing limits description from a series of limit indicators.
 
void so_5::message_limit::accept_indicators (description_container_t &)
 

Detailed Description

Public part of message limit implementation.

Since
v.5.5.4

Definition in file message_limit.hpp.