modules/tm/timer.c File Reference

TM :: Transaction timers. More...

#include "config.h"
#include "h_table.h"
#include "timer.h"
#include "../../dprint.h"
#include "lock.h"
#include "../../hash_func.h"
#include "../../config.h"
#include "../../parser/parser_f.h"
#include "../../ut.h"
#include "t_funcs.h"
#include "t_reply.h"
#include "t_cancel.h"

Include dependency graph for modules/tm/timer.c:

Go to the source code of this file.

Defines

#define DETACHED_LIST   (&detached_timer)
#define is_in_timer_list2(_tl)
#define run_handler_for_each(_tl, _handler)
#define UTIME_TYPE   1

Functions

static struct timer_linkcheck_and_split_time_list (struct timer *timer_list, utime_t time)
void cleanup_localcancel_timers (struct cell *t)
static void delete_cell (struct cell *p_cell, int unlock)
static void delete_handler (struct timer_link *dele_tl)
static void fake_reply (struct cell *t, int branch, int code)
static void final_response_handler (struct timer_link *fr_tl)
void free_timer_table (void)
struct timer_tableget_timertable (void)
void init_timer_list (enum lists list_id)
static void insert_timer_unsafe (struct timer *timer_list, struct timer_link *tl, utime_t time_out)
void print_timer_list (enum lists list_id)
static void remove_timer_unsafe (struct timer_link *tl)
void reset_timer (struct timer_link *tl)
void reset_timer_list (enum lists list_id)
static void retransmission_handler (struct timer_link *retr_tl)
void set_1timer (struct timer_link *new_tl, enum lists list_id, utime_t *ext_timeout)
void set_timer (struct timer_link *new_tl, enum lists list_id, utime_t *ext_timeout)
void timer_routine (unsigned int ticks, void *attr)
struct timer_tabletm_init_timers (void)
void unlink_timer_lists (void)
static void unlink_timers (struct cell *t)
void utimer_routine (utime_t uticks, void *attr)
static void wait_handler (struct timer_link *wait_tl)

Variables

static struct timer detached_timer
int timer_group [NR_OF_TIMER_LISTS]
unsigned int timer_id2timeout [NR_OF_TIMER_LISTS]
static unsigned int timer_id2type [NR_OF_TIMER_LISTS]
static struct timer_tabletimertable = 0


Detailed Description

TM :: Transaction timers.

Definition in file modules/tm/timer.c.


Define Documentation

#define DETACHED_LIST   (&detached_timer)

Definition at line 131 of file modules/tm/timer.c.

Referenced by check_and_split_time_list(), and set_timer().

#define is_in_timer_list2 ( _tl   ) 

Value:

( (_tl)->timer_list &&  \
                           ((_tl)->timer_list!=DETACHED_LIST) )

Definition at line 133 of file modules/tm/timer.c.

Referenced by delete_cell(), remove_timer_unsafe(), and unlink_timers().

#define run_handler_for_each ( _tl,
_handler   ) 

Definition at line 979 of file modules/tm/timer.c.

Referenced by timer_routine(), and utimer_routine().

#define UTIME_TYPE   1

Definition at line 161 of file modules/tm/timer.c.

Referenced by set_1timer(), and set_timer().


Function Documentation

static struct timer_link* check_and_split_time_list ( struct timer timer_list,
utime_t  time 
) [static, read]

void cleanup_localcancel_timers ( struct cell t  ) 

static void delete_cell ( struct cell p_cell,
int  unlock 
) [static]

static void delete_handler ( struct timer_link dele_tl  )  [inline, static]

Definition at line 426 of file modules/tm/timer.c.

References delete_cell(), get_dele_timer_payload, LM_DBG, and LM_ERR.

Referenced by timer_routine().

static void fake_reply ( struct cell t,
int  branch,
int  code 
) [static]

static void final_response_handler ( struct timer_link fr_tl  )  [inline, static]

void free_timer_table ( void   ) 

Definition at line 563 of file modules/tm/timer.c.

References shm_free.

Referenced by tm_shutdown().

struct timer_table* get_timertable ( void   )  [read]

Definition at line 456 of file modules/tm/timer.c.

Referenced by init_timerlist_lock().

void init_timer_list ( enum lists  list_id  ) 

Definition at line 583 of file modules/tm/timer.c.

References init_timerlist_lock(), and reset_timer_list().

Referenced by tm_init_timers().

static void insert_timer_unsafe ( struct timer timer_list,
struct timer_link tl,
utime_t  time_out 
) [static]

void print_timer_list ( enum lists  list_id  ) 

static void remove_timer_unsafe ( struct timer_link tl  )  [static]

void reset_timer ( struct timer_link tl  ) 

void reset_timer_list ( enum lists  list_id  ) 

static void retransmission_handler ( struct timer_link retr_tl  )  [inline, static]

void set_1timer ( struct timer_link new_tl,
enum lists  list_id,
utime_t ext_timeout 
)

void set_timer ( struct timer_link new_tl,
enum lists  list_id,
utime_t ext_timeout 
)

void timer_routine ( unsigned int  ticks,
void *  attr 
)

struct timer_table* tm_init_timers ( void   )  [read]

void unlink_timer_lists ( void   ) 

static void unlink_timers ( struct cell t  )  [static]

void utimer_routine ( utime_t  uticks,
void *  attr 
)

static void wait_handler ( struct timer_link wait_tl  )  [inline, static]


Variable Documentation

struct timer detached_timer [static]

Definition at line 129 of file modules/tm/timer.c.

int timer_group[NR_OF_TIMER_LISTS]

Definition at line 138 of file modules/tm/timer.c.

Referenced by init_timerlist_lock(), and lock_initialize().

unsigned int timer_id2timeout[NR_OF_TIMER_LISTS]

Definition at line 149 of file modules/tm/timer.c.

Referenced by set_1timer(), set_timer(), t_next_contacts(), and tm_init_timers().

unsigned int timer_id2type[NR_OF_TIMER_LISTS] [static]

Definition at line 163 of file modules/tm/timer.c.

Referenced by set_1timer(), and set_timer().

struct timer_table* timertable = 0 [static]

Definition at line 128 of file modules/tm/timer.c.


Generated on Wed May 23 20:00:44 2012 for Kamailio - The Open Source SIP Server by  doxygen 1.5.6