11 #include <so_5/h/version.hpp> 13 #if (SO_5_VERSION < SO_5_VERSION_MAKE(5
, 23
, 0
)) 14 #error "SObjectizer v.5.5.23 or above is required" 17 #include <so_5_extra/revocable_msg/pub.hpp> 19 #include <so_5_extra/error_ranges.hpp> 21 #include <so_5/h/timers.hpp> 22 #include <so_5/rt/h/enveloped_msg.hpp> 23 #include <so_5/rt/h/send_functions.hpp> 110 class timer_id_t
final 125 ::so_5::intrusive_ptr_t< details::envelope_t > envelope,
126 ::so_5::timer_id_t actual_id )
144 timer_id_t &
operator=(
const timer_id_t & ) =
delete;
147 timer_id_t( timer_id_t && )
noexcept =
default;
148 timer_id_t &
operator=( timer_id_t && )
noexcept =
default;
151 swap( timer_id_t & a, timer_id_t & b )
noexcept 153 a.m_envelope.swap( b.m_envelope );
154 a.m_actual_id.swap( b.m_actual_id );
186 return m_actual_id.is_active();
199 m_envelope->revoke();
200 m_actual_id.release();
221 template<
typename...
Args >
263 template<
class Message,
bool Is_Signal >
266 template<
typename...
Args >
292 template<
class Message >
315 template<
class Message >
362 template<
typename Message,
typename... Args >
363 SO_5_NODISCARD timer_id_t
376 return impl::instantiator_and_sender< Message >::send_periodic(
377 env, to, pause, period, std::forward< Args >( args )... );
425 template<
typename Message,
typename Target,
typename... Args >
426 SO_5_NODISCARD timer_id_t
437 return ::so_5::extra::revocable_timer::send_periodic< Message >(
438 ::so_5::send_functions_details::arg_to_env( target ),
439 ::so_5::send_functions_details::arg_to_mbox( target ),
442 std::forward< Args >(args)... );
Ranges for error codes of each submodules.
static SO_5_NODISCARD ::so_5::extra::revocable_timer::timer_id_t send_periodic(::so_5::environment_t &env, const ::so_5::mbox_t &to, std::chrono::steady_clock::duration pause, std::chrono::steady_clock::duration period, Args &&... args)