SObjectizer
5.5
|
An actual implementation of timer_manager. More...
Public Member Functions | |
actual_manager_t (std::unique_ptr< Timer_Manager > manager, outliving_reference_t< timer_manager_t::elapsed_timers_collector_t > collector) | |
Initializing constructor. More... | |
virtual void | process_expired_timers () override |
Translation of expired timers into message sends. More... | |
virtual std::chrono::steady_clock::duration | timeout_before_nearest_timer (std::chrono::steady_clock::duration default_timer) override |
Calculate time before the nearest timer (if any). More... | |
virtual timer_id_t | schedule (const std::type_index &type_index, const mbox_t &mbox, const message_ref_t &msg, std::chrono::steady_clock::duration pause, std::chrono::steady_clock::duration period) override |
Push delayed/periodic message to the timer queue. More... | |
virtual void | schedule_anonymous (const std::type_index &type_index, const mbox_t &mbox, const message_ref_t &msg, std::chrono::steady_clock::duration pause, std::chrono::steady_clock::duration period) override |
Push anonymous delayed/periodic message to the timer queue. More... | |
virtual bool | empty () override |
virtual timer_thread_stats_t | query_stats () override |
Get statistics for run-time monitoring. More... | |
![]() | |
timer_manager_t () noexcept=default | |
virtual | ~timer_manager_t () noexcept=default |
Private Types | |
using | timer_demand_t = actual_timer_t< Timer_Manager > |
Private Attributes | |
std::unique_ptr< Timer_Manager > | m_manager |
outliving_reference_t< timer_manager_t::elapsed_timers_collector_t > | m_collector |
An actual implementation of timer_manager.
Timer_Manager | A type of timertt-based manager which implements timers. |
|
private |
|
inline |
Initializing constructor.
manager | Real timer thread. |
collector | Collector for elapsed timers. |
|
inlineoverridevirtual |
Implements so_5::timer_manager_t.
|
inlineoverridevirtual |
Translation of expired timers into message sends.
Implements so_5::timer_manager_t.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Push delayed/periodic message to the timer queue.
A timer can be deactivated later by using returned timer_id.
Implements so_5::timer_manager_t.
|
inlineoverridevirtual |
Push anonymous delayed/periodic message to the timer queue.
A timer cannot be deactivated later.
Implements so_5::timer_manager_t.
|
inlineoverridevirtual |
Calculate time before the nearest timer (if any).
Return timeout before the nearest timer or default_timeout
if there is no any timer.
Implements so_5::timer_manager_t.
|
private |
|
private |