SObjectizer 5.8
|
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. | |
virtual void | process_expired_timers () override |
Translation of expired timers into message sends. | |
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). | |
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. | |
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. | |
virtual bool | empty () override |
virtual timer_thread_stats_t | query_stats () override |
Get statistics for run-time monitoring. | |
![]() | |
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. |
Definition at line 262 of file timers.cpp.
|
private |
Definition at line 264 of file timers.cpp.
|
inline |
Initializing constructor.
manager | Real timer thread. |
collector | Collector for elapsed timers. |
Definition at line 268 of file timers.cpp.
|
inlineoverridevirtual |
Implements so_5::timer_manager_t.
Definition at line 326 of file timers.cpp.
|
inlineoverridevirtual |
Translation of expired timers into message sends.
Implements so_5::timer_manager_t.
Definition at line 279 of file timers.cpp.
|
inlineoverridevirtual |
Get statistics for run-time monitoring.
Implements so_5::timer_manager_t.
Definition at line 332 of file timers.cpp.
|
inlineoverridevirtual |
Push delayed/periodic message to the timer queue.
A timer can be deactivated later by using returned timer_id.
type_index | Type of message to be sheduled. |
mbox | Mbox for message delivery. |
msg | Message to be sent. |
pause | Pause before first message delivery. |
period | Period for message repetition. Zero value means single shot delivery. |
Implements so_5::timer_manager_t.
Definition at line 292 of file timers.cpp.
|
inlineoverridevirtual |
Push anonymous delayed/periodic message to the timer queue.
A timer cannot be deactivated later.
type_index | Type of message to be sheduled. |
mbox | Mbox for message delivery. |
msg | Message to be sent. |
pause | Pause before first message delivery. |
period | Period for message repetition. Zero value means single shot delivery. |
Implements so_5::timer_manager_t.
Definition at line 311 of file timers.cpp.
|
inlineoverridevirtual |
Calculate time before the nearest timer (if any).
Return timeout before the nearest timer or default_timeout
if there is no any timer.
default_timer | Default timeout if there is no any timer. |
Implements so_5::timer_manager_t.
Definition at line 285 of file timers.cpp.
|
private |
Definition at line 345 of file timers.cpp.
|
private |
Definition at line 343 of file timers.cpp.