|
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. | |
Public Member Functions inherited from so_5::timer_manager_t | |
| 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 261 of file timers.cpp.
|
private |
Definition at line 263 of file timers.cpp.
|
inline |
Initializing constructor.
| manager | Real timer thread. |
| collector | Collector for elapsed timers. |
Definition at line 267 of file timers.cpp.
|
inlineoverridevirtual |
Implements so_5::timer_manager_t.
Definition at line 325 of file timers.cpp.
|
inlineoverridevirtual |
Translation of expired timers into message sends.
Implements so_5::timer_manager_t.
Definition at line 278 of file timers.cpp.
|
inlineoverridevirtual |
Get statistics for run-time monitoring.
Implements so_5::timer_manager_t.
Definition at line 331 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 291 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 310 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 284 of file timers.cpp.
|
private |
Definition at line 344 of file timers.cpp.
|
private |
Definition at line 342 of file timers.cpp.