SObjectizer  5.5
Classes | Namespaces | Functions
mchain_select.hpp File Reference

Various stuff related to multi chain select. More...

#include <so_5/rt/h/mchain_select_ifaces.hpp>
#include <so_5/details/h/at_scope_exit.hpp>
#include <so_5/details/h/invoke_noexcept_code.hpp>
#include <so_5/details/h/remaining_time_counter.hpp>
#include <iterator>
#include <array>

Go to the source code of this file.

Classes

class  so_5::mchain_select_params_t
 Parameters for advanced select from multiple mchains. More...
 
class  so_5::mchain_props::details::actual_select_case_t< N >
 Actual implementation of one multi chain select case. More...
 
class  so_5::mchain_props::details::select_cases_holder_t< Cases_Count >
 A holder for serie of select_cases. More...
 
class  so_5::mchain_props::details::select_cases_holder_t< Cases_Count >::const_iterator
 Iterator class for accessing select_cases. More...
 
class  so_5::mchain_props::details::actual_select_notificator_t
 Actual implementation of notificator for multi chain select. More...
 
class  so_5::mchain_props::details::select_actions_performer_t< Holder >
 Helper class for performing select-specific operations. More...
 
class  so_5::prepared_select_t< Cases_Count >
 Special container for holding select parameters and select cases. More...
 

Namespaces

 so_5
 Public part of message limit implementation.
 
 so_5::mchain_props
 Various properties and parameters of message chains.
 
 so_5::mchain_props::details
 Implementation details.
 

Functions

mchain_select_params_t so_5::from_all ()
 Helper function for creation of mchain_select_params instance with default values. More...
 
template<typename Holder >
void so_5::mchain_props::details::fill_select_cases_holder (Holder &holder, std::size_t index, select_case_unique_ptr_t c)
 
template<typename Holder , typename... Cases>
void so_5::mchain_props::details::fill_select_cases_holder (Holder &holder, std::size_t index, select_case_unique_ptr_t c, Cases &&... other_cases)
 
template<typename Holder >
mchain_receive_result_t so_5::mchain_props::details::do_adv_select_with_total_time (const mchain_select_params_t &params, const Holder &select_cases)
 
template<typename Holder >
mchain_receive_result_t so_5::mchain_props::details::do_adv_select_without_total_time (const mchain_select_params_t &params, const Holder &select_cases)
 
template<typename Cases_Holder >
mchain_receive_result_t so_5::mchain_props::details::perform_select (const mchain_select_params_t &params, const Cases_Holder &cases_holder)
 Helper function with implementation of main select action. More...
 
template<typename... Handlers>
mchain_props::select_case_unique_ptr_t so_5::case_ (mchain_t chain, Handlers &&... handlers)
 A helper for creation of select_case object for one multi chain select. More...
 
template<typename... Cases>
mchain_receive_result_t so_5::select (const mchain_select_params_t &params, Cases &&... cases)
 An advanced form of multi chain select. More...
 
template<typename Duration , typename... Cases>
mchain_receive_result_t so_5::select (Duration wait_time, Cases &&... cases)
 A simple form of multi chain select. More...
 
template<typename... Cases>
prepared_select_t< sizeof...(Cases) > so_5::prepare_select (const mchain_select_params_t &params, Cases &&... cases)
 Create prepared select statement to be used later. More...
 
template<std::size_t Cases_Count>
mchain_receive_result_t so_5::select (const prepared_select_t< Cases_Count > &prepared)
 A select operation to be done on previously prepared select params. More...
 

Detailed Description

Various stuff related to multi chain select.

Since
v.5.5.16