SObjectizer-5 Extra
Classes | Typedefs | Functions
so_5::extra::mboxes::collecting_mbox::details Namespace Reference

Classes

class  actual_mbox_t
 Actual implementation of collecting mbox. More...
 
struct  collected_bunch_type_selector
 A helper type for selection of actual message type and type of message builder. More...
 
class  collected_messages_bunch_builder_t
 A builder for case when collecting_mbox collects messages. More...
 
class  collected_messages_bunch_t
 Type of message to be sent when all collecting messages are received. More...
 
class  collected_signals_bunch_builder_t
 A builder for case when collecting_mbox collects signals. More...
 
class  collected_signals_bunch_t
 A type of message to be sent when all collected signals are received. More...
 
struct  config_type
 A helper type which is a collection of type parameters. More...
 

Typedefs

template<typename Config_Type >
using messages_collected_t = typename collected_bunch_type_selector< Config_Type >::message_type
 Type of message to be sent as messages_collected instance. More...
 
Type extractors for config_type
template<typename Config_Type >
using collecting_msg_t = typename Config_Type::collecting_msg_type
 
template<typename Config_Type >
using traits_t = typename Config_Type::traits_type
 
template<typename Config_Type >
using lock_t = typename Config_Type::lock_type
 

Functions

template<typename Config_Type >
void check_mutability_validity_for_target_mbox (const so_5::mbox_t &target)
 Helper method for checking message mutability and type of the target mbox. More...
 
optional< message_ref_t > detect_message_to_store (message_ref_t what)
 Detect the actual message to be collected (if it is present). More...
 

Typedef Documentation

◆ collecting_msg_t

template<typename Config_Type >
using so_5::extra::mboxes::collecting_mbox::details::collecting_msg_t = typedef typename Config_Type::collecting_msg_type

Definition at line 114 of file collecting_mbox.hpp.

◆ lock_t

template<typename Config_Type >
using so_5::extra::mboxes::collecting_mbox::details::lock_t = typedef typename Config_Type::lock_type

Definition at line 120 of file collecting_mbox.hpp.

◆ messages_collected_t

template<typename Config_Type >
using so_5::extra::mboxes::collecting_mbox::details::messages_collected_t = typedef typename collected_bunch_type_selector<Config_Type>::message_type

Type of message to be sent as messages_collected instance.

It will be collected_messages_bunch_t if Config_Type::collecting_msg_type is a type of a message. Or it will be collected_signals_bunch_t if Config_Type::collecting_msg_type is a type of a signal.

Template Parameters
Config_Typea type with enumeration of all necessary type traits. It is expected to be config_type with appropriate type parameters.

Definition at line 531 of file collecting_mbox.hpp.

◆ traits_t

template<typename Config_Type >
using so_5::extra::mboxes::collecting_mbox::details::traits_t = typedef typename Config_Type::traits_type

Definition at line 117 of file collecting_mbox.hpp.

Function Documentation

◆ check_mutability_validity_for_target_mbox()

template<typename Config_Type >
void so_5::extra::mboxes::collecting_mbox::details::check_mutability_validity_for_target_mbox ( const so_5::mbox_t &  target)

Helper method for checking message mutability and type of the target mbox.

Exceptions
so_5::exception_tif message is mutable but target is not MPSC-mbox.
Template Parameters
Config_Typea type with enumeration of all necessary type traits. It is expected to be config_type with appropriate type parameters.
Parameters
targetA target mbox for messages_collected message.

Definition at line 137 of file collecting_mbox.hpp.

◆ detect_message_to_store()

optional< message_ref_t > so_5::extra::mboxes::collecting_mbox::details::detect_message_to_store ( message_ref_t  what)
inline

Detect the actual message to be collected (if it is present).

SO-5.5.23 introduced enveloped messages. In the case of enveloped message the payload must be extrected and stored inside collected_mbox. This function checks the kind of a message and extract payload if message is an enveloped.

Original value of what is returned in what is not an envelope.

Since
v.1.2.0

Definition at line 309 of file collecting_mbox.hpp.