SObjectizer  5.7
Classes | Namespaces | Typedefs | Functions
timers.hpp File Reference

Timers and tools for working with timers. More...

#include <chrono>
#include <functional>
#include <so_5/declspec.hpp>
#include <so_5/compiler_features.hpp>
#include <so_5/error_logger.hpp>
#include <so_5/atomic_refcounted.hpp>
#include <so_5/mbox.hpp>
#include <so_5/message.hpp>
#include <so_5/outliving.hpp>

Go to the source code of this file.

Classes

class  so_5::timer_t
 A base class for timer identificator. More...
 
class  so_5::timer_id_t
 An indentificator for the timer. More...
 
struct  so_5::timer_thread_stats_t
 Statistics for run-time monitoring. More...
 
class  so_5::timer_thread_t
 Timer thread interface. More...
 
class  so_5::timer_manager_t
 Timer manager interface. More...
 
class  so_5::timer_manager_t::elapsed_timers_collector_t
 An interface for collector of elapsed timers. More...
 

Namespaces

 so_5
 Public part of message limit implementation.
 
 so_5::internal_timer_helpers
 

Typedefs

using so_5::timer_thread_unique_ptr_t = std::unique_ptr< timer_thread_t >
 Auxiliary typedef for timer_thread autopointer. More...
 
using so_5::timer_thread_factory_t = std::function< timer_thread_unique_ptr_t(error_logger_shptr_t) >
 Type of factory for creating timer_thread objects. More...
 
using so_5::timer_manager_unique_ptr_t = std::unique_ptr< timer_manager_t >
 Auxiliary typedef for timer_manager autopointer. More...
 
using so_5::timer_manager_factory_t = std::function< timer_manager_unique_ptr_t(error_logger_shptr_t, outliving_reference_t< timer_manager_t::elapsed_timers_collector_t >) >
 Type of factory for creating timer_manager objects. More...
 

Functions

timer_thread_unique_ptr_t so_5::internal_timer_helpers::create_appropriate_timer_thread (error_logger_shptr_t error_logger, const timer_thread_factory_t &user_factory)
 Helper function for timer_thread creation. More...
 
Tools for creating timer threads.
SO_5_FUNC timer_thread_unique_ptr_t so_5::create_timer_wheel_thread ( error_logger_shptr_t logger)
 Create timer thread based on timer_wheel mechanism. More...
 
SO_5_FUNC timer_thread_unique_ptr_t so_5::create_timer_wheel_thread ( error_logger_shptr_t logger, unsigned int wheel_size, std::chrono::steady_clock::duration granuality)
 Create timer thread based on timer_wheel mechanism. More...
 
SO_5_FUNC timer_thread_unique_ptr_t so_5::create_timer_heap_thread ( error_logger_shptr_t logger)
 Create timer thread based on timer_heap mechanism. More...
 
SO_5_FUNC timer_thread_unique_ptr_t so_5::create_timer_heap_thread ( error_logger_shptr_t logger, std::size_t initial_heap_capacity)
 Create timer thread based on timer_heap mechanism. More...
 
SO_5_FUNC timer_thread_unique_ptr_t so_5::create_timer_list_thread ( error_logger_shptr_t logger)
 Create timer thread based on timer_list mechanism. More...
 
Standard timer thread factories.
timer_thread_factory_t so_5::timer_wheel_factory ()
 Factory for timer_wheel thread with default parameters. More...
 
timer_thread_factory_t so_5::timer_wheel_factory (unsigned int wheel_size, std::chrono::steady_clock::duration granularity)
 Factory for timer_wheel thread with explicitely specified parameters. More...
 
timer_thread_factory_t so_5::timer_heap_factory ()
 Factory for timer_heap thread with default parameters. More...
 
timer_thread_factory_t so_5::timer_heap_factory (std::size_t initial_heap_capacity)
 Factory for timer_heap thread with explicitely specified parameters. More...
 
timer_thread_factory_t so_5::timer_list_factory ()
 Factory for timer_list thread with default parameters. More...
 
Tools for creating timer managers.
SO_5_FUNC timer_manager_unique_ptr_t so_5::create_timer_wheel_manager ( error_logger_shptr_t logger, outliving_reference_t< timer_manager_t::elapsed_timers_collector_t > collector)
 Create timer manager based on timer_wheel mechanism. More...
 
SO_5_FUNC timer_manager_unique_ptr_t so_5::create_timer_wheel_manager ( error_logger_shptr_t logger, outliving_reference_t< timer_manager_t::elapsed_timers_collector_t > collector, unsigned int wheel_size, std::chrono::steady_clock::duration granuality)
 Create timer manager based on timer_wheel mechanism. More...
 
SO_5_FUNC timer_manager_unique_ptr_t so_5::create_timer_heap_manager ( error_logger_shptr_t logger, outliving_reference_t< timer_manager_t::elapsed_timers_collector_t > collector)
 Create timer manager based on timer_heap mechanism. More...
 
SO_5_FUNC timer_manager_unique_ptr_t so_5::create_timer_heap_manager ( error_logger_shptr_t logger, outliving_reference_t< timer_manager_t::elapsed_timers_collector_t > collector, std::size_t initial_heap_capacity)
 Create timer manager based on timer_heap mechanism. More...
 
SO_5_FUNC timer_manager_unique_ptr_t so_5::create_timer_list_manager ( error_logger_shptr_t logger, outliving_reference_t< timer_manager_t::elapsed_timers_collector_t > collector)
 Create timer thread based on timer_list mechanism. More...
 
Standard timer manager factories.
timer_manager_factory_t so_5::timer_wheel_manager_factory ()
 Factory for timer_wheel manager with default parameters. More...
 
timer_manager_factory_t so_5::timer_wheel_manager_factory (unsigned int wheel_size, std::chrono::steady_clock::duration granularity)
 Factory for timer_wheel manager with explicitely specified parameters. More...
 
timer_manager_factory_t so_5::timer_heap_manager_factory ()
 Factory for timer_heap manager with default parameters. More...
 
timer_manager_factory_t so_5::timer_heap_manager_factory (std::size_t initial_heap_capacity)
 Factory for timer_heap manager with explicitely specified parameters. More...
 
timer_manager_factory_t so_5::timer_list_manager_factory ()
 Factory for timer_list manager with default parameters. More...
 

Detailed Description

Timers and tools for working with timers.

Since
v.5.5.0