SObjectizer 5.8
Loading...
Searching...
No Matches
so_5::message_limit::impl Namespace Reference

Internal implementation of message limits related stuff. More...

Classes

class  action_msg_tracer_t
 An interface of tracer for message delivery tracing. More...
 
struct  call_pre_abort_action
 Helper class for calling pre-abort action. More...
 
struct  call_pre_abort_action_impl
 Helper class for calling pre-abort action. More...
 
struct  call_pre_abort_action_impl< false, M, L >
 Specialization for the case of signal. More...
 

Functions

SO_5_FUNC void drop_message_reaction (const overlimit_context_t &ctx)
 Actual implementation of drop message reaction.
 
SO_5_FUNC void abort_app_reaction (const overlimit_context_t &ctx)
 Actual implementation of abort application reaction.
 
SO_5_FUNC void redirect_reaction (const overlimit_context_t &ctx, const mbox_t &to)
 Actual implementation of redirect message reaction.
 
SO_5_FUNC void 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 make_action_for_message_transformer (Lambda &&transformator)
 Helper function to make an action that performs message transformation.
 
template<typename Source , typename Lambda >
action_t make_action_for_signal_transformer (Lambda &&transformator)
 Helper function to make an action that performs signal transformation.
 

Detailed Description

Internal implementation of message limits related stuff.

Since
v.5.5.4

Function Documentation

◆ abort_app_reaction()

SO_5_FUNC void so_5::message_limit::impl::abort_app_reaction ( const overlimit_context_t & ctx)

Actual implementation of abort application reaction.

Since
v.5.5.4

Definition at line 47 of file message_limit.cpp.

◆ drop_message_reaction()

SO_5_FUNC void so_5::message_limit::impl::drop_message_reaction ( const overlimit_context_t & ctx)

Actual implementation of drop message reaction.

Since
v.5.5.9

Definition at line 39 of file message_limit.cpp.

◆ make_action_for_message_transformer()

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)
nodiscard

Helper function to make an action that performs message transformation.

Wraps transformator into an instance of type action_t.

Template Parameters
Message_Typetype of message to be transformed. This type should be a type of payload without so_5::immutable_msg or so_5::mutable_msg modifications.
Message_Mutabilitymutability of message. It's required to detect actual type of reference (Message_Type& or const Message_Type&) to be passed to transformator.
Lambdatype of transformator.
Since
v.5.8.1

Definition at line 429 of file message_limit.hpp.

◆ make_action_for_signal_transformer()

template<typename Source , typename Lambda >
action_t so_5::message_limit::impl::make_action_for_signal_transformer ( Lambda && transformator)
nodiscard

Helper function to make an action that performs signal transformation.

Wraps transformator into an instance of type action_t.

Template Parameters
Sourcetype of signal to be transformed.
Lambdatype of transformator.
Since
v.5.8.1

Definition at line 491 of file message_limit.hpp.

◆ redirect_reaction()

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.

Since
v.5.5.4
Parameters
ctxContext on which overlimit must be handled.
toDestination for message redirection.

Definition at line 65 of file message_limit.cpp.

◆ transform_reaction()

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.

Since
v.5.5.4
Parameters
ctxContext on which overlimit must be handled.
toDestination for new message.
msg_typeType of new message.
messageAn instance of new message.

Definition at line 106 of file message_limit.cpp.