Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
BT::TimerQueue< _Clock, _Duration > Class Template Reference

#include <timer_queue.h>

Classes

class  Queue
 
struct  WorkItem
 

Public Member Functions

uint64_t add (std::chrono::milliseconds milliseconds, std::function< void(bool)> handler)
 Adds a new timer. More...
 
size_t cancel (uint64_t id)
 Cancels the specified timer. More...
 
size_t cancelAll ()
 Cancels all timers. More...
 
 TimerQueue ()
 
 ~TimerQueue ()
 

Private Member Functions

std::pair< bool, std::chrono::time_point< _Clock, _Duration > > calcWaitTime ()
 
void checkWork ()
 
TimerQueueoperator= (const TimerQueue &)=delete
 
void run ()
 
 TimerQueue (const TimerQueue &)=delete
 

Private Attributes

details::Semaphore m_checkWork
 
bool m_finish = false
 
uint64_t m_idcounter = 0
 
BT::TimerQueue::Queue m_items
 
std::mutex m_mtx
 
std::thread m_th
 

Detailed Description

template<typename _Clock = std::chrono::steady_clock, typename _Duration = std::chrono::steady_clock::duration>
class BT::TimerQueue< _Clock, _Duration >

Definition at line 66 of file timer_queue.h.

Constructor & Destructor Documentation

template<typename _Clock = std::chrono::steady_clock, typename _Duration = std::chrono::steady_clock::duration>
BT::TimerQueue< _Clock, _Duration >::TimerQueue ( )
inline

Definition at line 69 of file timer_queue.h.

template<typename _Clock = std::chrono::steady_clock, typename _Duration = std::chrono::steady_clock::duration>
BT::TimerQueue< _Clock, _Duration >::~TimerQueue ( )
inline

Definition at line 74 of file timer_queue.h.

template<typename _Clock = std::chrono::steady_clock, typename _Duration = std::chrono::steady_clock::duration>
BT::TimerQueue< _Clock, _Duration >::TimerQueue ( const TimerQueue< _Clock, _Duration > &  )
privatedelete

Member Function Documentation

template<typename _Clock = std::chrono::steady_clock, typename _Duration = std::chrono::steady_clock::duration>
uint64_t BT::TimerQueue< _Clock, _Duration >::add ( std::chrono::milliseconds  milliseconds,
std::function< void(bool)>  handler 
)
inline

Adds a new timer.

Definition at line 86 of file timer_queue.h.

template<typename _Clock = std::chrono::steady_clock, typename _Duration = std::chrono::steady_clock::duration>
std::pair<bool, std::chrono::time_point<_Clock, _Duration> > BT::TimerQueue< _Clock, _Duration >::calcWaitTime ( )
inlineprivate

Definition at line 196 of file timer_queue.h.

template<typename _Clock = std::chrono::steady_clock, typename _Duration = std::chrono::steady_clock::duration>
size_t BT::TimerQueue< _Clock, _Duration >::cancel ( uint64_t  id)
inline

Cancels the specified timer.

Definition at line 108 of file timer_queue.h.

template<typename _Clock = std::chrono::steady_clock, typename _Duration = std::chrono::steady_clock::duration>
size_t BT::TimerQueue< _Clock, _Duration >::cancelAll ( )
inline

Cancels all timers.

Definition at line 145 of file timer_queue.h.

template<typename _Clock = std::chrono::steady_clock, typename _Duration = std::chrono::steady_clock::duration>
void BT::TimerQueue< _Clock, _Duration >::checkWork ( )
inlineprivate

Definition at line 218 of file timer_queue.h.

template<typename _Clock = std::chrono::steady_clock, typename _Duration = std::chrono::steady_clock::duration>
TimerQueue& BT::TimerQueue< _Clock, _Duration >::operator= ( const TimerQueue< _Clock, _Duration > &  )
privatedelete
template<typename _Clock = std::chrono::steady_clock, typename _Duration = std::chrono::steady_clock::duration>
void BT::TimerQueue< _Clock, _Duration >::run ( )
inlineprivate

Definition at line 169 of file timer_queue.h.

Member Data Documentation

template<typename _Clock = std::chrono::steady_clock, typename _Duration = std::chrono::steady_clock::duration>
details::Semaphore BT::TimerQueue< _Clock, _Duration >::m_checkWork
private

Definition at line 233 of file timer_queue.h.

template<typename _Clock = std::chrono::steady_clock, typename _Duration = std::chrono::steady_clock::duration>
bool BT::TimerQueue< _Clock, _Duration >::m_finish = false
private

Definition at line 235 of file timer_queue.h.

template<typename _Clock = std::chrono::steady_clock, typename _Duration = std::chrono::steady_clock::duration>
uint64_t BT::TimerQueue< _Clock, _Duration >::m_idcounter = 0
private

Definition at line 236 of file timer_queue.h.

template<typename _Clock = std::chrono::steady_clock, typename _Duration = std::chrono::steady_clock::duration>
BT::TimerQueue::Queue BT::TimerQueue< _Clock, _Duration >::m_items
private
template<typename _Clock = std::chrono::steady_clock, typename _Duration = std::chrono::steady_clock::duration>
std::mutex BT::TimerQueue< _Clock, _Duration >::m_mtx
private

Definition at line 249 of file timer_queue.h.

template<typename _Clock = std::chrono::steady_clock, typename _Duration = std::chrono::steady_clock::duration>
std::thread BT::TimerQueue< _Clock, _Duration >::m_th
private

Definition at line 234 of file timer_queue.h.


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


behaviotree_cpp_v3
Author(s): Michele Colledanchise, Davide Faconti
autogenerated on Tue May 4 2021 02:56:26