SObjectizer-5 Extra
Loading...
Searching...
No Matches
pub.hpp File Reference

Implementation of synchronous operations on top of SObjectizer. More...

#include <so_5_extra/error_ranges.hpp>
#include <so_5_extra/mchains/fixed_size.hpp>
#include <so_5/version.hpp>
#include <so_5/send_functions.hpp>
#include <so_5/details/always_false.hpp>
#include <variant>

Go to the source code of this file.

Classes

struct  so_5::extra::sync::details::ensure_no_mutability_modificators< T >
 Helper class to ensure that immutable_msg/mutable_msg modificators are not used. More...
 
struct  so_5::extra::sync::details::ensure_no_mutability_modificators< immutable_msg< T > >
 
struct  so_5::extra::sync::details::ensure_no_mutability_modificators< mutable_msg< T > >
 
class  so_5::extra::sync::details::reply_target_holder_t
 A special holder for reply_target instance. More...
 
class  so_5::extra::sync::details::basic_request_reply_part_t< Request, Reply >
 The basic part of implementation of request_reply type. More...
 
class  so_5::extra::sync::details::request_holder_part_t< Base, false >
 A specialization for the case when request type is not a signal. More...
 
class  so_5::extra::sync::details::request_holder_part_t< Base, true >
 A specialization for the case when request type is a signal. More...
 
class  so_5::extra::sync::request_reply_t< Request, Reply >
 A special class for performing interactions between agents in request-reply maner. More...
 

Namespaces

namespace  so_5
 Ranges for error codes of each submodules.
 
namespace  so_5::extra
 
namespace  so_5::extra::sync
 
namespace  so_5::extra::sync::errors
 
namespace  so_5::extra::sync::details
 

Typedefs

template<typename T >
using so_5::extra::sync::details::ensure_no_mutability_modificators_t
 A short form of ensure_no_mutability_modificators metafunction.
 
using so_5::extra::sync::details::reply_target_t = std::variant< mchain_t, mbox_t >
 Type of storage for reply's target.
 
template<typename Request , typename Reply >
using so_5::extra::sync::request_mhood_t = typename request_reply_t<Request, Reply>::request_mhood_t
 A short form of request_reply_t<Q,A>::request_mhood_t.
 
template<typename Request , typename Reply >
using so_5::extra::sync::reply_mhood_t = typename request_reply_t<Request, Reply>::reply_mhood_t
 A short form of request_reply_t<Q,A>::reply_mhood_t.
 

Enumerations

enum class  so_5::extra::sync::close_reply_chain_flag_t { so_5::extra::sync::close , so_5::extra::sync::do_not_close }
 A flag to specify should the reply chain be closed automatically. More...
 

Functions

mbox_t so_5::extra::sync::details::query_actual_reply_target (const reply_target_t &rt) noexcept
 Helper function for extraction of actual reply target from reply_target instance.
 
template<typename Request , typename Reply , typename Target , typename Duration , typename... Args>
auto so_5::extra::sync::request_reply (Target &&target, Duration duration, Args &&...args)
 A helper function for performing request_reply-iteraction.
 
template<typename Request , typename Reply , typename Target , typename Duration , typename... Args>
auto so_5::extra::sync::request_opt_reply (Target &&target, Duration duration, Args &&...args)
 A helper function for performing request_reply-iteraction.
 

Variables

const int so_5::extra::sync::errors::rc_reply_was_sent
 An attempt to send a new reply when the reply is already sent.
 
const int so_5::extra::sync::errors::rc_no_reply
 No reply.
 
constexpr const close_reply_chain_flag_t so_5::extra::sync::close_reply_chain
 The indicator that the reply chain should be closed automatically.
 
constexpr const close_reply_chain_flag_t so_5::extra::sync::do_not_close_reply_chain
 The indicator that the reply chain shouldn't be closed automatically.
 

Detailed Description

Implementation of synchronous operations on top of SObjectizer.

Since
v.1.3.0

Definition in file pub.hpp.