mturk 2004/11/08 05:33:21 Modified: jk/native/common jk_service.h Log: Format code Revision Changes Path 1.19 +236 -236 jakarta-tomcat-connectors/jk/native/common/jk_service.h Index: jk_service.h =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_service.h,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- jk_service.h 8 Oct 2004 07:50:40 -0000 1.18 +++ jk_service.h 8 Nov 2004 13:33:21 -0000 1.19 @@ -45,29 +45,29 @@ * about web-server, uri to worker map.... */ - struct jk_worker_env - { +struct jk_worker_env +{ - /* The URI to WORKER map, will be feeded by AJP14 autoconf feature */ - jk_uri_worker_map_t *uri_to_worker; + /* The URI to WORKER map, will be feeded by AJP14 autoconf feature */ + jk_uri_worker_map_t *uri_to_worker; - int num_of_workers; - char *first_worker; + int num_of_workers; + char *first_worker; - /* Web-Server we're running on (Apache/IIS/NES) */ - char *server_name; - - /* Virtual server handled - "*" is all virtual */ - char *virtual; - }; - typedef struct jk_worker_env jk_worker_env_t; - - struct jk_ws_service; - struct jk_endpoint; - struct jk_worker; - typedef struct jk_ws_service jk_ws_service_t; - typedef struct jk_endpoint jk_endpoint_t; - typedef struct jk_worker jk_worker_t; + /* Web-Server we're running on (Apache/IIS/NES) */ + char *server_name; + + /* Virtual server handled - "*" is all virtual */ + char *virtual; +}; +typedef struct jk_worker_env jk_worker_env_t; + +struct jk_ws_service; +struct jk_endpoint; +struct jk_worker; +typedef struct jk_ws_service jk_ws_service_t; +typedef struct jk_endpoint jk_endpoint_t; +typedef struct jk_worker jk_worker_t; /* * The web server service 'class'. An instance of this class is created @@ -97,144 +97,144 @@ * * See apache1.3/mod_jk.c and iis/jk_isapi_plugin.c for examples. */ - struct jk_ws_service - { +struct jk_ws_service +{ - /* - * A 'this' pointer which is used by the subclasses of this class to - * point to data which is specific to a given web server platform - * (e.g. Apache or IIS). - */ - void *ws_private; - - /* - * Provides memory management. All data specific to this request is - * allocated within this pool, which can then be reclaimed at the end - * of the request handling cycle. - * - * Alive as long as the request is alive. - */ - jk_pool_t *pool; - - /* - * CGI Environment needed by servlets - */ - char *method; - char *protocol; - char *req_uri; - char *remote_addr; - char *remote_host; - char *remote_user; - char *auth_type; - char *query_string; - char *server_name; - unsigned server_port; - char *server_software; - unsigned content_length; /* integer that represents the content */ - /* length should be 0 if unknown. */ - unsigned is_chunked; /* 1 if content length is unknown (chunked rq) */ - unsigned no_more_chunks; /* 1 if last chunk has been read */ - unsigned content_read; /* number of bytes read */ - - /* - * SSL information - * - * is_ssl - True if request is in ssl connection - * ssl_cert - If available, base64 ASN.1 encoded client certificates. - * ssl_cert_len - Length of ssl_cert, 0 if certificates are not available. - * ssl_cipher - The ssl cipher suite in use. - * ssl_session - The ssl session string - * - * In some servers it is impossible to extract all this information, in this - * case, we are passing NULL. - */ - int is_ssl; - char *ssl_cert; - unsigned ssl_cert_len; - char *ssl_cipher; - char *ssl_session; - - /* - * SSL extra information for Servlet 2.3 API - * - * ssl_key_size - ssl key size in use - */ - int ssl_key_size; - - /* - * Headers, names and values. - */ - char **headers_names; /* Names of the request headers */ - char **headers_values; /* Values of the request headers */ - unsigned num_headers; /* Number of request headers */ - - - /* - * Request attributes. - * - * These attributes that were extracted from the web server and are - * sent to Tomcat. - * - * The developer should be able to read them from the ServletRequest - * attributes. Tomcat is required to append org.apache.tomcat. to - * these attrinbute names. - */ - char **attributes_names; /* Names of the request attributes */ - char **attributes_values; /* Values of the request attributes */ - unsigned num_attributes; /* Number of request attributes */ - - /* - * The jvm route is in use when the adapter load balance among - * several JVMs. It is the ID of a specific JVM in the load balance - * group. We are using this variable to implement JVM session - * affinity - */ - char *jvm_route; - - /* Temp solution for auth. For native1 it'll be sent on each request, - if an option is present. For native2 it'll be sent with the first - request. On java side, both cases will work. For tomcat3.2 or - a version that doesn't support secret - don't set the secret, - and it'll work. - */ - char *secret; - /* - * Callbacks into the web server. For each, the first argument is - * essentially a 'this' pointer. All return JK_TRUE on success - * and JK_FALSE on failure. - */ - - /* - * Area to get POST data for fail-over recovery in POST - */ - jk_msg_buf_t *reco_buf; - int reco_status; - - /* - * Send the response headers to the browser. - */ - int (JK_METHOD * start_response) (jk_ws_service_t *s, - int status, - const char *reason, - const char *const *header_names, - const char *const *header_values, - unsigned num_of_headers); - - /* - * Read a chunk of the request body into a buffer. Attempt to read len - * bytes into the buffer. Write the number of bytes actually read into - * actually_read. - */ - int (JK_METHOD * read) (jk_ws_service_t *s, - void *buffer, - unsigned len, unsigned *actually_read); - - /* - * Write a chunk of response data back to the browser. - */ - int (JK_METHOD * write) (jk_ws_service_t *s, - const void *buffer, unsigned len); - }; + /* + * A 'this' pointer which is used by the subclasses of this class to + * point to data which is specific to a given web server platform + * (e.g. Apache or IIS). + */ + void *ws_private; + + /* + * Provides memory management. All data specific to this request is + * allocated within this pool, which can then be reclaimed at the end + * of the request handling cycle. + * + * Alive as long as the request is alive. + */ + jk_pool_t *pool; + + /* + * CGI Environment needed by servlets + */ + char *method; + char *protocol; + char *req_uri; + char *remote_addr; + char *remote_host; + char *remote_user; + char *auth_type; + char *query_string; + char *server_name; + unsigned server_port; + char *server_software; + unsigned content_length; /* integer that represents the content */ + /* length should be 0 if unknown. */ + unsigned is_chunked; /* 1 if content length is unknown (chunked rq) */ + unsigned no_more_chunks; /* 1 if last chunk has been read */ + unsigned content_read; /* number of bytes read */ + + /* + * SSL information + * + * is_ssl - True if request is in ssl connection + * ssl_cert - If available, base64 ASN.1 encoded client certificates. + * ssl_cert_len - Length of ssl_cert, 0 if certificates are not available. + * ssl_cipher - The ssl cipher suite in use. + * ssl_session - The ssl session string + * + * In some servers it is impossible to extract all this information, in this + * case, we are passing NULL. + */ + int is_ssl; + char *ssl_cert; + unsigned ssl_cert_len; + char *ssl_cipher; + char *ssl_session; + + /* + * SSL extra information for Servlet 2.3 API + * + * ssl_key_size - ssl key size in use + */ + int ssl_key_size; + + /* + * Headers, names and values. + */ + char **headers_names; /* Names of the request headers */ + char **headers_values; /* Values of the request headers */ + unsigned num_headers; /* Number of request headers */ + + + /* + * Request attributes. + * + * These attributes that were extracted from the web server and are + * sent to Tomcat. + * + * The developer should be able to read them from the ServletRequest + * attributes. Tomcat is required to append org.apache.tomcat. to + * these attrinbute names. + */ + char **attributes_names; /* Names of the request attributes */ + char **attributes_values; /* Values of the request attributes */ + unsigned num_attributes; /* Number of request attributes */ + + /* + * The jvm route is in use when the adapter load balance among + * several JVMs. It is the ID of a specific JVM in the load balance + * group. We are using this variable to implement JVM session + * affinity + */ + char *jvm_route; + + /* Temp solution for auth. For native1 it'll be sent on each request, + if an option is present. For native2 it'll be sent with the first + request. On java side, both cases will work. For tomcat3.2 or + a version that doesn't support secret - don't set the secret, + and it'll work. + */ + char *secret; + /* + * Callbacks into the web server. For each, the first argument is + * essentially a 'this' pointer. All return JK_TRUE on success + * and JK_FALSE on failure. + */ + + /* + * Area to get POST data for fail-over recovery in POST + */ + jk_msg_buf_t *reco_buf; + int reco_status; + + /* + * Send the response headers to the browser. + */ + int (JK_METHOD * start_response) (jk_ws_service_t *s, + int status, + const char *reason, + const char *const *header_names, + const char *const *header_values, + unsigned num_of_headers); + + /* + * Read a chunk of the request body into a buffer. Attempt to read len + * bytes into the buffer. Write the number of bytes actually read into + * actually_read. + */ + int (JK_METHOD * read) (jk_ws_service_t *s, + void *buffer, + unsigned len, unsigned *actually_read); + + /* + * Write a chunk of response data back to the browser. + */ + int (JK_METHOD * write) (jk_ws_service_t *s, + const void *buffer, unsigned len); +}; /* * The endpoint 'class', which represents one end of a connection to the @@ -266,37 +266,37 @@ * * See jk_ajp13_worker.c/jk_ajp14_worker.c and jk_ajp12_worker.c for examples. */ - struct jk_endpoint - { +struct jk_endpoint +{ - /* - * A 'this' pointer which is used by the subclasses of this class to - * point to data/functions which are specific to a given protocol - * (e.g. ajp12 or ajp13 or ajp14). - */ - void *endpoint_private; - - /* - * Forward a request to the servlet engine. The request is described - * by the jk_ws_service_t object. I'm not sure exactly how - * is_recoverable_error is being used. - */ - int (JK_METHOD * service) (jk_endpoint_t *e, - jk_ws_service_t *s, - jk_logger_t *l, int *is_recoverable_error); - - /* - * Called when this particular endpoint has finished processing a - * request. For some protocols (e.g. ajp12), this frees the memory - * associated with the endpoint. For others (e.g. ajp13/ajp14), this can - * return the endpoint to a cache of already opened endpoints. - * - * Note that the first argument is *not* a 'this' pointer, but is - * rather a pointer to a 'this' pointer. This is necessary, because - * we may need to free this object. - */ - int (JK_METHOD * done) (jk_endpoint_t **p, jk_logger_t *l); - }; + /* + * A 'this' pointer which is used by the subclasses of this class to + * point to data/functions which are specific to a given protocol + * (e.g. ajp12 or ajp13 or ajp14). + */ + void *endpoint_private; + + /* + * Forward a request to the servlet engine. The request is described + * by the jk_ws_service_t object. I'm not sure exactly how + * is_recoverable_error is being used. + */ + int (JK_METHOD * service) (jk_endpoint_t *e, + jk_ws_service_t *s, + jk_logger_t *l, int *is_recoverable_error); + + /* + * Called when this particular endpoint has finished processing a + * request. For some protocols (e.g. ajp12), this frees the memory + * associated with the endpoint. For others (e.g. ajp13/ajp14), this can + * return the endpoint to a cache of already opened endpoints. + * + * Note that the first argument is *not* a 'this' pointer, but is + * rather a pointer to a 'this' pointer. This is necessary, because + * we may need to free this object. + */ + int (JK_METHOD * done) (jk_endpoint_t **p, jk_logger_t *l); +}; /* * The worker 'class', which represents something to which the web server @@ -337,55 +337,55 @@ * * See jk_ajp14_worker.c, jk_ajp13_worker.c and jk_ajp12_worker.c for examples. */ - struct jk_worker - { +struct jk_worker +{ - /* - * A 'this' pointer which is used by the subclasses of this class to - * point to data/functions which are specific to a given protocol - * (e.g. ajp12 or ajp13 or ajp14). - */ - void *worker_private; - - /* - * For all of the below (except destroy), the first argument is - * essentially a 'this' pointer. - */ - - /* - * Given a worker which is in the process of being created, and a list - * of configuration options (or 'properties'), check to see if it the - * options are. This will always be called before the init() method. - * The init/validate distinction is a bit hazy to me. - * See jk_ajp13_worker.c/jk_ajp14_worker.c and jk_worker.c->wc_create_worker() - */ - int (JK_METHOD * validate) (jk_worker_t *w, - jk_map_t *props, - jk_worker_env_t *we, jk_logger_t *l); - - /* - * Do whatever initialization needs to be done to start this worker up. - * Configuration options are passed in via the props parameter. - */ - int (JK_METHOD * init) (jk_worker_t *w, + /* + * A 'this' pointer which is used by the subclasses of this class to + * point to data/functions which are specific to a given protocol + * (e.g. ajp12 or ajp13 or ajp14). + */ + void *worker_private; + + /* + * For all of the below (except destroy), the first argument is + * essentially a 'this' pointer. + */ + + /* + * Given a worker which is in the process of being created, and a list + * of configuration options (or 'properties'), check to see if it the + * options are. This will always be called before the init() method. + * The init/validate distinction is a bit hazy to me. + * See jk_ajp13_worker.c/jk_ajp14_worker.c and jk_worker.c->wc_create_worker() + */ + int (JK_METHOD * validate) (jk_worker_t *w, jk_map_t *props, jk_worker_env_t *we, jk_logger_t *l); - - /* - * Obtain an endpoint to service a particular request. A pointer to - * the endpoint is stored in pend. - */ - int (JK_METHOD * get_endpoint) (jk_worker_t *w, - jk_endpoint_t **pend, jk_logger_t *l); - - /* - * Shutdown this worker. The first argument is not a 'this' pointer, - * but rather a pointer to 'this', so that the object can be free'd (I - * think -- though that doesn't seem to be happening. Hmmm). - */ - int (JK_METHOD * destroy) (jk_worker_t **w, jk_logger_t *l); - }; + /* + * Do whatever initialization needs to be done to start this worker up. + * Configuration options are passed in via the props parameter. + */ + int (JK_METHOD * init) (jk_worker_t *w, + jk_map_t *props, + jk_worker_env_t *we, jk_logger_t *l); + + + /* + * Obtain an endpoint to service a particular request. A pointer to + * the endpoint is stored in pend. + */ + int (JK_METHOD * get_endpoint) (jk_worker_t *w, + jk_endpoint_t **pend, jk_logger_t *l); + + /* + * Shutdown this worker. The first argument is not a 'this' pointer, + * but rather a pointer to 'this', so that the object can be free'd (I + * think -- though that doesn't seem to be happening. Hmmm). + */ + int (JK_METHOD * destroy) (jk_worker_t **w, jk_logger_t *l); +}; /* * Essentially, an abstract base class (or factory class) with a single @@ -400,9 +400,9 @@ * for the various web servers (since the only link is through * jk_worker_list.h). */ - typedef int (JK_METHOD * worker_factory) (jk_worker_t **w, - const char *name, - jk_logger_t *l); +typedef int (JK_METHOD * worker_factory) (jk_worker_t **w, + const char *name, + jk_logger_t *l); #ifdef __cplusplus }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]