SObjectizer  5.8
Loading...
Searching...
No Matches
mbox.hpp File Reference

Mbox definition. More...

#include <string>
#include <memory>
#include <typeindex>
#include <utility>
#include <so_5/declspec.hpp>
#include <so_5/compiler_features.hpp>
#include <so_5/exception.hpp>
#include <so_5/wait_indication.hpp>
#include <so_5/mbox_fwd.hpp>
#include <so_5/message.hpp>
#include <so_5/message_sink.hpp>
#include <so_5/mhood.hpp>

Go to the source code of this file.

Classes

class  so_5::delivery_filter_t
 An interface of delivery filter object. More...
 
class  so_5::low_level_api::lambda_as_filter_t< Lambda, Message >
 An implementation of delivery filter represented by lambda-function like object. More...
 
class  so_5::abstract_message_box_t
 Mail box class. More...
 

Namespaces

namespace  so_5
 Private part of message limit implementation.
 
namespace  so_5::low_level_api
 

Typedefs

using so_5::delivery_filter_unique_ptr_t
 An alias of unique_ptr for delivery_filter.
 

Enumerations

enum class  so_5::delivery_possibility_t { so_5::must_be_delivered , so_5::no_subscription , so_5::disabled_by_delivery_filter , so_5::hidden_by_envelope }
 Result of checking delivery posibility. More...
 
enum class  so_5::mbox_type_t { so_5::multi_producer_multi_consumer , so_5::multi_producer_single_consumer }
 Type of the message box. More...
 

Functions

void so_5::low_level_api::ensure_not_null (const delivery_filter_unique_ptr_t &ptr)
 Helper function that throws if a pointer to delivery_filter is null.
 
msink_t SO_5_FUNC so_5::wrap_to_msink (const mbox_t &mbox, priority_t sink_priority=prio::p0)
 Helper for wrapping an existing mbox into message_sink.
 
template<class Message >
void so_5::low_level_api::deliver_message (message_delivery_mode_t delivery_mode, abstract_message_box_t &target, std::type_index subscription_type, std::unique_ptr< Message > msg)
 Deliver message.
 
void so_5::low_level_api::deliver_message (message_delivery_mode_t delivery_mode, abstract_message_box_t &target, std::type_index subscription_type, message_ref_t msg)
 Deliver message.
 
template<class Message >
void so_5::low_level_api::deliver_signal (message_delivery_mode_t delivery_mode, abstract_message_box_t &target)
 Deliver signal.
 

Detailed Description

Mbox definition.

Definition in file mbox.hpp.