SObjectizer 5.8
Loading...
Searching...
No Matches
timertt::timer_heap_thread_template< Timer_Action, Error_Logger, Actor_Exception_Handler > Class Template Reference

A timer heap thread template. More...

#include <all.hpp>

Inheritance diagram for timertt::timer_heap_thread_template< Timer_Action, Error_Logger, Actor_Exception_Handler >:
timertt::details::thread_impl_template< details::timer_heap_engine< ::timertt::thread_safety::safe, Timer_Action, Error_Logger, Actor_Exception_Handler > > timertt::details::basic_methods_impl_mixin< details::timer_heap_engine< ::timertt::thread_safety::safe, Timer_Action, Error_Logger, Actor_Exception_Handler >, consumer_type::thread > timertt::details::timer_heap_engine_defaults

Public Member Functions

 timer_heap_thread_template ()
 Default constructor.
 
 timer_heap_thread_template (std::size_t initial_heap_capacity)
 Constructor to specify initial capacity of heap-array.
 
 timer_heap_thread_template (std::size_t initial_heap_capacity, Error_Logger error_logger, Actor_Exception_Handler exception_handler)
 Constructor with all parameters.
 
- Public Member Functions inherited from timertt::details::thread_impl_template< details::timer_heap_engine< ::timertt::thread_safety::safe, Timer_Action, Error_Logger, Actor_Exception_Handler > >
 thread_impl_template (Args &&... args)
 Constructor with all parameters.
 
 ~thread_impl_template ()
 Destructor.
 
void start ()
 Start timer thread.
 
void shutdown ()
 Initiate shutdown for the timer thread without waiting for completion.
 
void join ()
 Wait for completion of timer thread.
 
void shutdown_and_join ()
 Initiate shutdown and wait for completion.
 
- Public Member Functions inherited from timertt::details::basic_methods_impl_mixin< details::timer_heap_engine< ::timertt::thread_safety::safe, Timer_Action, Error_Logger, Actor_Exception_Handler >, consumer_type::thread >
 basic_methods_impl_mixin (Args &&... args)
 Constructor with all parameters.
 
timer_holder allocate ()
 Allocate of new timer object.
 
void activate (timer_holder timer, Duration_1 pause, timer_action action)
 Activate timer and schedule it for execution.
 
void activate (scoped_timer_object &timer, Duration_1 pause, timer_action action)
 Activate a scoped timer and schedule it for execution.
 
void activate (Duration_1 pause, timer_action action)
 Activate timer and schedule it for execution.
 
void activate (timer_holder timer, Duration_1 pause, Duration_2 period, timer_action action)
 Activate timer and schedule it for execution.
 
void activate (scoped_timer_object &timer, Duration_1 pause, Duration_2 period, timer_action action)
 Activate a scoped timer and schedule it for execution.
 
void activate (Duration_1 pause, Duration_2 period, timer_action action)
 Activate timer and schedule it for execution.
 
void reschedule (timer_holder timer, Duration_1 pause, timer_action action)
 Perform an attempt to reschedule a timer.
 
void reschedule (timer_holder timer, Duration_1 pause, Duration_2 period, timer_action action)
 Perform an attempt to reschedule a timer.
 
void deactivate (timer_holder timer)
 Deactivate timer and remove it from the list.
 
void deactivate (scoped_timer_object &timer)
 Deactivate timer and remove it from the list.
 
timer_quantities get_timer_quantities ()
 Count of timers of various types.
 
bool empty ()
 Check for emptiness.
 

Private Types

using base_type
 Shorthand for base type.
 

Additional Inherited Members

- Public Types inherited from timertt::details::basic_methods_impl_mixin< details::timer_heap_engine< ::timertt::thread_safety::safe, Timer_Action, Error_Logger, Actor_Exception_Handler >, consumer_type::thread >
using thread_safety
 A typedef for thread safety type from Engine.
 
using timer_action
 An alias for timer_action type.
 
using scoped_timer_object
 An alias for scoped timer objects.
 
using timer_holder
 Shorthand for timer objects' smart pointer.
 
- Static Public Member Functions inherited from timertt::details::timer_heap_engine_defaults
static std::size_t default_initial_heap_capacity ()
 Default initial capacity of heap-array.
 
- Protected Member Functions inherited from timertt::details::thread_impl_template< details::timer_heap_engine< ::timertt::thread_safety::safe, Timer_Action, Error_Logger, Actor_Exception_Handler > >
void body ()
 Thread body.
 
void sleep_for_next_event (typename base_type::lock_guard &lock)
 Waiting for next event to process.
 
- Protected Attributes inherited from timertt::details::thread_impl_template< details::timer_heap_engine< ::timertt::thread_safety::safe, Timer_Action, Error_Logger, Actor_Exception_Handler > >
bool m_shutdown
 Shutdown flag.
 
- Protected Attributes inherited from timertt::details::basic_methods_impl_mixin< details::timer_heap_engine< ::timertt::thread_safety::safe, Timer_Action, Error_Logger, Actor_Exception_Handler >, consumer_type::thread >
details::timer_heap_engine< ::timertt::thread_safety::safe, Timer_Action, Error_Logger, Actor_Exception_Handler > m_engine
 Actual timer engine instance.
 

Detailed Description

template<typename Timer_Action, typename Error_Logger, typename Actor_Exception_Handler>
class timertt::timer_heap_thread_template< Timer_Action, Error_Logger, Actor_Exception_Handler >

A timer heap thread template.

Note
Please see description of details::timer_heap_engine for the details about this timer mechanism.
Template Parameters
Error_Loggertype of logger for errors detected during timer thread execution. Interface for error logger is defined by default_error_logger class.
Timer_Actiontype of functor to perform an user-defined action when timer expires. This must be Moveable and MoveConstructible type.
Actor_Exception_Handlertype of handler for dealing with exceptions thrown from timer actors. Interface for exception handler is defined by default_actor_exception_handler.

Definition at line 4008 of file 3rd_party/timertt/all.hpp.

Member Typedef Documentation

◆ base_type

template<typename Timer_Action , typename Error_Logger , typename Actor_Exception_Handler >
using timertt::timer_heap_thread_template< Timer_Action, Error_Logger, Actor_Exception_Handler >::base_type
private
Initial value:
details::thread_impl_template<
details::timer_heap_engine<
Timer_Action,
Error_Logger,
Actor_Exception_Handler > >
Indicator for thread-safe implemetation.

Shorthand for base type.

Definition at line 4018 of file 3rd_party/timertt/all.hpp.

Constructor & Destructor Documentation

◆ timer_heap_thread_template() [1/3]

template<typename Timer_Action , typename Error_Logger , typename Actor_Exception_Handler >
timertt::timer_heap_thread_template< Timer_Action, Error_Logger, Actor_Exception_Handler >::timer_heap_thread_template ( )
inline

Default constructor.

Value default_initial_heap_capacity() is used as initial heap array size.

Definition at line 4032 of file 3rd_party/timertt/all.hpp.

◆ timer_heap_thread_template() [2/3]

template<typename Timer_Action , typename Error_Logger , typename Actor_Exception_Handler >
timertt::timer_heap_thread_template< Timer_Action, Error_Logger, Actor_Exception_Handler >::timer_heap_thread_template ( std::size_t initial_heap_capacity)
inline

Constructor to specify initial capacity of heap-array.

Parameters
initial_heap_capacityAn initial size for heap array.

Definition at line 4040 of file 3rd_party/timertt/all.hpp.

◆ timer_heap_thread_template() [3/3]

template<typename Timer_Action , typename Error_Logger , typename Actor_Exception_Handler >
timertt::timer_heap_thread_template< Timer_Action, Error_Logger, Actor_Exception_Handler >::timer_heap_thread_template ( std::size_t initial_heap_capacity,
Error_Logger error_logger,
Actor_Exception_Handler exception_handler )
inline

Constructor with all parameters.

Parameters
initial_heap_capacityAn initial size for heap array.
error_loggerAn error logger for timer thread.
exception_handlerAn actor exception handler for timer thread.

Definition at line 4050 of file 3rd_party/timertt/all.hpp.


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