#include <internal_timer_manager.h>
Classes | |
struct | TimerInfo |
class | TimerQueueCallback |
Public Member Functions | |
int32_t | add (const D &period, const boost::function< void(const E &)> &callback, CallbackQueueInterface *callback_queue, const VoidConstPtr &tracked_object, bool oneshot) |
bool | hasPending (int32_t handle) |
void | remove (int32_t handle) |
void | setPeriod (int32_t handle, const D &period, bool reset=true) |
TimerManager () | |
~TimerManager () | |
Static Public Member Functions | |
static TimerManager & | global () |
Private Types | |
typedef std::list< int32_t > | L_int32 |
typedef boost::shared_ptr< TimerInfo > | TimerInfoPtr |
typedef boost::weak_ptr< TimerInfo > | TimerInfoWPtr |
typedef std::vector< TimerInfoPtr > | V_TimerInfo |
Private Member Functions | |
TimerInfoPtr | findTimer (int32_t handle) |
void | schedule (const TimerInfoPtr &info) |
void | threadFunc () |
void | updateNext (const TimerInfoPtr &info, const T ¤t_time) |
bool | waitingCompare (int32_t lhs, int32_t rhs) |
Private Attributes | |
uint32_t | id_counter_ |
boost::mutex | id_mutex_ |
volatile bool | new_timer_ |
bool | quit_ |
boost::thread | thread_ |
bool | thread_started_ |
V_TimerInfo | timers_ |
ros::internal::condition_variable_monotonic | timers_cond_ |
boost::mutex | timers_mutex_ |
L_int32 | waiting_ |
boost::mutex | waiting_mutex_ |
Definition at line 38 of file internal_timer_manager.h.
|
private |
Definition at line 102 of file timer_manager.h.
|
private |
Definition at line 98 of file timer_manager.h.
|
private |
Definition at line 99 of file timer_manager.h.
|
private |
Definition at line 100 of file timer_manager.h.
ros::TimerManager< T, D, E >::TimerManager | ( | ) |
Definition at line 224 of file timer_manager.h.
ros::TimerManager< T, D, E >::~TimerManager | ( | ) |
Definition at line 229 of file timer_manager.h.
int32_t ros::TimerManager< T, D, E >::add | ( | const D & | period, |
const boost::function< void(const E &)> & | callback, | ||
CallbackQueueInterface * | callback_queue, | ||
const VoidConstPtr & | tracked_object, | ||
bool | oneshot | ||
) |
Definition at line 296 of file timer_manager.h.
|
private |
Definition at line 256 of file timer_manager.h.
|
inlinestatic |
Definition at line 114 of file timer_manager.h.
bool ros::TimerManager< T, D, E >::hasPending | ( | int32_t | handle | ) |
Definition at line 272 of file timer_manager.h.
void ros::TimerManager< T, D, E >::remove | ( | int32_t | handle | ) |
Definition at line 345 of file timer_manager.h.
|
private |
Definition at line 386 of file timer_manager.h.
void ros::TimerManager< T, D, E >::setPeriod | ( | int32_t | handle, |
const D & | period, | ||
bool | reset = true |
||
) |
Definition at line 436 of file timer_manager.h.
|
private |
Definition at line 483 of file timer_manager.h.
|
private |
Definition at line 409 of file timer_manager.h.
|
private |
Definition at line 243 of file timer_manager.h.
|
private |
Definition at line 136 of file timer_manager.h.
|
private |
Definition at line 137 of file timer_manager.h.
|
private |
Definition at line 131 of file timer_manager.h.
|
private |
Definition at line 143 of file timer_manager.h.
|
private |
Definition at line 141 of file timer_manager.h.
|
private |
Definition at line 139 of file timer_manager.h.
|
private |
Definition at line 128 of file timer_manager.h.
|
private |
Definition at line 130 of file timer_manager.h.
|
private |
Definition at line 129 of file timer_manager.h.
|
private |
Definition at line 134 of file timer_manager.h.
|
private |
Definition at line 133 of file timer_manager.h.