mturk 2004/08/04 01:12:08 Modified: ajp/proxy mod_proxy.h Log: Add pre_request and post_request proxy hooks. They will be mainly used for loadbalancers for finding and maintaining workers. Revision Changes Path 1.9 +30 -0 jakarta-tomcat-connectors/ajp/proxy/mod_proxy.h Index: mod_proxy.h =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/proxy/mod_proxy.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- mod_proxy.h 4 Aug 2004 06:51:00 -0000 1.8 +++ mod_proxy.h 4 Aug 2004 08:12:08 -0000 1.9 @@ -249,6 +249,14 @@ #endif }; +/* data structure for set/get module_config */ +typedef struct { + char *url; /* rewtitten url */ + struct proxy_balancer *balancer; /* load balancer to use */ + proxy_worker *worker; /* most suitable worker */ + void *opaque; /* module private data */ +} proxy_module_conf; + /* hooks */ /* Create a set of PROXY_DECLARE(type), PROXY_DECLARE_NONSTD(type) and @@ -287,6 +295,28 @@ APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, create_req, (request_rec *r, request_rec *pr)) APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, fixups, (request_rec *r)) + +/** + * pre request hook. + * It will return the most suitable worker at the moment + * and coresponding balancer. + * The url is rewritten from balancer://cluster/uri to scheme://host:port/uri + * and then the scheme_handler is called. + * + */ +APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, pre_request, (proxy_worker **worker, + struct proxy_balancer **balancer, + request_rec *r, + proxy_server_conf *conf, char **url, + const char *proxyhost, apr_port_t proxyport)) +/** + * post request hook. + * It is called after request for updating runtime balancer status. + */ +APR_DECLARE_EXTERNAL_HOOK(proxy, PROXY, int, post_request, (proxy_worker *worker, + struct proxy_balancer *balancer, request_rec *r, + proxy_server_conf *conf)) + /* proxy_util.c */
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]