11 #include <so_5/version.hpp> 13 #if SO_5_VERSION < SO_5_VERSION_MAKE(5u
, 8u
, 0u
) 14 #error "SObjectizer-5.8.0 of newest is required" 17 #include <so_5_extra/error_ranges.hpp> 19 #include <so_5/impl/msg_tracing_helpers.hpp> 20 #include <so_5/impl/local_mbox_basic_subscription_info.hpp> 22 #include <so_5/details/sync_helpers.hpp> 23 #include <so_5/details/invoke_noexcept_code.hpp> 25 #include <so_5/mbox.hpp> 26 #include <so_5/send_functions.hpp> 28 #include <string_view> 133 struct msg_first_subscriber
final :
public so_5::signal_t {};
142 struct msg_last_subscriber
final :
public so_5::signal_t {};
172 abstract_message_sink_t * a,
173 abstract_message_sink_t * b )
const noexcept 175 return abstract_message_sink_t::special_sink_ptr_compare( a, b );
217 mbox_t notification_mbox,
218 mbox_type_t mbox_type )
245 typename Tracing_Base >
248 ,
private Tracing_Base
257 template<
typename... Tracing_Args >
264 mbox_t notification_mbox,
266 mbox_type_t mbox_type,
268 Tracing_Args &&... args )
280 "an attempt to make MPMC mbox for mutable message, " 298 const std::type_index & msg_type,
299 abstract_message_sink_t & subscriber )
override 303 "an attempt to subscribe with different message type" );
322 const std::type_index & msg_type,
323 abstract_message_sink_t & subscriber )
noexcept override 344 s <<
"<mbox:type=FIRST_LAST_SUBSCR_NOTIFY";
370 message_delivery_mode_t delivery_mode,
371 const std::type_index & msg_type,
372 const message_ref_t & message,
373 unsigned int redirection_deep )
override 377 "an attempt to deliver with different message type" );
402 const std::type_index & msg_type,
403 const delivery_filter_t & filter,
404 abstract_message_sink_t & subscriber )
override 408 "an attempt to set delivery_filter with " 409 "different message type" );
424 const std::type_index & msg_type,
425 abstract_message_sink_t & subscriber )
noexcept override 429 "an attempt to drop delivery_filter with " 430 "different message type" );
458 const std::type_index & msg_type,
459 std::string_view error_description )
473 typename Info_Changer,
474 typename Post_Action >
477 abstract_message_sink_t & subscriber,
479 Info_Changer changer,
480 Post_Action post_action )
519 typename Info_Changer,
520 typename Post_Action >
523 abstract_message_sink_t & subscriber,
524 Info_Changer changer,
525 Post_Action post_action )
564 typename Tracing_Base::deliver_op_tracer
const & tracer,
565 message_delivery_mode_t delivery_mode,
566 const std::type_index & msg_type,
567 const message_ref_t & message,
568 unsigned int redirection_deep )
589 abstract_message_sink_t & subscriber,
590 const subscriber_info_t & subscriber_info,
591 typename Tracing_Base::deliver_op_tracer
const & tracer,
592 message_delivery_mode_t delivery_mode,
593 const std::type_index & msg_type,
594 const message_ref_t & message,
595 unsigned int redirection_deep )
const 638 "subscriber already exists for MPSC mbox, new " 639 "subscriber can't be added" );
Ranges for error codes of each submodules.