protlib::TimerManager Class Reference
[Timer]

Timer Manager. More...

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

Collaboration diagram for protlib::TimerManager:

Collaboration graph
[legend]

List of all members.

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 hash_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
timercollect_elapsed ()
 collect elapsed timers
uint32 process_elapsed ()
 process elapsed timers
timerfirst ()
 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


Detailed Description

Timer Manager.

Creates, sets, resets, stops, checks and deletes timers.

Definition at line 88 of file timer.h.


Member Typedef Documentation

typedef timer_hashmap_t::iterator protlib::TimerManager::timer_hashmap_it_t [private]

hashmap iterator

Definition at line 128 of file timer.h.

timer manager hashmap

Definition at line 126 of file timer.h.

typedef list<timer*> protlib::TimerManager::timerlist_t [private]

timer list type

Definition at line 130 of file timer.h.


Member Function Documentation

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().


Member Data Documentation

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]

elapsed timer list

Definition at line 152 of file timer.h.

Referenced by collect_elapsed(), and process_elapsed().

pthread_mutex_t protlib::TimerManager::mutex [private]

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().


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

Generated on Fri Aug 14 23:39:54 2009 for Ariba by  doxygen 1.5.8