costin 01/12/04 10:33:06 Modified: jk/native2/include jk_service.h jk_uriEnv.h jk_worker.h Log: Consolidate data structures. A lot of 'ajp private' information is very usefull for other workers as well. Having it exposed in the main structure will make things simpler, and eliminates a lot of duplication. We do lose so 'data hiding' and private fields, but I think it's worth it. ( for example we want the jni worker to be able to use the same discovery as the ajp14 worker ) Revision Changes Path 1.2 +12 -1 jakarta-tomcat-connectors/jk/native2/include/jk_service.h Index: jk_service.h =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_service.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- jk_service.h 2001/12/01 22:30:57 1.1 +++ jk_service.h 2001/12/04 18:33:05 1.2 @@ -63,7 +63,7 @@ * Author: Gal Shachor <[EMAIL PROTECTED]> * * Author: Dan Milstein <[EMAIL PROTECTED]> * * Author: Henri Gomez <[EMAIL PROTECTED]> * - * Version: $Revision: 1.1 $ * + * Version: $Revision: 1.2 $ * ***************************************************************************/ #ifndef JK_SERVICE_H @@ -214,6 +214,17 @@ */ char *jvm_route; + /* Response informations. As in apache, we don't use a separate + structure for response. + */ + int status; + const char *msg; + unsigned out_headers; + char **out_header_names; + char **out_header_values; + + + /* * Callbacks into the web server. For each, the first argument is * essentially a 'this' pointer. All return JK_TRUE on success 1.2 +3 -0 jakarta-tomcat-connectors/jk/native2/include/jk_uriEnv.h Index: jk_uriEnv.h =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_uriEnv.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- jk_uriEnv.h 2001/12/01 22:03:20 1.1 +++ jk_uriEnv.h 2001/12/04 18:33:05 1.2 @@ -120,6 +120,9 @@ char *context; int contextId; + char *docbase; + int status; + /** Servlet. No need to compute it again in tomcat */ char *servlet; 1.2 +71 -1 jakarta-tomcat-connectors/jk/native2/include/jk_worker.h Index: jk_worker.h =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_worker.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- jk_worker.h 2001/12/01 22:30:57 1.1 +++ jk_worker.h 2001/12/04 18:33:05 1.2 @@ -58,7 +58,7 @@ /*************************************************************************** * Description: Workers controller header file * * Author: Gal Shachor <[EMAIL PROTECTED]> * - * Version: $Revision: 1.1 $ * + * Version: $Revision: 1.2 $ * ***************************************************************************/ #ifndef JK_WORKER_H @@ -68,6 +68,7 @@ #include "jk_service.h" #include "jk_endpoint.h" #include "jk_map.h" +#include "jk_mt.h" #include "jk_uriMap.h" #ifdef __cplusplus @@ -79,7 +80,53 @@ struct jk_env; typedef struct jk_worker jk_worker_t; + /* + * The login structure + */ +typedef struct jk_login_service jk_login_service_t; +#define AJP14_ENTROPY_SEED_LEN 32 /* we're using MD5 => 32 chars */ +#define AJP14_COMPUTED_KEY_LEN 32 /* we're using MD5 also */ + +struct jk_login_service { + + /* + * Pointer to web-server name + */ + char * web_server_name; + + /* + * Pointer to servlet-engine name + */ + char * servlet_engine_name; + + /* + * Pointer to secret key + */ + char * secret_key; + + /* + * Received entropy seed + */ + char entropy[AJP14_ENTROPY_SEED_LEN + 1]; + + /* + * Computed key + */ + char computed_key[AJP14_COMPUTED_KEY_LEN + 1]; + + /* + * What we want to negociate + */ + unsigned long negociation; + + /* + * What we received from servlet engine + */ + unsigned long negociated; +}; + +/* * The worker 'class', which represents something to which the web server * can delegate requests. * @@ -136,6 +183,29 @@ /** Communication channle used by the worker */ struct jk_channel *channel; + + /* XXX Stuff from ajp, some is generic, some not - need to + sort out after */ + struct sockaddr_in worker_inet_addr; /* Contains host and port */ + unsigned connect_retry_attempts; + + /* + * Open connections cache... + * + * 1. Critical section object to protect the cache. + * 2. Cache size. + * 3. An array of "open" endpoints. + */ + JK_CRIT_SEC cs; + unsigned ep_cache_sz; + struct jk_endpoint **ep_cache; + + int proto; + struct jk_login_service *login; + + int (* logon)(struct jk_endpoint *ae, + jk_logger_t *l); + /* * For all of the below (except destroy), the first argument is
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>