SObjectizer
5.7
|
Implementation details. More...
Classes | |
class | actual_receive_select_case_t |
Actual implementation of one multi chain select case. More... | |
class | actual_select_notificator_t |
Actual implementation of notificator for multi chain select. More... | |
class | actual_send_select_case_t |
The actual implementation of select_case for the case of sending a message. More... | |
struct | adv_receive_data_t |
Container of parameters for receive() function. More... | |
struct | bulk_processing_basic_data_t |
class | extensible_select_cases_holder_t |
A holder for serie of select_cases for the case of extensible select. More... | |
class | extensible_select_data_t |
A data for extensible-select instance. More... | |
class | limited_dynamic_demand_queue |
Implementation of demands queue for size-limited message chain with dynamically allocated storage. More... | |
class | limited_preallocated_demand_queue |
Implementation of demands queue for size-limited message chain with preallocated storage. More... | |
class | mchain_bulk_processing_basic_params_t |
class | prepared_select_data_t |
A data for prepared-select instance. More... | |
class | receive_actions_performer_t |
Helper class with implementation of main actions of advanced receive operation. More... | |
class | receive_select_case_t |
A base class for implementations of select_case for the case of receiving messages. More... | |
class | select_actions_performer_t |
Helper class for performing select-specific operations. More... | |
class | select_cases_holder_t |
A holder for serie of select_cases. More... | |
class | send_select_case_t |
A base class for implementations of select_case for the case of sending messages. More... | |
class | unlimited_demand_queue |
Implementation of demands queue for size-unlimited message chain. More... | |
Typedefs | |
using | adv_select_data_t = bulk_processing_basic_data_t |
Enumerations | |
enum | status { status::open, status::closed } |
Status of the message chain. More... | |
enum | prepared_select_status_t { prepared_select_status_t::passive, prepared_select_status_t::active } |
The current status of prepared-select instance. More... | |
enum | extensible_select_status_t { extensible_select_status_t::passive, extensible_select_status_t::active } |
The current status of extensible-select instance. More... | |
Functions | |
template<typename Q > | |
void | ensure_queue_not_empty (Q &&queue) |
Helper function which throws an exception if queue is empty. More... | |
template<typename Q > | |
void | ensure_queue_not_full (Q &&queue) |
Helper function which throws an exception if queue is full. More... | |
duration_t | no_wait_special_timevalue () |
Special value of duration to indicate 'no_wait' case. More... | |
duration_t | infinite_wait_special_timevalue () |
Special value of duration to indicate 'infinite_wait' case. More... | |
bool | is_no_wait_timevalue (duration_t v) |
Is time value means 'no_wait'? More... | |
bool | is_infinite_wait_timevalue (duration_t v) |
Is time value means 'infinite_wait'? More... | |
duration_t | actual_timeout (infinite_wait_indication) |
Helper function for detection of actual value for waiting timeout. More... | |
duration_t | actual_timeout (no_wait_indication) |
Helper function for detection of actual value for waiting timeout. More... | |
template<typename V > | |
duration_t | actual_timeout (V value) |
Helper function for detection of actual value for waiting timeout. More... | |
template<typename Bunch > | |
mchain_receive_result_t | receive_with_finite_total_time (const mchain_receive_params_t< msg_count_status_t::defined > ¶ms, const Bunch &bunch) |
An implementation of advanced receive when a limit for total operation time is defined. More... | |
template<typename Bunch > | |
mchain_receive_result_t | receive_without_total_time (const mchain_receive_params_t< msg_count_status_t::defined > ¶ms, const Bunch &bunch) |
An implementation of advanced receive when there is no limit for total operation time is defined. More... | |
template<typename Bunch > | |
mchain_receive_result_t | perform_receive (const mchain_receive_params_t< msg_count_status_t::defined > ¶ms, const Bunch &bunch) |
An implementation of main receive actions. More... | |
template<typename Holder > | |
void | fill_select_cases_holder (Holder &holder, std::size_t index, select_case_unique_ptr_t c) |
template<typename Holder , typename... Cases> | |
void | fill_select_cases_holder (Holder &holder, std::size_t index, select_case_unique_ptr_t c, Cases &&... other_cases) |
void | fill_select_cases_holder (extensible_select_cases_holder_t &) |
template<typename... Cases> | |
void | fill_select_cases_holder (extensible_select_cases_holder_t &holder, select_case_unique_ptr_t c, Cases &&... other_cases) |
template<typename Holder > | |
mchain_select_result_t | do_adv_select_with_total_time (const mchain_select_params_t< msg_count_status_t::defined > ¶ms, const Holder &select_cases) |
template<typename Holder > | |
mchain_select_result_t | do_adv_select_without_total_time (const mchain_select_params_t< msg_count_status_t::defined > ¶ms, const Holder &select_cases) |
template<typename Cases_Holder > | |
mchain_select_result_t | perform_select (const mchain_select_params_t< msg_count_status_t::defined > ¶ms, const Cases_Holder &cases_holder) |
Helper function with implementation of main select action. More... | |
Implementation details.
The current status of extensible-select instance.
If extensible-select instance is activated (is used in select() call) then this instance can't be modified or activated yet more time.
Enumerator | |
---|---|
passive | Extensible-select instance is not used in select() call. |
active | Extensible-select instance is used in select() call now. |
The current status of prepared-select instance.
If prepared-select instance is activated (is used in select() call) then this instance can't be activated yet more time.
Enumerator | |
---|---|
passive | Prepared-select instance is not used in select() call. |
active | Prepared-select instance is used in select() call now. |
|
strong |
Status of the message chain.
Enumerator | |
---|---|
open | Bag is open and can be used for message sending. |
closed | Bag is closed. New messages cannot be sent to it. |
|
inline |
Helper function for detection of actual value for waiting timeout.
|
inline |
Helper function for detection of actual value for waiting timeout.
duration_t so_5::mchain_props::details::actual_timeout | ( | V | value | ) |
Helper function for detection of actual value for waiting timeout.
mchain_select_result_t so_5::mchain_props::details::do_adv_select_with_total_time | ( | const mchain_select_params_t< msg_count_status_t::defined > & | params, |
const Holder & | select_cases | ||
) |
mchain_select_result_t so_5::mchain_props::details::do_adv_select_without_total_time | ( | const mchain_select_params_t< msg_count_status_t::defined > & | params, |
const Holder & | select_cases | ||
) |
void so_5::mchain_props::details::ensure_queue_not_empty | ( | Q && | queue | ) |
Helper function which throws an exception if queue is empty.
void so_5::mchain_props::details::ensure_queue_not_full | ( | Q && | queue | ) |
Helper function which throws an exception if queue is full.
void so_5::mchain_props::details::fill_select_cases_holder | ( | Holder & | holder, |
std::size_t | index, | ||
select_case_unique_ptr_t | c | ||
) |
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 | ||
) |
|
inline |
void so_5::mchain_props::details::fill_select_cases_holder | ( | extensible_select_cases_holder_t & | holder, |
select_case_unique_ptr_t | c, | ||
Cases &&... | other_cases | ||
) |
|
inline |
Special value of duration to indicate 'infinite_wait' case.
|
inline |
Is time value means 'infinite_wait'?
|
inline |
Is time value means 'no_wait'?
|
inline |
Special value of duration to indicate 'no_wait' case.
|
inline |
An implementation of main receive actions.
mchain_select_result_t so_5::mchain_props::details::perform_select | ( | const mchain_select_params_t< msg_count_status_t::defined > & | params, |
const Cases_Holder & | cases_holder | ||
) |
Helper function with implementation of main select action.
params | Parameters for advanced select. |
cases_holder | Select cases. |
|
inline |
An implementation of advanced receive when a limit for total operation time is defined.
|
inline |
An implementation of advanced receive when there is no limit for total operation time is defined.