|
template<typename... Tracing_Args> |
| local_mbox_template (mbox_id_t id, environment_t &env, Tracing_Args &&... args) |
|
mbox_id_t | id () const override |
| Unique ID of this mbox. More...
|
|
void | subscribe_event_handler (const std::type_index &type_wrapper, const so_5::message_limit::control_block_t *limit, agent_t &subscriber) override |
| Add the message handler. More...
|
|
void | unsubscribe_event_handlers (const std::type_index &type_wrapper, 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 | 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...
|
|
void | set_delivery_filter (const std::type_index &msg_type, const delivery_filter_t &filter, agent_t &subscriber) override |
| Set a delivery filter for message type and subscriber. More...
|
|
void | drop_delivery_filter (const std::type_index &msg_type, agent_t &subscriber) 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 Info_Maker , typename Info_Changer > |
void | insert_or_modify_subscriber (const std::type_index &type_wrapper, agent_t *subscriber, Info_Maker maker, Info_Changer changer) |
|
template<typename Info_Changer > |
void | modify_and_remove_subscriber_if_needed (const std::type_index &type_wrapper, agent_t *subscriber, Info_Changer changer) |
|
void | do_deliver_message_impl (typename Tracing_Base::deliver_op_tracer const &tracer, const std::type_index &msg_type, const message_ref_t &message, unsigned int overlimit_reaction_deep) |
|
void | do_deliver_message_to_subscriber (const local_mbox_details::subscriber_info_t &agent_info, typename Tracing_Base::deliver_op_tracer const &tracer, const std::type_index &msg_type, const message_ref_t &message, unsigned int overlimit_reaction_deep) const |
|
void | ensure_immutable_message (const std::type_index &msg_type, const message_ref_t &what) const |
| Ensures that message is an immutable message. More...
|
|
| data_t (mbox_id_t id, environment_t &env) |
|
template<typename Tracing_Base>
class so_5::impl::local_mbox_template< Tracing_Base >
A template with implementation of local mbox.
- Since
- v.5.5.9
- Template Parameters
-
Tracing_Base | base class with implementation of message delivery tracing methods. |