jk_util.c
来自「以便Apache与其他服务进行整合 Mod_JK安装」· C语言 代码 · 共 1,959 行 · 第 1/4 页
C
1,959 行
if (rv < 1) rv = 1; return rv;}int jk_get_worker_recovery_opts(jk_map_t *m, const char *wname, int def){ char buf[1024]; if (!m || !wname) { return -1; } MAKE_WORKER_PARAM(RECOVERY_OPTS_OF_WORKER); return jk_map_get_int(m, buf, def);}const char *jk_get_worker_secret_key(jk_map_t *m, const char *wname){ char buf[1024]; if (!m || !wname) { return NULL; } MAKE_WORKER_PARAM(SECRET_KEY_OF_WORKER); return jk_map_get_string(m, buf, NULL);}int jk_get_worker_list(jk_map_t *m, char ***list, unsigned *num_of_workers){ if (m && list && num_of_workers) { char **ar = jk_map_get_string_list(m, WORKER_LIST_PROPERTY_NAME, num_of_workers, DEFAULT_WORKER); if (ar) { *list = ar; return JK_TRUE; } *list = NULL; *num_of_workers = 0; } return JK_FALSE;}int jk_get_is_worker_disabled(jk_map_t *m, const char *wname){ int rc = JK_TRUE; char buf[1024]; if (m && wname) { int value; MAKE_WORKER_PARAM(IS_WORKER_DISABLED_DEPRECATED); value = jk_map_get_bool(m, buf, 0); if (!value) rc = JK_FALSE; } return rc;}int jk_get_is_worker_stopped(jk_map_t *m, const char *wname){ int rc = JK_TRUE; char buf[1024]; if (m && wname) { int value; MAKE_WORKER_PARAM(IS_WORKER_STOPPED_DEPRECATED); value = jk_map_get_bool(m, buf, 0); if (!value) rc = JK_FALSE; } return rc;}int jk_get_worker_activation(jk_map_t *m, const char *wname){ char buf[1024]; const char *v; if (!m || !wname) { return JK_LB_ACTIVATION_ACTIVE; } MAKE_WORKER_PARAM(ACTIVATION_OF_WORKER); v = jk_map_get_string(m, buf, NULL); if (v) { return jk_lb_get_activation_code(v); } else if (jk_get_is_worker_stopped(m, wname)) return JK_LB_ACTIVATION_STOPPED; else if (jk_get_is_worker_disabled(m, wname)) return JK_LB_ACTIVATION_DISABLED; else return JK_LB_ACTIVATION_DEF;}int jk_get_lb_factor(jk_map_t *m, const char *wname){ char buf[1024]; if (!m || !wname) { return DEFAULT_LB_FACTOR; } MAKE_WORKER_PARAM(LOAD_FACTOR_OF_WORKER); return jk_map_get_int(m, buf, DEFAULT_LB_FACTOR);}int jk_get_distance(jk_map_t *m, const char *wname){ char buf[1024]; if (!m || !wname) { return DEFAULT_DISTANCE; } MAKE_WORKER_PARAM(DISTANCE_OF_WORKER); return jk_map_get_int(m, buf, DEFAULT_DISTANCE);}int jk_get_is_sticky_session(jk_map_t *m, const char *wname){ int rc = JK_TRUE; char buf[1024]; if (m && wname) { int value; MAKE_WORKER_PARAM(STICKY_SESSION); value = jk_map_get_bool(m, buf, 1); if (!value) rc = JK_FALSE; } return rc;}int jk_get_is_sticky_session_force(jk_map_t *m, const char *wname){ int rc = JK_FALSE; char buf[1024]; if (m && wname) { int value; MAKE_WORKER_PARAM(STICKY_SESSION_FORCE); value = jk_map_get_bool(m, buf, 0); if (value) rc = JK_TRUE; } return rc;}int jk_get_lb_method(jk_map_t *m, const char *wname){ char buf[1024]; const char *v; if (!m || !wname) { return JK_LB_METHOD_DEF; } MAKE_WORKER_PARAM(METHOD_OF_WORKER); v = jk_map_get_string(m, buf, NULL); return jk_lb_get_method_code(v);}int jk_get_lb_lock(jk_map_t *m, const char *wname){ char buf[1024]; const char *v; if (!m || !wname) { return JK_LB_LOCK_DEF; } MAKE_WORKER_PARAM(LOCK_OF_WORKER); v = jk_map_get_string(m, buf, NULL); return jk_lb_get_lock_code(v);}int jk_get_max_packet_size(jk_map_t *m, const char *wname){ char buf[1024]; int sz; if (!m || !wname) { return DEF_BUFFER_SZ; } MAKE_WORKER_PARAM(WORKER_MAX_PACKET_SIZE); sz = jk_map_get_int(m, buf, DEF_BUFFER_SZ); sz = JK_ALIGN(sz, 1024); if (sz < DEF_BUFFER_SZ) sz = DEF_BUFFER_SZ; else if (sz > 64*1024) sz = 64*1024; return sz;}int jk_get_worker_fail_on_status(jk_map_t *m, const char *wname, int *list, unsigned int list_size){ char buf[1024]; if (!m || !wname || !list) { return 0; } MAKE_WORKER_PARAM(STATUS_FAIL_OF_WORKER); if (list_size) { return jk_map_get_int_list(m, buf, list, list_size, NULL); } return 0;}int jk_get_worker_user_case_insensitive(jk_map_t *m, const char *wname){ int rc = JK_FALSE; char buf[1024]; if (m && wname) { int value; MAKE_WORKER_PARAM(USER_CASE_OF_WORKER); value = jk_map_get_bool(m, buf, 0); if (value) rc = JK_TRUE; } return rc;}const char *jk_get_worker_style_sheet(jk_map_t *m, const char *wname, const char *def){ char buf[1024]; if (!m || !wname) { return NULL; } MAKE_WORKER_PARAM(STYLE_SHEET_OF_WORKER); return jk_map_get_string(m, buf, def);}const char *jk_get_worker_name_space(jk_map_t *m, const char *wname, const char *def){ const char *rc; char buf[1024]; if (!m || !wname) { return NULL; } MAKE_WORKER_PARAM(NAMESPACE_OF_WORKER); rc = jk_map_get_string(m, buf, def); if (*rc == '-') return ""; else return rc;}const char *jk_get_worker_xmlns(jk_map_t *m, const char *wname, const char *def){ const char *rc; char buf[1024]; if (!m || !wname) { return NULL; } MAKE_WORKER_PARAM(XML_NAMESPACE_OF_WORKER); rc = jk_map_get_string(m, buf, def); if (*rc == '-') return ""; else return rc;}const char *jk_get_worker_xml_doctype(jk_map_t *m, const char *wname, const char *def){ char buf[1024]; if (!m || !wname) { return NULL; } MAKE_WORKER_PARAM(XML_DOCTYPE_OF_WORKER); return jk_map_get_string(m, buf, def);}const char *jk_get_worker_prop_prefix(jk_map_t *m, const char *wname, const char *def){ char buf[1024]; if (!m || !wname) { return NULL; } MAKE_WORKER_PARAM(PROP_PREFIX_OF_WORKER); return jk_map_get_string(m, buf, def);}int jk_get_is_read_only(jk_map_t *m, const char *wname){ int rc = JK_FALSE; char buf[1024]; if (m && wname) { int value; MAKE_WORKER_PARAM(READ_ONLY_OF_WORKER); value = jk_map_get_bool(m, buf, 0); if (value) rc = JK_TRUE; } return rc;}int jk_get_worker_user_list(jk_map_t *m, const char *wname, char ***list, unsigned int *num){ char buf[1024]; if (m && list && num && wname) { char **ar = NULL; MAKE_WORKER_PARAM(USER_OF_WORKER); ar = jk_map_get_string_list(m, buf, num, NULL); if (ar) { *list = ar; return JK_TRUE; } *list = NULL; *num = 0; } return JK_FALSE;}int jk_get_worker_good_rating(jk_map_t *m, const char *wname, char ***list, unsigned int *num){ char buf[1024]; if (m && list && num && wname) { char **ar = NULL; MAKE_WORKER_PARAM(GOOD_RATING_OF_WORKER); ar = jk_map_get_string_list(m, buf, num, NULL); if (ar) { *list = ar; return JK_TRUE; } *list = NULL; *num = 0; } return JK_FALSE;}int jk_get_worker_bad_rating(jk_map_t *m, const char *wname, char ***list, unsigned int *num){ char buf[1024]; if (m && list && num && wname) { char **ar = NULL; MAKE_WORKER_PARAM(BAD_RATING_OF_WORKER); ar = jk_map_get_string_list(m, buf, num, NULL); if (ar) { *list = ar; return JK_TRUE; } *list = NULL; *num = 0; } return JK_FALSE;}int jk_get_lb_worker_list(jk_map_t *m, const char *wname, char ***list, unsigned int *num_of_workers){ char buf[1024]; if (m && list && num_of_workers && wname) { char **ar = NULL; MAKE_WORKER_PARAM(BALANCE_WORKERS); ar = jk_map_get_string_list(m, buf, num_of_workers, NULL); if (ar) { *list = ar; return JK_TRUE; } /* Try old balanced_workers directive */ MAKE_WORKER_PARAM(BALANCED_WORKERS_DEPRECATED); ar = jk_map_get_string_list(m, buf, num_of_workers, NULL); if (ar) { *list = ar; return JK_TRUE; } *list = NULL; *num_of_workers = 0; } return JK_FALSE;}int jk_get_worker_mount_list(jk_map_t *m, const char *wname, char ***list, unsigned int *num_of_maps){ char buf[1024]; if (m && list && num_of_maps && wname) { char **ar = NULL; MAKE_WORKER_PARAM(MOUNT_OF_WORKER); ar = jk_map_get_string_list(m, buf, num_of_maps, NULL); if (ar) { *list = ar; return JK_TRUE; } *list = NULL; *num_of_maps = 0; } return JK_FALSE;}int jk_get_worker_maintain_time(jk_map_t *m){ return jk_map_get_int(m, WORKER_MAINTAIN_PROPERTY_NAME, DEFAULT_MAINTAIN_TIME);}int jk_get_worker_mx(jk_map_t *m, const char *wname, unsigned *mx){ char buf[1024]; if (m && mx && wname) { int i; MAKE_WORKER_PARAM(MX_OF_WORKER); i = jk_map_get_int(m, buf, -1); if (-1 != i) { *mx = (unsigned)i; return JK_TRUE; } } return JK_FALSE;}int jk_get_worker_ms(jk_map_t *m, const char *wname, unsigned *ms){ char buf[1024]; if (m && ms && wname) { int i; MAKE_WORKER_PARAM(MS_OF_WORKER); i = jk_map_get_int(m, buf, -1); if (-1 != i) { *ms = (unsigned)i; return JK_TRUE; } } return JK_FALSE;}int jk_get_worker_classpath(jk_map_t *m, const char *wname, const char **cp){ char buf[1024]; if (m && cp && wname) { MAKE_WORKER_PARAM(CP_OF_WORKER); *cp = jk_map_get_string(m, buf, NULL); if (*cp) { return JK_TRUE; } } return JK_FALSE;}int jk_get_worker_bridge_type(jk_map_t *m, const char *wname, unsigned *bt){ char buf[1024]; const char *type; if (m && bt && wname) { MAKE_WORKER_PARAM(BRIDGE_OF_WORKER);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?