⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xjab_worker.h

📁 性能优秀的SIP Proxy
💻 H
字号:
/* * $Id: xjab_worker.h,v 1.1.1.1 2005/06/13 16:47:39 bogdan_iancu Exp $ * * eXtended JABber module * * Copyright (C) 2001-2003 FhG Fokus * * This file is part of openser, a free SIP server. * * openser is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version * * openser is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * * History: * -------- *  2003-03-11  major locking changes - uses locking.h (andrei) *  2004-07-28  s/lock_set_t/gen_lock_set_t/ because of a type conflict *              on darwin (andrei) */#ifndef _XJAB_WORKER_H_#define _XJAB_WORKER_H_#include "../../str.h"#include "../../db/db.h"#include "../../locking.h"#include "../tm/tm_load.h"#include "xjab_util.h"#include "tree234.h"/**********             ***/typedef struct _xj_jalias{	int size;	// number of aliases	str *jdm;	// Jabber domain	char dlm;	// user part delimiter	str *proxy; // outbound proxy	str *a;		// aliases	char *d;	// user part delimiter for aliases} t_xj_jalias, *xj_jalias;typedef struct _xj_worker{	int pid;			// process id	int wpipe;			// communication pipe - write	int rpipe;			// communication pipe - read	int nr;				// number of jobs	tree234 *sip_ids;   // sip ids allocated for the worker} t_xj_worker, *xj_worker;typedef struct _xj_wlist{	int len;   			// length of the list	int maxj;			// maximum jobs / worker	int cachet;	int delayt;	int sleept;	gen_lock_set_t	 *sems;	 // semaphores	xj_jalias	aliases; // added aliases	xj_worker	workers; // the list of workers} t_xj_wlist, *xj_wlist;/**********   LOOK AT IMPLEMENTATION OF FUNCTIONS FOR DESCRIPTION    ***/xj_wlist xj_wlist_init(int **, int, int, int, int, int);int  xj_wlist_set_pid(xj_wlist, int, int);int  xj_wlist_get(xj_wlist, xj_jkey, xj_jkey*);int  xj_wlist_check(xj_wlist, xj_jkey, xj_jkey*);int  xj_wlist_set_flag(xj_wlist, xj_jkey, int);void xj_wlist_del(xj_wlist, xj_jkey, int);void xj_wlist_free(xj_wlist);int  xj_wlist_set_aliases(xj_wlist, char *, char *, char *);int  xj_wlist_check_aliases(xj_wlist, str*);int  xj_wlist_clean_jobs(xj_wlist, int, int); int xj_worker_process(xj_wlist, char*, int, int, db_con_t*, db_func_t*);int xj_address_translation(str *src, str *dst, xj_jalias als, int flag);int xj_manage_jab(char *buf, int len, int *pos, xj_jalias als, xj_jcon jbc);void xj_sig_handler(int s);/**********             ***/int xj_send_sip_msg(str *, str *, str *, str *, int *);int xj_send_sip_msgz(str *,str *, str *, char *, int *);void xj_tuac_callback( struct cell *t, int type, struct tmcb_params *ps);void xj_worker_check_jcons(xj_wlist, xj_jcon_pool, int, fd_set*);void xj_worker_check_qmsg(xj_wlist, xj_jcon_pool);void xj_worker_check_watcher(xj_wlist, xj_jcon_pool, xj_jcon, xj_sipmsg);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -