dlg_db_handler.c File Reference

#include <stdlib.h>
#include <string.h>
#include <sys/time.h>
#include "../../dprint.h"
#include "../../ut.h"
#include "../../timer.h"
#include "../../db/db.h"
#include "../../str.h"
#include "../../socket_info.h"
#include "dlg_hash.h"
#include "dlg_db_handler.h"

Include dependency graph for dlg_db_handler.c:

Go to the source code of this file.

Defines

#define GET_STR_VALUE(_res, _values, _index, _not_null, _unref)
#define SET_NULL_FLAG(_vals, _i, _max, _flag)
#define SET_PROPER_NULL_FLAG(_str, _vals, _index)
#define SET_STR_VALUE(_val, _str)

Functions

struct socket_infocreate_socket_info (db_val_t *vals, int n)
void destroy_dlg_db (void)
void dialog_update_db (unsigned int ticks, void *param)
int dlg_connect_db (const str *db_url)
int init_dlg_db (const str *db_url, int dlg_hash_size, int db_update_period, int fetch_num_rows)
static int load_dialog_info_from_db (int dlg_hash_size, int fetch_num_rows)
int remove_dialog_from_db (struct dlg_cell *cell)
static int select_entire_dialog_table (db_res_t **res, int fetch_num_rows)
int update_dialog_dbinfo (struct dlg_cell *cell)
static int use_dialog_table (void)

Variables

int active_dlgs_cnt
str call_id_column = str_init(CALL_ID_COL)
static db_con_tdialog_db_handle = 0
static db_func_t dialog_dbf
str dialog_table_name = str_init(DIALOG_TABLE_NAME)
int dlg_db_mode = DB_MODE_NONE
int dlg_enable_stats
int early_dlgs_cnt
str from_contact_column = str_init(FROM_CONTACT_COL)
str from_cseq_column = str_init(FROM_CSEQ_COL)
str from_route_column = str_init(FROM_ROUTE_COL)
str from_sock_column = str_init(FROM_SOCK_COL)
str from_tag_column = str_init(FROM_TAG_COL)
str from_uri_column = str_init(FROM_URI_COL)
str h_entry_column = str_init(HASH_ENTRY_COL)
str h_id_column = str_init(HASH_ID_COL)
str sflags_column = str_init(SFLAGS_COL)
str start_time_column = str_init(START_TIME_COL)
str state_column = str_init(STATE_COL)
str timeout_column = str_init(TIMEOUT_COL)
str to_contact_column = str_init(TO_CONTACT_COL)
str to_cseq_column = str_init(TO_CSEQ_COL)
str to_route_column = str_init(TO_ROUTE_COL)
str to_sock_column = str_init(TO_SOCK_COL)
str to_tag_column = str_init(TO_TAG_COL)
str to_uri_column = str_init(TO_URI_COL)
str toroute_column = str_init(TOROUTE_COL)


Define Documentation

#define GET_STR_VALUE ( _res,
_values,
_index,
_not_null,
_unref   ) 

Definition at line 93 of file dlg_db_handler.c.

Referenced by build_rule(), and load_dialog_info_from_db().

#define SET_NULL_FLAG ( _vals,
_i,
_max,
_flag   ) 

Value:

do{\
      for((_i) = 0;(_i)<(_max); (_i)++)\
         VAL_NULL((_vals)+(_i)) = (_flag);\
   }while(0);

Definition at line 79 of file dlg_db_handler.c.

Referenced by dialog_update_db(), and update_dialog_dbinfo().

#define SET_PROPER_NULL_FLAG ( _str,
_vals,
_index   ) 

Definition at line 85 of file dlg_db_handler.c.

Referenced by dialog_update_db(), and update_dialog_dbinfo().

#define SET_STR_VALUE ( _val,
_str   ) 

Value:

do{\
         VAL_STR((_val)).s       = (_str).s;\
         VAL_STR((_val)).len  = (_str).len;\
   }while(0);

Definition at line 73 of file dlg_db_handler.c.

Referenced by dialog_update_db(), and update_dialog_dbinfo().


Function Documentation

struct socket_info* create_socket_info ( db_val_t vals,
int  n 
) [read]

void destroy_dlg_db ( void   ) 

Definition at line 162 of file dlg_db_handler.c.

References db_func::close.

Referenced by mod_destroy().

void dialog_update_db ( unsigned int  ticks,
void *  param 
)

int dlg_connect_db ( const str db_url  ) 

Definition at line 113 of file dlg_db_handler.c.

References db_func::init, and LM_CRIT.

Referenced by child_init(), and init_dlg_db().

int init_dlg_db ( const str db_url,
int  dlg_hash_size,
int  db_update_period,
int  fetch_num_rows 
)

static int load_dialog_info_from_db ( int  dlg_hash_size,
int  fetch_num_rows 
) [static]

int remove_dialog_from_db ( struct dlg_cell cell  ) 

static int select_entire_dialog_table ( db_res_t **  res,
int  fetch_num_rows 
) [static]

int update_dialog_dbinfo ( struct dlg_cell cell  ) 

static int use_dialog_table ( void   )  [static]


Variable Documentation

Definition at line 92 of file dialog.c.

Referenced by child_init(), and load_dialog_info_from_db().

str call_id_column = str_init(CALL_ID_COL)

Definition at line 43 of file dlg_db_handler.c.

Referenced by mod_init().

db_con_t* dialog_db_handle = 0 [static]

Definition at line 66 of file dlg_db_handler.c.

Definition at line 67 of file dlg_db_handler.c.

str dialog_table_name = str_init(DIALOG_TABLE_NAME)

Definition at line 63 of file dlg_db_handler.c.

Referenced by mod_init().

int dlg_db_mode = DB_MODE_NONE

Definition at line 91 of file dialog.c.

Definition at line 93 of file dialog.c.

Referenced by child_init(), and load_dialog_info_from_db().

str from_contact_column = str_init(FROM_CONTACT_COL)

Definition at line 58 of file dlg_db_handler.c.

Referenced by mod_init().

str from_cseq_column = str_init(FROM_CSEQ_COL)

Definition at line 54 of file dlg_db_handler.c.

Referenced by mod_init().

str from_route_column = str_init(FROM_ROUTE_COL)

Definition at line 56 of file dlg_db_handler.c.

Referenced by mod_init().

str from_sock_column = str_init(FROM_SOCK_COL)

Definition at line 60 of file dlg_db_handler.c.

Referenced by mod_init().

str from_tag_column = str_init(FROM_TAG_COL)

Definition at line 45 of file dlg_db_handler.c.

Referenced by mod_init().

str from_uri_column = str_init(FROM_URI_COL)

Definition at line 44 of file dlg_db_handler.c.

Referenced by mod_init().

str h_entry_column = str_init(HASH_ENTRY_COL)

Definition at line 49 of file dlg_db_handler.c.

Referenced by mod_init().

str h_id_column = str_init(HASH_ID_COL)

Definition at line 48 of file dlg_db_handler.c.

Referenced by mod_init().

str sflags_column = str_init(SFLAGS_COL)

Definition at line 61 of file dlg_db_handler.c.

Referenced by mod_init().

str start_time_column = str_init(START_TIME_COL)

Definition at line 51 of file dlg_db_handler.c.

Referenced by mod_init().

str state_column = str_init(STATE_COL)

Definition at line 50 of file dlg_db_handler.c.

Referenced by mod_init().

str timeout_column = str_init(TIMEOUT_COL)

Definition at line 52 of file dlg_db_handler.c.

Referenced by mod_init().

str to_contact_column = str_init(TO_CONTACT_COL)

Definition at line 57 of file dlg_db_handler.c.

Referenced by mod_init().

str to_cseq_column = str_init(TO_CSEQ_COL)

Definition at line 53 of file dlg_db_handler.c.

Referenced by mod_init().

str to_route_column = str_init(TO_ROUTE_COL)

Definition at line 55 of file dlg_db_handler.c.

Referenced by mod_init().

str to_sock_column = str_init(TO_SOCK_COL)

Definition at line 59 of file dlg_db_handler.c.

Referenced by mod_init().

str to_tag_column = str_init(TO_TAG_COL)

Definition at line 47 of file dlg_db_handler.c.

Referenced by mod_init().

str to_uri_column = str_init(TO_URI_COL)

Definition at line 46 of file dlg_db_handler.c.

Referenced by mod_init().

str toroute_column = str_init(TOROUTE_COL)

Definition at line 62 of file dlg_db_handler.c.

Referenced by mod_init().


Generated on Tue May 22 16:00:38 2012 for Kamailio - The Open Source SIP Server by  doxygen 1.5.6