Timer Manager. More...
#include <source/ariba/utility/transport/tcpip/protlib/timer.h>

Classes | |
| struct | timer |
| timer item More... | |
Public Member Functions | |
| TimerManager () | |
| constructor | |
| ~TimerManager () | |
| destructor | |
| timer_id_t | start_relative (TimerCallback *tc, int32 sec, int32 msec=0, timer_callback_param_t tcp=NULL) |
| start relative timer | |
| timer_id_t | start_absolute (TimerCallback *tc, int32 sec, int32 msec=0, timer_callback_param_t tcp=NULL) |
| start absolute timer | |
| bool | restart_relative (timer_id_t id, int32 sec, int32 msec=0) |
| restart relative timer | |
| bool | restart_absolute (timer_id_t id, int32 sec, int32 msec=0) |
| restart absolute timer | |
| bool | stop (timer_id_t id) |
| stop timer | |
| uint32 | check_timers () |
| check for elapsed timers | |
| uint32 | check_timers_wait (int32 msec) |
| check for elapsed timers or wait for next timer event. | |
| uint32 | stop_all () |
| stop all timers | |
Private Types | |
| typedef boost::unordered_map < timer_id_t, timer * > | timer_hashmap_t |
| timer manager hashmap | |
| typedef timer_hashmap_t::iterator | timer_hashmap_it_t |
| hashmap iterator | |
| typedef list< timer * > | timerlist_t |
| timer list type | |
Private Member Functions | |
| uint32 | cleanup () |
| cleanup hashmap and list | |
| void | insert_into_list (timer *t) |
| insert into list | |
| void | delete_from_list (timer *t) |
| delete timer from list | |
| timer * | collect_elapsed () |
| collect elapsed timers | |
| uint32 | process_elapsed () |
| process elapsed timers | |
| timer * | first () |
| return first element of active timer list | |
Private Attributes | |
| pthread_mutex_t | mutex |
| timer manager mutex | |
| pthread_mutexattr_t | mutex_attr |
| timer manager mutex attributes | |
| pthread_cond_t | cond |
| timer manager condition | |
| timerlist_t | active_timerlist |
| sorted timer list (should be replaced by a heap for performance reasons...) | |
| timerlist_t | elapsed_timerlist |
| elapsed timer list | |
| timer_hashmap_t | hashmap |
Timer Manager.
Creates, sets, resets, stops, checks and deletes timers.
Definition at line 88 of file timer.h.
typedef timer_hashmap_t::iterator protlib::TimerManager::timer_hashmap_it_t [private] |
typedef boost::unordered_map<timer_id_t,timer*> protlib::TimerManager::timer_hashmap_t [private] |
typedef list<timer*> protlib::TimerManager::timerlist_t [private] |
| timer* protlib::TimerManager::first | ( | ) | [inline, private] |
return first element of active timer list
Definition at line 154 of file timer.h.
References active_timerlist.
Referenced by check_timers_wait(), collect_elapsed(), and delete_from_list().
sorted timer list (should be replaced by a heap for performance reasons...)
Definition at line 150 of file timer.h.
Referenced by cleanup(), collect_elapsed(), delete_from_list(), first(), and insert_into_list().
pthread_cond_t protlib::TimerManager::cond [private] |
timer manager condition
Definition at line 148 of file timer.h.
Referenced by check_timers_wait(), collect_elapsed(), restart_absolute(), restart_relative(), start_absolute(), start_relative(), stop(), stop_all(), TimerManager(), and ~TimerManager().
elapsed timer list
Definition at line 152 of file timer.h.
Referenced by collect_elapsed(), and process_elapsed().
Definition at line 155 of file timer.h.
Referenced by cleanup(), collect_elapsed(), restart_absolute(), restart_relative(), start_absolute(), start_relative(), and stop().
pthread_mutex_t protlib::TimerManager::mutex [private] |
timer manager mutex
Definition at line 143 of file timer.h.
Referenced by check_timers(), check_timers_wait(), restart_absolute(), restart_relative(), start_absolute(), start_relative(), stop(), stop_all(), TimerManager(), and ~TimerManager().
pthread_mutexattr_t protlib::TimerManager::mutex_attr [private] |
timer manager mutex attributes
Definition at line 145 of file timer.h.
Referenced by TimerManager(), and ~TimerManager().
1.6.1