8 #include <so_5/impl/st_env_infrastructure_reuse.hpp> 35 const ::asio::error_code & ec )
37 if( ec && ::asio::error::operation_aborted != ec )
38 SO_5_THROW_EXCEPTION( rc_unexpected_error,
39 "Only asio::operation_aborted error code can be handled " 68 ::asio::io_context & io_svc,
70 const std::type_index & type_index,
72 const message_ref_t & msg,
92 std::chrono::steady_clock::duration pause )
94 intrusive_ptr_t< singleshot_timer_holder_t > self{
this };
95 m_timer.expires_after( pause );
99 [self](
const ::asio::error_code & ec )
noexcept {
100 helpers::ensure_we_can_handle_this_timer_error_code( ec );
101 if( ::asio::error::operation_aborted == ec )
104 ::so_5::impl::mbox_iface_for_timers_t{ self->m_mbox }
105 .deliver_message_from_timer(
139 ::asio::io_context & io_svc,
141 const std::type_index & type_index,
143 const message_ref_t & msg,
147 std::chrono::steady_clock::duration period )
166 std::chrono::steady_clock::duration pause )
168 intrusive_ptr_t< periodic_timer_holder_t > self{
this };
169 m_timer.expires_after( pause );
173 [self](
const ::asio::error_code & ec )
noexcept {
174 helpers::ensure_we_can_handle_this_timer_error_code( ec );
175 if( ::asio::error::operation_aborted == ec )
178 ::so_5::impl::mbox_iface_for_timers_t{ self->m_mbox }
179 .deliver_message_from_timer(
182 self->schedule_from_now( self->m_period );
196 template<
typename Holder >
200 using holder_t = Holder;
204 holder_smart_ptr_t holder )
Ranges for error codes of each submodules.