#include "../../str.h"#include "../../dprint.h"#include "../../sr_module.h"#include "../../mi/mi.h"#include "../../mem/mem.h"#include "../../mem/shm_mem.h"#include "../../locking.h"#include "../../ut.h"#include "xr_writer.h"#include "xr_parser.h"#include "mi_xmlrpc.h"#include "xr_server.h"

Go to the source code of this file.
Defines | |
| #define | MAX_XMLRPC_WAIT 2*60*4 |
| #define | XMLRPC_ASYNC_EXPIRED ((void*)-3) |
| #define | XMLRPC_ASYNC_FAILED ((void*)-2) |
Functions | |
| static struct mi_handler * | build_async_handler (void) |
| xmlrpc_value * | default_method (xmlrpc_env *env, const char *host, const char *methodName, xmlrpc_value *paramArray, void *serverInfo) |
| void | destroy_async_lock (void) |
| static void | free_async_handler (struct mi_handler *hdl) |
| int | init_async_lock (void) |
| int | set_default_method (xmlrpc_env *env, xmlrpc_registry *registry) |
| static struct mi_root * | wait_async_reply (struct mi_handler *hdl) |
| static void | xmlrpc_close_async (struct mi_root *mi_rpl, struct mi_handler *hdl, int done) |
Variables | |
| gen_lock_t * | xr_lock |
| #define MAX_XMLRPC_WAIT 2*60*4 |
| #define XMLRPC_ASYNC_EXPIRED ((void*)-3) |
| #define XMLRPC_ASYNC_FAILED ((void*)-2) |
Definition at line 50 of file xr_server.c.
Referenced by wait_async_reply(), and xmlrpc_close_async().
| static struct mi_handler* build_async_handler | ( | void | ) | [static, read] |
Definition at line 139 of file xr_server.c.
References mi_handler::handler_f, LM_ERR, mi_handler::param, shm_malloc(), and xmlrpc_close_async().
| xmlrpc_value* default_method | ( | xmlrpc_env * | env, | |
| const char * | host, | |||
| const char * | methodName, | |||
| xmlrpc_value * | paramArray, | |||
| void * | serverInfo | |||
| ) |
Definition at line 163 of file xr_server.c.
References mi_root::async_hdl, build_async_handler(), mi_cmd::f, mi_cmd::flags, free_async_handler(), free_mi_tree(), free_shm_mi_tree(), LM_DBG, LM_ERR, lookup_mi_cmd(), MI_ASYNC_RPL_FLAG, MI_NO_INPUT_FLAG, MI_ROOT_ASYNC_RPL, NULL, rpl_opt, run_mi_cmd(), wait_async_reply(), xr_build_response(), xr_build_response_array(), xr_parse_tree(), and xr_response.
Referenced by set_default_method().
| void destroy_async_lock | ( | void | ) |
| static void free_async_handler | ( | struct mi_handler * | hdl | ) | [inline, static] |
| int init_async_lock | ( | void | ) |
Definition at line 285 of file xr_server.c.
References LM_ERR, NULL, and xr_lock.
Referenced by mod_init().
| int set_default_method | ( | xmlrpc_env * | env, | |
| xmlrpc_registry * | registry | |||
| ) |
Definition at line 273 of file xr_server.c.
References default_method(), LM_ERR, and NULL.
Referenced by xmlrpc_process().
| static struct mi_root* wait_async_reply | ( | struct mi_handler * | hdl | ) | [static, read] |
Definition at line 101 of file xr_server.c.
References free_async_handler(), LM_INFO, MAX_XMLRPC_WAIT, NULL, mi_handler::param, sleep_us(), XMLRPC_ASYNC_EXPIRED, XMLRPC_ASYNC_FAILED, and xr_lock.
Referenced by default_method().
| static void xmlrpc_close_async | ( | struct mi_root * | mi_rpl, | |
| struct mi_handler * | hdl, | |||
| int | done | |||
| ) | [static] |
Definition at line 64 of file xr_server.c.
References clone_mi_tree(), free_async_handler(), free_mi_tree(), free_shm_mi_tree(), NULL, mi_handler::param, XMLRPC_ASYNC_FAILED, and xr_lock.
Referenced by build_async_handler().
| gen_lock_t* xr_lock |
Definition at line 48 of file xr_server.c.
Referenced by destroy_async_lock(), init_async_lock(), wait_async_reply(), and xmlrpc_close_async().
1.5.6