📄 jk_ajp13_worker.c
字号:
/* * Copyright 1999-2004 The Apache Software Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *//*************************************************************************** * Description: Bi-directional protocol. * * Author: Costin <costin@costin.dnt.ro> * * Author: Gal Shachor <shachor@il.ibm.com> * * Author: Henri Gomez <hgomez@apache.org> * * Version: $Revision: 1.25 $ * ***************************************************************************/#include "jk_ajp13_worker.h"/* -------------------- Method -------------------- */static int JK_METHOD validate(jk_worker_t *pThis, jk_map_t *props, jk_worker_env_t *we, jk_logger_t *l){ int rc; JK_TRACE_ENTER(l); rc = ajp_validate(pThis, props, we, l, AJP13_PROTO); JK_TRACE_EXIT(l); return rc;}static int JK_METHOD init(jk_worker_t *pThis, jk_map_t *props, jk_worker_env_t *we, jk_logger_t *l){ int rc; ajp_worker_t *aw = ( ajp_worker_t *)pThis->worker_private; JK_TRACE_ENTER(l); pThis->retries = jk_get_worker_retries(props, aw->name, JK_RETRIES); rc = ajp_init(pThis, props, we, l, AJP13_PROTO); JK_TRACE_EXIT(l); return rc;}static int JK_METHOD destroy(jk_worker_t **pThis, jk_logger_t *l){ int rc; JK_TRACE_ENTER(l); rc = ajp_destroy(pThis, l, AJP13_PROTO); JK_TRACE_EXIT(l); return rc;}static int JK_METHOD get_endpoint(jk_worker_t *pThis, jk_endpoint_t **pend, jk_logger_t *l){ int rc; JK_TRACE_ENTER(l); rc = ajp_get_endpoint(pThis, pend, l, AJP13_PROTO); JK_TRACE_EXIT(l); return rc;}int JK_METHOD ajp13_worker_factory(jk_worker_t **w, const char *name, jk_logger_t *l){ ajp_worker_t *aw; JK_TRACE_ENTER(l); if (name == NULL || w == NULL) { JK_LOG_NULL_PARAMS(l); JK_TRACE_EXIT(l); return 0; } aw = (ajp_worker_t *) calloc(1, sizeof(ajp_worker_t)); if (!aw) { jk_log(l, JK_LOG_ERROR, "malloc of private_data failed"); JK_TRACE_EXIT(l); return 0; } aw->name = name; aw->proto = AJP13_PROTO; aw->login = NULL; aw->ep_cache_sz = 0; aw->ep_cache = NULL; aw->connect_retry_attempts = AJP_DEF_RETRY_ATTEMPTS; aw->worker.worker_private = aw; aw->worker.validate = validate; aw->worker.init = init; aw->worker.get_endpoint = get_endpoint; aw->worker.destroy = destroy; aw->worker.maintain = ajp_maintain; aw->worker.retries = JK_RETRIES; aw->logon = NULL; /* No Logon on AJP13 */ *w = &aw->worker; JK_TRACE_EXIT(l); return JK_AJP13_WORKER_TYPE;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -