|
template<typename... Tracing_Args> |
| limitful_mpsc_mbox_template (mbox_id_t id, agent_t *single_consumer, const so_5::message_limit::impl::info_storage_t &limits_storage, Tracing_Args &&... tracing_args) |
|
void | do_deliver_message (const std::type_index &msg_type, const message_ref_t &message, unsigned int overlimit_reaction_deep) override |
| Deliver message for all subscribers with respect to message limits. More...
|
|
template<typename... Tracing_Args> |
| limitless_mpsc_mbox_template (mbox_id_t id, agent_t *single_consumer, Tracing_Args &&... tracing_args) |
|
mbox_id_t | id () const override |
| Unique ID of this mbox. More...
|
|
void | subscribe_event_handler (const std::type_index &, const message_limit::control_block_t *, agent_t &subscriber) override |
| Add the message handler. More...
|
|
void | unsubscribe_event_handlers (const std::type_index &, agent_t &subscriber) override |
| Remove all message handlers. More...
|
|
std::string | query_name () const override |
| Get the mbox name. More...
|
|
mbox_type_t | type () const override |
| Get the type of message box. More...
|
|
void | set_delivery_filter (const std::type_index &, const delivery_filter_t &, agent_t &) override |
|
void | drop_delivery_filter (const std::type_index &, agent_t &) noexcept override |
| Removes delivery filter for message type and subscriber. More...
|
|
environment_t & | environment () const noexcept override |
| SObjectizer Environment for which the mbox is created. More...
|
|
| abstract_message_box_t ()=default |
|
virtual | ~abstract_message_box_t () noexcept=default |
|
bool | operator== (const abstract_message_box_t &o) const noexcept |
|
bool | operator< (const abstract_message_box_t &o) const noexcept |
|
template<typename Tracing_Base>
class so_5::impl::limitful_mpsc_mbox_template< Tracing_Base >
A multi-producer/single-consumer mbox with message limit control.
- Since
- v.5.5.4
- Note
- Renamed from limitful_mpsc_mbox_t to limitful_mpsc_mbox_template in v.5.5.9.
- Attention
- Stores a reference to message limits storage. Because of that this reference must remains correct till the end of the mbox's lifetime.