|
| template<typename... Tracing_Args> |
| | local_mbox_template (mbox_id_t id, Tracing_Args &&... args) |
| |
| virtual mbox_id_t | id () const override |
| | Unique ID of this mbox. More...
|
| |
| virtual 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...
|
| |
| virtual void | unsubscribe_event_handlers (const std::type_index &type_wrapper, agent_t *subscriber) override |
| | Remove all message handlers. More...
|
| |
| virtual std::string | query_name () const override |
| | Get the mbox name. More...
|
| |
| virtual mbox_type_t | type () const override |
| | Get the type of message box. More...
|
| |
| virtual void | do_deliver_message (const std::type_index &msg_type, const message_ref_t &message, unsigned int overlimit_reaction_deep) const override |
| | Deliver message for all subscribers with respect to message limits. More...
|
| |
| virtual void | do_deliver_service_request (const std::type_index &msg_type, const message_ref_t &message, unsigned int overlimit_reaction_deep) const override |
| | Deliver service request. More...
|
| |
| void | do_deliver_enveloped_msg (const std::type_index &msg_type, const message_ref_t &message, unsigned int overlimit_reaction_deep) override |
| | Deliver enveloped message. More...
|
| |
| virtual 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...
|
| |
| virtual void | drop_delivery_filter (const std::type_index &msg_type, agent_t &subscriber) SO_5_NOEXCEPT override |
| | Removes delivery filter for message type and subscriber. More...
|
| |
| | abstract_message_box_t ()=default |
| |
| virtual | ~abstract_message_box_t () SO_5_NOEXCEPT=default |
| |
| template<class Message > |
| void | deliver_message (std::type_index subscription_type, const intrusive_ptr_t< Message > &msg_ref) const |
| | Deliver message. More...
|
| |
| template<class Message > |
| void | deliver_message (const intrusive_ptr_t< Message > &msg_ref) const |
| | Deliver message. More...
|
| |
| template<class Message > |
| void | deliver_message (std::type_index subscription_type, std::unique_ptr< Message > msg_unique_ptr, message_mutability_t mutability) const |
| | Deliver message. More...
|
| |
| template<class Message > |
| void | deliver_message (std::unique_ptr< Message > msg_unique_ptr) const |
| | Deliver message. More...
|
| |
| template<class Message > |
| void | deliver_message (Message *msg_raw_ptr) const |
| | Deliver message. More...
|
| |
| template<class Message > |
| void | deliver_signal () const |
| | Deliver signal. More...
|
| |
| template<class Result > |
| service_invoke_proxy_t< Result > | get_one () |
| | Create a special proxy for service request invocation. More...
|
| |
| service_invoke_proxy_t< void > | run_one () |
| | Create a special proxy for service request invocation where return type is void. More...
|
| |
| void | deliver_message (const std::type_index &msg_type, const message_ref_t &message) const |
| | Deliver message for all subscribers. More...
|
| |
| void | deliver_service_request (const std::type_index &msg_type, const message_ref_t &message) const |
| | Deliver service request. More...
|
| |
| bool | operator== (const abstract_message_box_t &o) const SO_5_NOEXCEPT |
| |
| bool | operator< (const abstract_message_box_t &o) const SO_5_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, invocation_type_t invocation_type) const |
| |
| 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, invocation_type_t invocation_type) const |
| |
| void | do_deliver_service_request_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) const |
| |
| void | do_deliver_service_request_to_subscriber (typename Tracing_Base::deliver_op_tracer const &tracer, const local_mbox_details::subscriber_info_t &agent_info, 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) |
| |
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. |