SObjectizer-5 Extra
|
Implementation of mbox that informs about the first and the last subscriptions. More...
#include <so_5/version.hpp>
#include <so_5_extra/error_ranges.hpp>
#include <so_5/impl/msg_tracing_helpers.hpp>
#include <so_5/impl/local_mbox_basic_subscription_info.hpp>
#include <so_5/details/sync_helpers.hpp>
#include <so_5/details/invoke_noexcept_code.hpp>
#include <so_5/mbox.hpp>
#include <so_5/send_functions.hpp>
#include <string_view>
Go to the source code of this file.
Classes | |
struct | so_5::extra::mboxes::first_last_subscriber_notification::msg_first_subscriber |
Signal to be sent when the first subscriber arrives. More... | |
struct | so_5::extra::mboxes::first_last_subscriber_notification::msg_last_subscriber |
Signal to be sent when the last subscriber gone. More... | |
struct | so_5::extra::mboxes::first_last_subscriber_notification::details::template_independent_mbox_data_t |
A mixin with actual data which is necessary for implementation of actual mbox. More... | |
struct | so_5::extra::mboxes::first_last_subscriber_notification::details::template_independent_mbox_data_t::sink_ptr_comparator_t |
A special coparator for sinks with respect to sink's priority. More... | |
class | so_5::extra::mboxes::first_last_subscriber_notification::details::actual_mbox_t< Msg_Type, Lock_Type, Tracing_Base > |
An actual implementation of first/last subscriber message mbox. More... | |
Namespaces | |
namespace | so_5 |
Ranges for error codes of each submodules. | |
namespace | so_5::extra |
namespace | so_5::extra::mboxes |
namespace | so_5::extra::mboxes::first_last_subscriber_notification |
namespace | so_5::extra::mboxes::first_last_subscriber_notification::errors |
namespace | so_5::extra::mboxes::first_last_subscriber_notification::details |
Typedefs | |
using | so_5::extra::mboxes::first_last_subscriber_notification::details::subscriber_info_t |
An information block about one subscriber. | |
Functions | |
template<typename Msg_Type , typename Lock_Type = std::mutex> | |
mbox_t | so_5::extra::mboxes::first_last_subscriber_notification::make_mbox (environment_t &env, mbox_t notification_mbox, mbox_type_t mbox_type) |
Create an instance of first_last_subscriber_notification mbox. | |
template<typename Msg_Type , typename Lock_Type = std::mutex> | |
mbox_t | so_5::extra::mboxes::first_last_subscriber_notification::make_multi_consumer_mbox (environment_t &env, mbox_t notification_mbox) |
Create an instance of first_last_subscriber_notification MPMC mbox. | |
template<typename Msg_Type , typename Lock_Type = std::mutex> | |
mbox_t | so_5::extra::mboxes::first_last_subscriber_notification::make_single_consumer_mbox (environment_t &env, mbox_t notification_mbox) |
Create an instance of first_last_subscriber_notification MPSC mbox. | |
Variables | |
const int | so_5::extra::mboxes::first_last_subscriber_notification::errors::rc_different_message_type |
An attempt to use a message type that differs from mbox's message type. | |
const int | so_5::extra::mboxes::first_last_subscriber_notification::errors::rc_subscriber_already_exists_for_mpsc_mbox |
An attempt to add a new subscriber for MPSC mbox when another subscriber already exists. | |
Implementation of mbox that informs about the first and the last subscriptions.
Definition in file first_last_subscriber_notification.hpp.