SObjectizer  5.7
Classes | Namespaces | Typedefs | Enumerations
mpsc_mbox.hpp File Reference

A multi-producer/single-consumer mbox definition. More...

#include <so_5/types.hpp>
#include <so_5/exception.hpp>
#include <so_5/spinlocks.hpp>
#include <so_5/mbox.hpp>
#include <so_5/event_queue.hpp>
#include <so_5/message_limit.hpp>
#include <so_5/impl/local_mbox_basic_subscription_info.hpp>
#include <so_5/impl/msg_tracing_helpers.hpp>
#include <so_5/impl/message_limit_internals.hpp>
#include <type_traits>

Go to the source code of this file.

Classes

struct  so_5::impl::mpsc_mbox_with_message_limits_t
 Helper class to be used in limitful-MPSC mbox. More...
 
struct  so_5::impl::mpsc_mbox_without_message_limits_t
 Helper class to be used in limitless-MPSC mbox. More...
 
class  so_5::impl::mpsc_mbox_template_t< Tracing_Base, message_limits_usage >
 A multi-producer/single-consumer mbox definition. More...
 

Namespaces

 so_5
 Public part of message limit implementation.
 
 so_5::impl
 Details of SObjectizer run-time implementations.
 

Typedefs

using so_5::impl::limitful_mpsc_mbox_without_tracing_t = mpsc_mbox_template_t< msg_tracing_helpers::tracing_disabled_base, mpsc_mbox_message_limits_usage_t::use >
 Alias for mpsc_mbox without message delivery tracing and message limits. More...
 
using so_5::impl::limitful_mpsc_mbox_with_tracing_t = mpsc_mbox_template_t< msg_tracing_helpers::tracing_enabled_base, mpsc_mbox_message_limits_usage_t::use >
 Alias for mpsc_mbox with message delivery tracing and message limits. More...
 
using so_5::impl::limitless_mpsc_mbox_without_tracing_t = mpsc_mbox_template_t< msg_tracing_helpers::tracing_disabled_base, mpsc_mbox_message_limits_usage_t::dont_use >
 Alias for mpsc_mbox without message delivery tracing and without message limits. More...
 
using so_5::impl::limitless_mpsc_mbox_with_tracing_t = mpsc_mbox_template_t< msg_tracing_helpers::tracing_enabled_base, mpsc_mbox_message_limits_usage_t::dont_use >
 Alias for mpsc_mbox with message delivery tracing and without message limits. More...
 

Enumerations

enum  so_5::impl::mpsc_mbox_message_limits_usage_t { so_5::impl::mpsc_mbox_message_limits_usage_t::use, so_5::impl::mpsc_mbox_message_limits_usage_t::dont_use }
 Indicator for using message limits by MPSC mbox. More...
 

Detailed Description

A multi-producer/single-consumer mbox definition.

Since
v.5.4.0