SWC-DB  v0.5.12 C++ documentations
SWC-DB© (Super Wide Column Database) - High Performance Scalable Database (https://github.com/kashirin-alex/swc-db)
SWC::Comm::PeriodicTimers Class Referencefinal

#include <swcdb/core/comm/PeriodicTimer.h>

+ Inheritance diagram for SWC::Comm::PeriodicTimers:
+ Collaboration diagram for SWC::Comm::PeriodicTimers:

Public Member Functions

 PeriodicTimers () noexcept
 
 ~PeriodicTimers () noexcept
 
void stop ()
 
void set (const Config::Property::Value_int32_g::Ptr ms, PeriodicTimer::Call_t &&call, const IoContextPtr &ioctx)
 

Private Attributes

Core::MutexSptd m_mutex
 

Additional Inherited Members

- Private Types inherited from SWC::Core::Vector< std::unique_ptr< PeriodicTimer > >
using value_type = std::unique_ptr< PeriodicTimer >
 
using size_type = uint32_t
 
typedef value_typepointer
 
typedef const value_typeconst_pointer
 
typedef value_typeiterator
 
typedef const value_typeconst_iterator
 
typedef value_typereference
 
typedef const value_typeconst_reference
 
- Private Member Functions inherited from SWC::Core::Vector< std::unique_ptr< PeriodicTimer > >
constexpr SWC_CAN_INLINE Vector () noexcept
 
SWC_CAN_INLINE Vector (size_type sz, ArgsT &&... args)
 
constexpr SWC_CAN_INLINE Vector (Vector &&other) noexcept
 
SWC_CAN_INLINE Vector (const Vector &other)
 
SWC_CAN_INLINE Vector (const_iterator _b, const_iterator _e)
 
SWC_CAN_INLINE Vector (std::initializer_list< value_type > &&l)
 
SWC_CAN_INLINE ~Vector () noexcept(_NoExceptDestructor)
 
SWC_CAN_INLINE void clear () noexcept(_NoExceptDestructor)
 
SWC_CAN_INLINE void free () noexcept
 
SWC_CAN_INLINE Vectoroperator= (Vector &&other) noexcept
 
SWC_CAN_INLINE Vectoroperator= (const Vector &other)
 
SWC_CAN_INLINE void swap (Vector &other) noexcept
 
constexpr SWC_CAN_INLINE bool empty () const noexcept
 
constexpr SWC_CAN_INLINE bool operator== (const Vector &other) const noexcept
 
constexpr SWC_CAN_INLINE bool operator!= (const Vector &other) const noexcept
 
constexpr SWC_CAN_INLINE size_type size () const noexcept
 
constexpr SWC_CAN_INLINE size_type capacity () const noexcept
 
constexpr SWC_CAN_INLINE pointer data () noexcept
 
constexpr SWC_CAN_INLINE const_pointer data () const noexcept
 
constexpr SWC_CAN_INLINE iterator begin () noexcept
 
constexpr SWC_CAN_INLINE const_iterator begin () const noexcept
 
constexpr SWC_CAN_INLINE const_iterator cbegin () const noexcept
 
constexpr SWC_CAN_INLINE iterator end () noexcept
 
constexpr SWC_CAN_INLINE const_iterator end () const noexcept
 
constexpr SWC_CAN_INLINE const_iterator cend () const noexcept
 
constexpr SWC_CAN_INLINE reference front () noexcept
 
constexpr SWC_CAN_INLINE const_reference front () const noexcept
 
constexpr SWC_CAN_INLINE reference back () noexcept
 
constexpr SWC_CAN_INLINE const_reference back () const noexcept
 
constexpr SWC_CAN_INLINE reference operator[] (size_type pos) noexcept
 
constexpr SWC_CAN_INLINE const_reference operator[] (size_type pos) const noexcept
 
SWC_CAN_INLINE void shrink_to_fit (size_type sz=0)
 
SWC_CAN_INLINE void reserve (size_type cap)
 
SWC_CAN_INLINE void reserve ()
 
SWC_CAN_INLINE void resize (size_type sz, ArgsT &&... args)
 
SWC_CAN_INLINE void push_back (ArgsT &&... args)
 
SWC_CAN_INLINE void push_back_unsafe (ArgsT &&... args) noexcept(std::is_nothrow_constructible_v< value_type, ArgsT... >)
 
SWC_CAN_INLINE reference emplace_back (ArgsT &&... args)
 
SWC_CAN_INLINE reference emplace_back_unsafe (ArgsT &&... args) noexcept(std::is_nothrow_constructible_v< value_type, ArgsT... >)
 
SWC_CAN_INLINE iterator insert (size_type offset, ArgsT &&... args)
 
SWC_CAN_INLINE iterator insert (const_iterator it, ArgsT &&... args)
 
SWC_CAN_INLINE iterator insert (size_type offset, const_iterator first, const_iterator last)
 
SWC_CAN_INLINE iterator insert (const_iterator it, const_iterator first, const_iterator last)
 
SWC_CAN_INLINE reference emplace (const_iterator it, ArgsT &&... args)
 
SWC_CAN_INLINE iterator insert_unsafe (const_iterator it, ArgsT &&... args) noexcept(_NoExceptMove &&_NoExceptDestructor &&std::is_nothrow_constructible_v< value_type, ArgsT... >)
 
SWC_CAN_INLINE void assign (IteratorT first, IteratorT last)
 
SWC_CAN_INLINE iterator erase (size_type offset) noexcept(_NoExceptMoveAssign &&_NoExceptDestructor)
 
SWC_CAN_INLINE iterator erase (const_iterator it) noexcept(_NoExceptMoveAssign &&_NoExceptDestructor)
 
SWC_CAN_INLINE iterator erase (const_iterator first, const_iterator last) noexcept(_NoExceptMoveAssign &&_NoExceptDestructor)
 
SWC_CAN_INLINE void pop_back () noexcept(_NoExceptDestructor)
 
- Static Private Member Functions inherited from SWC::Core::Vector< std::unique_ptr< PeriodicTimer > >
constexpr static SWC_CAN_INLINE size_type max_size () noexcept
 

Detailed Description

Definition at line 44 of file PeriodicTimer.h.

Constructor & Destructor Documentation

◆ PeriodicTimers()

SWC::Comm::PeriodicTimers::PeriodicTimers ( )
inlinenoexcept

Definition at line 48 of file PeriodicTimer.h.

◆ ~PeriodicTimers()

SWC::Comm::PeriodicTimers::~PeriodicTimers ( )
noexcept

Definition at line 47 of file PeriodicTimer.cc.

Member Function Documentation

◆ set()

void SWC::Comm::PeriodicTimers::set ( const Config::Property::Value_int32_g::Ptr  ms,
PeriodicTimer::Call_t &&  call,
const IoContextPtr ioctx 
)

Definition at line 56 of file PeriodicTimer.cc.

References SWC::Core::Vector< std::unique_ptr< PeriodicTimer > >::emplace_back(), and m_mutex.

Referenced by SWC::Comm::IoContext::set_periodic_timer().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ stop()

void SWC::Comm::PeriodicTimers::stop ( )

Definition at line 49 of file PeriodicTimer.cc.

References SWC::Core::Vector< std::unique_ptr< PeriodicTimer > >::clear(), and m_mutex.

Referenced by SWC::Comm::IoContext::stop().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_mutex

Core::MutexSptd SWC::Comm::PeriodicTimers::m_mutex
private

Definition at line 59 of file PeriodicTimer.h.

Referenced by set(), and stop().


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