SObjectizer-5 Extra
Classes | Namespaces | Typedefs | Functions
pub.hpp File Reference

Implementation of revocable timers. More...

#include <so_5/version.hpp>
#include <so_5_extra/revocable_msg/pub.hpp>
#include <so_5_extra/error_ranges.hpp>
#include <so_5/timers.hpp>
#include <so_5/enveloped_msg.hpp>
#include <so_5/send_functions.hpp>
#include <atomic>

Go to the source code of this file.

Classes

class  so_5::extra::revocable_timer::timer_id_t
 The ID of revocable timer message/signal. More...
 
struct  so_5::extra::revocable_timer::impl::timer_id_maker_t
 
struct  so_5::extra::revocable_timer::impl::instantiator_and_sender_base< Message, Is_Signal >
 
struct  so_5::extra::revocable_timer::impl::instantiator_and_sender_base< Message, true >
 
struct  so_5::extra::revocable_timer::impl::instantiator_and_sender< Message >
 

Namespaces

 so_5
 Ranges for error codes of each submodules.
 
 so_5::extra
 
 so_5::extra::revocable_timer
 
 so_5::extra::revocable_timer::details
 
 so_5::extra::revocable_timer::impl
 

Typedefs

using so_5::extra::revocable_timer::details::envelope_t = so_5::extra::revocable_msg::details::envelope_t
 A special envelope to be used for revocable timer messages. More...
 

Functions

SO_5_NODISCARD so_5::extra::revocable_timer::timer_id_t so_5::extra::revocable_timer::impl::make_envelope_and_initiate_timer (const so_5::mbox_t &to, const std::type_index &msg_type, message_ref_t payload, std::chrono::steady_clock::duration pause, std::chrono::steady_clock::duration period)
 
template<typename Message , typename Target , typename... Args>
SO_5_NODISCARD timer_id_t so_5::extra::revocable_timer::send_periodic (Target &&target, std::chrono::steady_clock::duration pause, std::chrono::steady_clock::duration period, Args &&... args)
 A utility function for creating and delivering a periodic message to the specified destination. More...
 
template<typename Message >
SO_5_NODISCARD std::enable_if< !::so_5::is_signal< Message >::value, timer_id_t >::type so_5::extra::revocable_timer::send_periodic (const ::so_5::mbox_t &to, std::chrono::steady_clock::duration pause, std::chrono::steady_clock::duration period, ::so_5::mhood_t< Message > mhood)
 A utility function for delivering a periodic from an existing message hood. More...
 
template<typename Message >
SO_5_NODISCARD std::enable_if< ::so_5::is_signal< Message >::value, timer_id_t >::type so_5::extra::revocable_timer::send_periodic (const ::so_5::mbox_t &to, std::chrono::steady_clock::duration pause, std::chrono::steady_clock::duration period, ::so_5::mhood_t< Message >)
 A utility function for periodic redirection of a signal from existing message hood. More...
 
template<typename Message , typename Target >
SO_5_NODISCARD timer_id_t so_5::extra::revocable_timer::send_periodic (Target &&target, std::chrono::steady_clock::duration pause, std::chrono::steady_clock::duration period, ::so_5::mhood_t< Message > mhood)
 A helper function for redirection of a message/signal as a periodic message/signal. More...
 
template<typename Message , typename Target , typename... Args>
SO_5_NODISCARD timer_id_t so_5::extra::revocable_timer::send_delayed (Target &&target, std::chrono::steady_clock::duration pause, Args &&... args)
 A utility function for creating and delivering a delayed message to the specified destination. More...
 
template<typename Message >
SO_5_NODISCARD timer_id_t so_5::extra::revocable_timer::send_delayed (const so_5::mbox_t &to, std::chrono::steady_clock::duration pause, ::so_5::mhood_t< Message > cmd)
 A helper function for redirection of existing message/signal as delayed message. More...
 
template<typename Message , typename Target >
SO_5_NODISCARD timer_id_t so_5::extra::revocable_timer::send_delayed (Target &&target, std::chrono::steady_clock::duration pause, ::so_5::mhood_t< Message > cmd)
 A helper function for redirection of existing message/signal as delayed message. More...
 

Detailed Description

Implementation of revocable timers.

Since
v.1.2.0

Definition in file pub.hpp.