SObjectizer-5 Extra
Loading...
Searching...
No Matches
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

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.
 

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.