SObjectizer  5.5
Public Member Functions | Private Types | Private Attributes | List of all members
so_5::timers_details::actual_thread_t< Timer_Thread > Class Template Reference

An actual implementation of timer thread. More...

Inheritance diagram for so_5::timers_details::actual_thread_t< Timer_Thread >:
so_5::timer_thread_t

Public Member Functions

 actual_thread_t (std::unique_ptr< Timer_Thread > thread)
 Initializing constructor. More...
 
virtual void start () override
 Launch timer. More...
 
virtual void finish () override
 Finish timer and wait for full stop. 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 timer_thread_stats_t query_stats () override
 Get statistics for run-time monitoring. More...
 
- Public Member Functions inherited from so_5::timer_thread_t
 timer_thread_t ()=default
 
virtual ~timer_thread_t ()=default
 

Private Types

typedef actual_timer_t< Timer_Thread > timer_demand_t
 

Private Attributes

std::unique_ptr< Timer_Thread > m_thread
 

Detailed Description

template<class Timer_Thread>
class so_5::timers_details::actual_thread_t< Timer_Thread >

An actual implementation of timer thread.

Since
v.5.5.0
Template Parameters
Timer_ThreadA type of timertt-based thread which implements timers.

Member Typedef Documentation

◆ timer_demand_t

template<class Timer_Thread >
typedef actual_timer_t< Timer_Thread > so_5::timers_details::actual_thread_t< Timer_Thread >::timer_demand_t
private

Constructor & Destructor Documentation

◆ actual_thread_t()

template<class Timer_Thread >
so_5::timers_details::actual_thread_t< Timer_Thread >::actual_thread_t ( std::unique_ptr< Timer_Thread >  thread)
inline

Initializing constructor.

Parameters
threadReal timer thread.

Member Function Documentation

◆ finish()

template<class Timer_Thread >
virtual void so_5::timers_details::actual_thread_t< Timer_Thread >::finish ( )
inlineoverridevirtual

Finish timer and wait for full stop.

Implements so_5::timer_thread_t.

◆ query_stats()

template<class Timer_Thread >
virtual timer_thread_stats_t so_5::timers_details::actual_thread_t< Timer_Thread >::query_stats ( )
inlineoverridevirtual

Get statistics for run-time monitoring.

Since
v.5.5.4

Implements so_5::timer_thread_t.

◆ schedule()

template<class Timer_Thread >
virtual timer_id_t so_5::timers_details::actual_thread_t< Timer_Thread >::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 
)
inlineoverridevirtual

Push delayed/periodic message to the timer queue.

A timer can be deactivated later by using returned timer_id.

Implements so_5::timer_thread_t.

◆ schedule_anonymous()

template<class Timer_Thread >
virtual void so_5::timers_details::actual_thread_t< Timer_Thread >::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 
)
inlineoverridevirtual

Push anonymous delayed/periodic message to the timer queue.

A timer cannot be deactivated later.

Implements so_5::timer_thread_t.

◆ start()

template<class Timer_Thread >
virtual void so_5::timers_details::actual_thread_t< Timer_Thread >::start ( )
inlineoverridevirtual

Launch timer.

Implements so_5::timer_thread_t.

Member Data Documentation

◆ m_thread

template<class Timer_Thread >
std::unique_ptr< Timer_Thread > so_5::timers_details::actual_thread_t< Timer_Thread >::m_thread
private

The documentation for this class was generated from the following file: