SObjectizer-5 Extra
Classes | Namespaces | Typedefs | Functions | Variables
first_last_subscriber_notification.hpp File Reference

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

 so_5
 Ranges for error codes of each submodules.
 
 so_5::extra
 
 so_5::extra::mboxes
 
 so_5::extra::mboxes::first_last_subscriber_notification
 
 so_5::extra::mboxes::first_last_subscriber_notification::errors
 
 so_5::extra::mboxes::first_last_subscriber_notification::details
 

Typedefs

using so_5::extra::mboxes::first_last_subscriber_notification::details::subscriber_info_t = so_5::impl::local_mbox_details::subscription_info_without_sink_t
 An information block about one subscriber. More...
 

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. More...
 
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. More...
 
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. More...
 

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. More...
 
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. More...
 

Detailed Description

Implementation of mbox that informs about the first and the last subscriptions.

Since
v.1.5.2

Definition in file first_last_subscriber_notification.hpp.