hgomez      01/05/18 09:45:08

  Modified:    jk/src/native/common jk_ajp13.h jk_ajp13_worker.c
                        jk_ajp13_worker.h
  Log:
  Initial works to let ajp14 use ajp13 functions (no OO here :)
  
  Revision  Changes    Path
  1.2       +15 -1     jakarta-tomcat-connectors/jk/src/native/common/jk_ajp13.h
  
  Index: jk_ajp13.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/src/native/common/jk_ajp13.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- jk_ajp13.h        2001/05/14 09:32:49     1.1
  +++ jk_ajp13.h        2001/05/18 16:45:03     1.2
  @@ -56,7 +56,7 @@
   /***************************************************************************
    * Description: Experimental bi-directionl protocol handler.               *
    * Author:      Gal Shachor <[EMAIL PROTECTED]>                           *
  - * Version:     $Revision: 1.1 $                                           *
  + * Version:     $Revision: 1.2 $                                           *
    ***************************************************************************/
   #ifndef JK_AJP13_H
   #define JK_AJP13_H
  @@ -64,11 +64,22 @@
   
   #include "jk_service.h"
   #include "jk_msg_buff.h"
  +#include "jk_mt.h"
   
   #ifdef __cplusplus
   extern "C" {
   #endif /* __cplusplus */
   
  +#define AJP13_DEF_HOST               ("localhost")
  +#define AJP13_DEF_PORT               (8008)
  +#define AJP13_READ_BUF_SIZE         (8*1024)
  +#define AJP13_DEF_RETRY_ATTEMPTS    (1)
  +#define AJP13_DEF_CACHE_SZ          (1)
  +#define JK_INTERNAL_ERROR            (-2)
  +#define AJP13_MAX_SEND_BODY_SZ      (DEF_BUFFER_SZ - 6)
  +#define AJP13_HEADER_LEN             (4)
  +#define AJP13_HEADER_SZ_LEN          (2)
  +
   /*
    * Message does not have a response (for example, JK_AJP13_END_RESPONSE)
    */
  @@ -121,6 +132,9 @@
   };
   typedef struct jk_res_data jk_res_data_t;
   
  +/*
  + * Functions
  + */
   int ajp13_marshal_into_msgb(jk_msg_buf_t *msg,
                               jk_ws_service_t *s,
                               jk_logger_t *l);
  
  
  
  1.2       +18 -87    jakarta-tomcat-connectors/jk/src/native/common/jk_ajp13_worker.c
  
  Index: jk_ajp13_worker.c
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/src/native/common/jk_ajp13_worker.c,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- jk_ajp13_worker.c 2001/05/14 09:33:12     1.1
  +++ jk_ajp13_worker.c 2001/05/18 16:45:04     1.2
  @@ -58,76 +58,11 @@
    * Author:      Henri Gomez <[EMAIL PROTECTED]>                               *
    * Author:      Costin <[EMAIL PROTECTED]>                              *
    * Author:      Gal Shachor <[EMAIL PROTECTED]>                           *
  - * Version:     $Revision: 1.1 $                                           *
  + * Version:     $Revision: 1.2 $                                           *
    ***************************************************************************/
   
  -#include "jk_pool.h"
  -#include "jk_connect.h"
  -#include "jk_util.h"
  -#include "jk_msg_buff.h"
  -#include "jk_ajp13.h"
  -#include "jk_mt.h"
  -
  -#define AJP_DEF_HOST            ("localhost")
  -#define AJP_DEF_PORT            (8008)
  -#define READ_BUF_SIZE           (8*1024)
  -#define DEF_RETRY_ATTEMPTS      (1)
  -#define DEF_CACHE_SZ            (1)
  -#define JK_INTERNAL_ERROR       (-2)
  -#define MAX_SEND_BODY_SZ        (DEF_BUFFER_SZ - 6)
  -#define AJP13_HEADER_LEN     (4)
  -#define AJP13_HEADER_SZ_LEN  (2)
  -
  -struct ajp13_operation;
  -typedef struct ajp13_operation ajp13_operation_t;
  -
  -struct ajp13_endpoint;
  -typedef struct ajp13_endpoint ajp13_endpoint_t;
  -
  -struct ajp13_worker {
  -    struct sockaddr_in worker_inet_addr; /* Contains host and port */
  -    unsigned connect_retry_attempts;
  -    char *name; 
  -
  -    /*
  -     * 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;
  -    ajp13_endpoint_t **ep_cache;
  -
  -    jk_worker_t worker; 
  -};
  -typedef struct ajp13_worker ajp13_worker_t;
  -
  -struct ajp13_endpoint { 
  -    ajp13_worker_t *worker;
  -
  -    jk_pool_t pool;
  -    jk_pool_atom_t buf[BIG_POOL_SIZE];
  -
  -    int sd;
  -    int reuse;
  -    jk_endpoint_t endpoint;
  -
  -    unsigned left_bytes_to_send;
  -};
  -
  -/* 
  - * little struct to avoid multiples ptr passing
  - * this struct is ready to hold upload file fd
  - * to add upload persistant storage
  - */
  -struct ajp13_operation {
  -     jk_msg_buf_t    *request;       /* original request storage */
  -     jk_msg_buf_t    *reply;         /* reply storage (chuncked by ajp13 */
  -     int             uploadfd;       /* future persistant storage id */
  -     int             recoverable;    /* if exchange could be conducted on another 
TC */
  -};
  +#include "jk_ajp13_worker.h"
  +
   
   static void reset_endpoint(ajp13_endpoint_t *ep)
   {
  @@ -354,8 +289,8 @@
               {
                unsigned len = (unsigned)jk_b_get_int(msg);
   
  -                if(len > MAX_SEND_BODY_SZ) {
  -                    len = MAX_SEND_BODY_SZ;
  +                if(len > AJP13_MAX_SEND_BODY_SZ) {
  +                    len = AJP13_MAX_SEND_BODY_SZ;
                   }
                   if(len > ep->left_bytes_to_send) {
                       len = ep->left_bytes_to_send;
  @@ -411,11 +346,11 @@
           ajp13_worker_t *p = pThis->worker_private;
           int port = jk_get_worker_port(props, 
                                         p->name,
  -                                      AJP_DEF_PORT);
  +                                      AJP13_DEF_PORT);
   
           char *host = jk_get_worker_host(props, 
                                           p->name,
  -                                        AJP_DEF_HOST);
  +                                        AJP13_DEF_HOST);
   
           jk_log(l, 
                  JK_LOG_DEBUG, 
  @@ -450,7 +385,7 @@
           ajp13_worker_t *p = pThis->worker_private;
           int cache_sz = jk_get_worker_cache_size(props, 
                                                   p->name,
  -                                                DEF_CACHE_SZ);
  +                                                AJP13_DEF_CACHE_SZ);
   
           if(cache_sz > 0) {
               p->ep_cache = 
  @@ -633,8 +568,8 @@
                 */
                if(p->left_bytes_to_send > 0) {
                        unsigned len = p->left_bytes_to_send;
  -                     if(len > MAX_SEND_BODY_SZ) 
  -                             len = MAX_SEND_BODY_SZ;
  +                     if(len > AJP13_MAX_SEND_BODY_SZ) 
  +                             len = AJP13_MAX_SEND_BODY_SZ;
                        if(!read_into_msg_buff(p, s, op->reply, l, len)) {
                                /* the browser stop sending data, no need to recover */
                                op->recoverable = JK_FALSE;
  @@ -863,33 +798,29 @@
       ajp13_worker_t *private_data = 
               (ajp13_worker_t *)malloc(sizeof(ajp13_worker_t));
       
  -    jk_log(l, 
  -           JK_LOG_DEBUG, 
  -           "Into ajp13_worker_factory\n");
  -    if(NULL == name || NULL == w) {
  -        jk_log(l, 
  -               JK_LOG_ERROR, 
  -               "In ajp13_worker_factory, NULL parameters\n");
  +    jk_log(l, JK_LOG_DEBUG, "Into ajp13_worker_factory\n");
  +
  +    if (name == NULL || w == NULL) {
  +        jk_log(l, JK_LOG_ERROR, "In ajp13_worker_factory, NULL parameters\n");
            return JK_FALSE;
       }
           
  -    if(!private_data) {
  -        jk_log(l, JK_LOG_ERROR, "In ajp13_worker_factory, NULL parameters\n");
  +    if (! private_data) {
  +        jk_log(l, JK_LOG_ERROR, "In ajp13_worker_factory, malloc of private_data 
failed\n");
            return JK_FALSE;
       }
   
       private_data->name = strdup(name);          
       
  -    if(!private_data->name) {
  +    if (! private_data->name) {
            free(private_data);
            jk_log(l, JK_LOG_ERROR, "In ajp13_worker_factory, malloc failed\n");
            return JK_FALSE;
       } 
   
  -
       private_data->ep_cache_sz            = 0;
       private_data->ep_cache               = NULL;
  -    private_data->connect_retry_attempts = DEF_RETRY_ATTEMPTS;
  +    private_data->connect_retry_attempts = AJP13_DEF_RETRY_ATTEMPTS;
       private_data->worker.worker_private  = private_data;
       
       private_data->worker.validate        = validate;
  
  
  
  1.2       +63 -0     jakarta-tomcat-connectors/jk/src/native/common/jk_ajp13_worker.h
  
  Index: jk_ajp13_worker.h
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-connectors/jk/src/native/common/jk_ajp13_worker.h,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- jk_ajp13_worker.h 2001/05/14 09:33:12     1.1
  +++ jk_ajp13_worker.h 2001/05/18 16:45:05     1.2
  @@ -56,20 +56,83 @@
   /***************************************************************************
    * Description: ajpv1.3 worker header file                                 *
    * Author:      Gal Shachor <[EMAIL PROTECTED]>                           *
  - * Version:     $Revision: 1.1 $                                           *
  + * Version:     $Revision: 1.2 $                                           *
    ***************************************************************************/
   
   #ifndef JK_AJP13_WORKER_H
   #define JK_AJP13_WORKER_H
   
  +#include "jk_pool.h"
  +#include "jk_connect.h"
  +#include "jk_util.h"
  +#include "jk_msg_buff.h"
  +#include "jk_ajp13.h"
   #include "jk_logger.h"
   #include "jk_service.h"
  +#include "jk_mt.h"
   
   #ifdef __cplusplus
   extern "C" {
   #endif /* __cplusplus */
   
   #define JK_AJP13_WORKER_NAME ("ajp13")
  +
  +struct ajp13_operation;
  +typedef struct ajp13_operation ajp13_operation_t;
  +
  +struct ajp13_endpoint;
  +typedef struct ajp13_endpoint ajp13_endpoint_t;
  +
  +struct ajp13_worker;
  +typedef struct ajp13_worker ajp13_worker_t;
  +
  +struct ajp13_worker {
  +    struct sockaddr_in worker_inet_addr; /* Contains host and port */
  +    unsigned connect_retry_attempts;
  +    char *name;
  +
  +    /* 
  +     * 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;
  +    ajp13_endpoint_t **ep_cache;
  +
  +    jk_worker_t worker;
  +};
  +
  +/* 
  + * endpoint, the remote which will does the work
  + */
  +struct ajp13_endpoint {
  +    ajp13_worker_t *worker;
  +
  +    jk_pool_t pool;
  +    jk_pool_atom_t buf[BIG_POOL_SIZE];
  +
  +    int sd;
  +    int reuse;
  +    jk_endpoint_t endpoint;
  +
  +    unsigned left_bytes_to_send;
  +};
  +
  +/*
  + * little struct to avoid multiples ptr passing
  + * this struct is ready to hold upload file fd
  + * to add upload persistant storage
  + */
  +struct ajp13_operation {
  +    jk_msg_buf_t    *request;   /* original request storage */
  +    jk_msg_buf_t    *reply;     /* reply storage (chuncked by ajp13 */
  +    int     uploadfd;   /* future persistant storage id */
  +    int     recoverable;    /* if exchange could be conducted on another TC */
  +};
  +
   
   int JK_METHOD ajp13_worker_factory(jk_worker_t **w,
                                      const char *name,
  
  
  

Reply via email to