cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_ajp14_worker.c jk_worker_run.c jk_worker_status.c

2002-03-18 Thread costin

costin  02/03/18 10:24:23

  Modified:jk/native2/common jk_ajp14_worker.c jk_worker_run.c
jk_worker_status.c
  Log:
  Update the worker config mechanism
  
  Revision  ChangesPath
  1.18  +82 -57jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c
  
  Index: jk_ajp14_worker.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- jk_ajp14_worker.c 2 Mar 2002 06:06:54 -   1.17
  +++ jk_ajp14_worker.c 18 Mar 2002 18:24:23 -  1.18
  @@ -90,50 +90,60 @@
   /*
* Initialize the worker.
*/
  -static int JK_METHOD
  -jk2_worker_ajp14_setProperty(jk_env_t *env, jk_worker_t *_this,
  - char *name, char *value )
  +static int 
  +jk2_worker_ajp14_setAttribute(jk_env_t *env, jk_bean_t *mbean, 
  +  char *name, void *valueP )
   {
  +jk_worker_t *ajp14=(jk_worker_t *)mbean-object;
  +char *value=(char *)valueP;
   intport;
   char * host;
   int err;
  -jk_worker_t *p = _this;
   char * secret_key;
   char *channelType;
  
   if( strcmp( name, secretkey )==0 ) {
  -_this-secret = value;
  +ajp14-secret = value;
   } else if( strcmp( name, cachesize )==0 ) {
  -_this-cache_sz=atoi( value );
  +ajp14-cache_sz=atoi( value );
  +} else if( strcmp( name, lb_factor )==0 ) {
  +ajp14-lb_factor=atof( value );
   } else if( strcmp( name, channel )==0 ) {
  -_this-channel=env-getInstance(env, _this-pool,channel,
  -value );
  -if( _this-channel == NULL ) {
  +if( strncmp( value, channel., 8 ) != 0 ) {
  +char *newValue=(char *)ajp14-pool-calloc( env, ajp14-pool, 
strlen(value) + 10 );
  +strcpy( newValue, channel. );
  +strcat( newValue, value );
  +env-l-jkLog(env, env-l, JK_LOG_INFO, ajp14.setProperty() auto 
replace %s %s\n,
  +  value, newValue);
  +value=newValue;
  +}
  +ajp14-channel=env-createInstance(env, ajp14-pool, value, NULL );
  +if( ajp14-channel == NULL ) {
   env-l-jkLog(env, env-l, JK_LOG_ERROR,
  -  Error creating %s channel\n, channelType);
  +  Error creating %s channel\n, channelType );
   return JK_FALSE;
   }
  -_this-channel-worker=_this;
  -_this-channel-name=value;
  -env-l-jkLog(env, env-l, JK_LOG_INFO, endpoint.setProperty() channel 
%s\n,
  -  value);
  -} else {
  +env-l-jkLog(env, env-l, JK_LOG_INFO, ajp14.setProperty() channel: %s 
%s\n,
  +  value,ajp14-channel-mbean-name);
  +
  + } else {
   /* It's probably a channel property
*/
  -if( _this-channel==NULL ) {
  +if( ajp14-channel==NULL ) {
  +
   env-l-jkLog(env, env-l, JK_LOG_ERROR,
 No channel for %s, set channel before other properties 
%s=%s\n,
  -  _this-name, name, value );
  +  mbean-name, name, value );
   return JK_FALSE;
   }
   
   env-l-jkLog(env, env-l, JK_LOG_INFO, endpoint.setProperty() channel 
%s=%s\n,
 name, value);
  -_this-channel-setProperty( env, _this-channel, name, value );
  +ajp14-channel-mbean-setAttribute( env, ajp14-channel-mbean, name, 
value );
   }
   
   env-l-jkLog(env, env-l, JK_LOG_INFO,
  -  ajp14.setProperty() %s %s %s\n, _this-name, name, value );
  +  ajp14.setProperty() %s %s %s\n, mbean-name, name, value );
   
   return JK_TRUE;
   }
  @@ -144,7 +154,7 @@
   static void jk2_close_endpoint(jk_env_t *env, jk_endpoint_t *ae)
   {
   env-l-jkLog(env, env-l, JK_LOG_INFO, endpoint.close() %s\n,
  -  ae-worker-name);
  +  ae-worker-mbean-name);
   
   ae-reuse = JK_FALSE;
   ae-worker-channel-close( env, ae-worker-channel, ae );
  @@ -164,7 +174,7 @@
   
   if( err != JK_TRUE ) {
   env-l-jkLog(env, env-l, JK_LOG_ERROR,
  -  ajp14.connect() failed %s\n, ae-worker-name );
  +  ajp14.connect() failed %s\n, ae-worker-mbean-name );
   return JK_FALSE;
   }
   
  @@ -234,13 +244,13 @@
   if( e-recoverable != JK_TRUE ) {
   env-l-jkLog(env, env-l, JK_LOG_ERROR,
ajp14.service() error sending request %s, giving up\n,
  - worker-name);
  + worker-mbean-name);
   return JK_FALSE;
   }
   
   

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_ajp14_worker.c

2002-03-01 Thread costin

costin  02/03/01 22:06:54

  Modified:jk/native2/common jk_ajp14_worker.c
  Log:
  setProperty style for configuration.
  
  Revision  ChangesPath
  1.17  +52 -77jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c
  
  Index: jk_ajp14_worker.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- jk_ajp14_worker.c 21 Feb 2002 11:09:31 -  1.16
  +++ jk_ajp14_worker.c 2 Mar 2002 06:06:54 -   1.17
  @@ -91,48 +91,49 @@
* Initialize the worker.
*/
   static int JK_METHOD
  -jk2_worker_ajp14_validate(jk_env_t *env, jk_worker_t *_this,
  - jk_map_t*props,
  - jk_workerEnv_t *we)
  +jk2_worker_ajp14_setProperty(jk_env_t *env, jk_worker_t *_this,
  + char *name, char *value )
   {
   intport;
   char * host;
   int err;
   jk_worker_t *p = _this;
  -jk_worker_t *aw;
   char * secret_key;
   char *channelType;
  -
  -aw = _this;
  -_this-secret = jk2_map_getStrProp( env, props,
  -   worker, aw-name, secretkey, NULL );
  -_this-secret= _this-pool-pstrdup(env, _this-pool, _this-secret);
  -
  -channelType = jk2_map_getStrProp( env, props,
  - worker, aw-name, channel, socket );
  -
  -if( _this-channel == NULL ) {
  - /* Create a default channel */
  - _this-channel=env-getInstance(env, _this-pool,channel,
  -channelType );
  -
  - if( _this-channel == NULL ) {
  - env-l-jkLog(env, env-l, JK_LOG_ERROR,
  +   
  +if( strcmp( name, secretkey )==0 ) {
  +_this-secret = value;
  +} else if( strcmp( name, cachesize )==0 ) {
  +_this-cache_sz=atoi( value );
  +} else if( strcmp( name, channel )==0 ) {
  +_this-channel=env-getInstance(env, _this-pool,channel,
  +value );
  +if( _this-channel == NULL ) {
  +env-l-jkLog(env, env-l, JK_LOG_ERROR,
 Error creating %s channel\n, channelType);
  - return JK_FALSE;
  - }
  -}
  -
  -err=_this-channel-init( env, _this-channel, props, p-name, _this);
  -if( err != JK_TRUE ) {
  - env-l-jkLog(env, env-l, JK_LOG_ERROR,
  -  ajp14.validate(): channel init failed\n);
  - return err;
  +return JK_FALSE;
  +}
  +_this-channel-worker=_this;
  +_this-channel-name=value;
  +env-l-jkLog(env, env-l, JK_LOG_INFO, endpoint.setProperty() channel 
%s\n,
  +  value);
  +} else {
  +/* It's probably a channel property
  + */
  +if( _this-channel==NULL ) {
  +env-l-jkLog(env, env-l, JK_LOG_ERROR,
  +  No channel for %s, set channel before other properties 
%s=%s\n,
  +  _this-name, name, value );
  +return JK_FALSE;
  +}
  +
  +env-l-jkLog(env, env-l, JK_LOG_INFO, endpoint.setProperty() channel 
%s=%s\n,
  +  name, value);
  +_this-channel-setProperty( env, _this-channel, name, value );
   }
   
   env-l-jkLog(env, env-l, JK_LOG_INFO,
  -  ajp14.validate() %s %s\n, _this-name,
  -  _this-channel-name);
  +  ajp14.setProperty() %s %s %s\n, _this-name, name, value );
   
   return JK_TRUE;
   }
  @@ -511,26 +512,20 @@
   
   
   static int JK_METHOD
  -jk2_worker_ajp14_init(jk_env_t *env, jk_worker_t *_this,
  - jk_map_t*props, 
  - jk_workerEnv_t *we)
  +jk2_worker_ajp14_init(jk_env_t *env, jk_worker_t *_this)
   {
  -jk_endpoint_t *e;
   int  rc;
  -int cache_sz;
   
  -/* start the connection cache */
  -cache_sz=jk2_map_getIntProp(env, props,
  -   worker, _this-name, cachesize,
  -   JK_OBJCACHE_DEFAULT_SZ );
  -if (cache_sz  0) {
  -int err;
  -_this-endpointCache=jk2_objCache_create( env, _this-pool  );
  +if( _this-cache_sz == -1 )
  +_this-cache_sz=JK_OBJCACHE_DEFAULT_SZ;
   
  +if (_this-cache_sz  0) {
  +_this-endpointCache=jk2_objCache_create( env, _this-pool  );
  +
   if( _this-endpointCache != NULL ) {
  -err=_this-endpointCache-init( env, _this-endpointCache,
  -cache_sz );
  -if( err!= JK_TRUE ) {
  +rc=_this-endpointCache-init( env, _this-endpointCache,
  +   _this-cache_sz );
  +if( rc!= JK_TRUE ) {
   

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_ajp14_worker.c jk_channel_apr_socket.c jk_channel_jni.c jk_channel_socket.c

2002-02-21 Thread hgomez

hgomez  02/02/21 03:09:31

  Modified:jk/native2/common jk_ajp14_worker.c jk_channel_apr_socket.c
jk_channel_jni.c jk_channel_socket.c
  Log:
  First batch of jk2 renaming commit
  
  Revision  ChangesPath
  1.16  +39 -39jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c
  
  Index: jk_ajp14_worker.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- jk_ajp14_worker.c 6 Feb 2002 19:13:10 -   1.15
  +++ jk_ajp14_worker.c 21 Feb 2002 11:09:31 -  1.16
  @@ -91,7 +91,7 @@
* Initialize the worker.
*/
   static int JK_METHOD
  -jk_worker_ajp14_validate(jk_env_t *env, jk_worker_t *_this,
  +jk2_worker_ajp14_validate(jk_env_t *env, jk_worker_t *_this,
jk_map_t*props,
jk_workerEnv_t *we)
   {
  @@ -104,11 +104,11 @@
   char *channelType;
   
   aw = _this;
  -_this-secret = jk_map_getStrProp( env, props,
  +_this-secret = jk2_map_getStrProp( env, props,
  worker, aw-name, secretkey, NULL );
   _this-secret= _this-pool-pstrdup(env, _this-pool, _this-secret);
   
  -channelType = jk_map_getStrProp( env, props,
  +channelType = jk2_map_getStrProp( env, props,
worker, aw-name, channel, socket );
   
   if( _this-channel == NULL ) {
  @@ -140,7 +140,7 @@
   /*
* Close the endpoint (clean buf and close socket)
*/
  -static void jk_close_endpoint(jk_env_t *env, jk_endpoint_t *ae)
  +static void jk2_close_endpoint(jk_env_t *env, jk_endpoint_t *ae)
   {
   env-l-jkLog(env, env-l, JK_LOG_INFO, endpoint.close() %s\n,
 ae-worker-name);
  @@ -155,7 +155,7 @@
   
   /** Connect a channel, implementing the logging protocol if ajp14
*/
  -static int jk_worker_ajp14_connect(jk_env_t *env, jk_endpoint_t *ae) {
  +static int jk2_worker_ajp14_connect(jk_env_t *env, jk_endpoint_t *ae) {
   jk_channel_t *channel=ae-worker-channel;
   jk_msg_t *msg;
   
  @@ -179,7 +179,7 @@
   is a reconnect */
   msg=ae-reply;
   
  -jk_serialize_ping( env, msg, ae );
  +jk2_serialize_ping( env, msg, ae );
   
   err = ae-worker-channel-send( env, ae-worker-channel, ae, msg );
   
  @@ -190,7 +190,7 @@
   /* Anything but OK - the login failed
*/
   if( err != JK_TRUE ) {
  -jk_close_endpoint( env, ae );
  +jk2_close_endpoint( env, ae );
   }
   return err;
   }
  @@ -204,7 +204,7 @@
   fails, try to reconnect.
   */
   static int JK_METHOD
  -jk_worker_ajp14_sendAndReconnect(jk_env_t *env, jk_worker_t *worker,
  +jk2_worker_ajp14_sendAndReconnect(jk_env_t *env, jk_worker_t *worker,
 jk_ws_service_t *s,
 jk_endpoint_t   *e )
   {
  @@ -243,7 +243,7 @@
   
   channel-close( env, channel, e );
   
  -err=jk_worker_ajp14_connect(env, e); 
  +err=jk2_worker_ajp14_connect(env, e); 
   
   if( err != JK_TRUE ) {
   env-l-jkLog(env, env-l, JK_LOG_ERROR,
  @@ -263,13 +263,13 @@
   
   
   static int JK_METHOD
  -jk_worker_ajp14_forwardStream(jk_env_t *env, jk_worker_t *worker,
  +jk2_worker_ajp14_forwardStream(jk_env_t *env, jk_worker_t *worker,
 jk_ws_service_t *s,
 jk_endpoint_t   *e )
   {
   int err;
   
  -err=jk_worker_ajp14_sendAndReconnect( env, worker, s, e );
  +err=jk2_worker_ajp14_sendAndReconnect( env, worker, s, e );
   if( err!=JK_TRUE )
   return err;
   
  @@ -287,7 +287,7 @@
 * for resend if the remote Tomcat is down, a fact we will learn only
 * doing a read (not yet) 
 */
  -err=jk_serialize_postHead( env, e-post, s, e );
  +err=jk2_serialize_postHead( env, e-post, s, e );
   
   if (err != JK_TRUE ) {
   /* the browser stop sending data, no need to recover */
  @@ -325,7 +325,7 @@
   }
   
   static int JK_METHOD
  -jk_worker_ajp14_forwardSingleThread(jk_env_t *env, jk_worker_t *worker,
  +jk2_worker_ajp14_forwardSingleThread(jk_env_t *env, jk_worker_t *worker,
   jk_ws_service_t *s,
   jk_endpoint_t   *e )
   {
  @@ -343,7 +343,7 @@
   }

   static int JK_METHOD
  -jk_worker_ajp14_service1(jk_env_t *env, jk_worker_t *w,
  +jk2_worker_ajp14_service1(jk_env_t *env, jk_worker_t *w,
   jk_ws_service_t *s,
   jk_endpoint_t   *e )
   {
  @@ -374,7 +374,7 @@
   /* 
* We get here initial request (in reqmsg)
*/
  -err=jk_serialize_request13(env, e-request, s, e);
  +

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_ajp14_worker.c

2002-02-06 Thread costin

costin  02/02/06 11:13:10

  Modified:jk/native2/common jk_ajp14_worker.c
  Log:
  Added the same secret option.
  
  Revision  ChangesPath
  1.15  +16 -52jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c
  
  Index: jk_ajp14_worker.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- jk_ajp14_worker.c 26 Jan 2002 07:03:42 -  1.14
  +++ jk_ajp14_worker.c 6 Feb 2002 19:13:10 -   1.15
  @@ -101,35 +101,18 @@
   jk_worker_t *p = _this;
   jk_worker_t *aw;
   char * secret_key;
  -int proto=AJP14_PROTO;
   char *channelType;
   
   aw = _this;
  -secret_key = jk_map_getStrProp( env, props,
  -worker, aw-name, secretkey, NULL );
  -
  +_this-secret = jk_map_getStrProp( env, props,
  +   worker, aw-name, secretkey, NULL );
  +_this-secret= _this-pool-pstrdup(env, _this-pool, _this-secret);
  +
   channelType = jk_map_getStrProp( env, props,
worker, aw-name, channel, socket );
   
  -if ((!secret_key) || (!strlen(secret_key))) {
  -proto=AJP13_PROTO;
  -aw-proto= AJP13_PROTO;
  -}
  -
  -if (proto == AJP13_PROTO) {
  - port = AJP13_DEF_PORT;
  - host = AJP13_DEF_HOST;
  -} else if (proto == AJP14_PROTO) {
  - port = AJP14_DEF_PORT;
  - host = AJP14_DEF_HOST;
  -} else {
  - env-l-jkLog(env, env-l, JK_LOG_ERROR,
  - ajp14.validate() unknown protocol %d\n,proto);
  - return JK_FALSE;
  -} 
   if( _this-channel == NULL ) {
/* Create a default channel */
  -
_this-channel=env-getInstance(env, _this-pool,channel,
   channelType );
   
  @@ -141,7 +124,6 @@
   }
   
   err=_this-channel-init( env, _this-channel, props, p-name, _this);
  -
   if( err != JK_TRUE ) {
env-l-jkLog(env, env-l, JK_LOG_ERROR,
 ajp14.validate(): channel init failed\n);
  @@ -149,8 +131,8 @@
   }
   
   env-l-jkLog(env, env-l, JK_LOG_INFO,
  -  ajp14.validate() %s protocol=%s\n, _this-name,
  -  ((_this-secret==NULL) ? ajp13 : ajp14));
  +  ajp14.validate() %s %s\n, _this-name,
  +  _this-channel-name);
   
   return JK_TRUE;
   }
  @@ -213,6 +195,11 @@
   return err;
   }
   
  +/** There is no point of trying multiple times - each channel may
  +have built-in recovery mechanisms
  +*/
  +#define JK_RETRIES 2
  +
   /** First message in a stream-based connection. If the first send
   fails, try to reconnect.
   */
  @@ -231,7 +218,7 @@
* XXX JK_RETRIES could be replaced by the number of workers in
* a load-balancing configuration 
*/
  -for(attempt = 0 ; attempt  worker-connect_retry_attempts ;attempt++) {
  +for(attempt = 0 ; attempt  JK_RETRIES ;attempt++) {
   jk_channel_t *channel= worker-channel;
   
   /* e-request-dump(env, e-request, Before sending ); */
  @@ -387,7 +374,7 @@
   /* 
* We get here initial request (in reqmsg)
*/
  -err=jk_serialize_request13(env, e-request, s);
  +err=jk_serialize_request13(env, e-request, s, e);
   if (err!=JK_TRUE) {
s-is_recoverable_error = JK_FALSE;
env-l-jkLog(env, env-l, JK_LOG_ERROR,
  @@ -497,7 +484,6 @@
   e-cPool=endpointPool-create(env, endpointPool, HUGE_POOL_SIZE );
   
   e-worker = _this;
  -e-proto = _this-proto;
   e-channelData = NULL;
   
   *eP = e;
  @@ -531,23 +517,8 @@
   {
   jk_endpoint_t *e;
   int  rc;
  -char *secret_key;
  -int proto=AJP14_PROTO;
   int cache_sz;
   
  -secret_key = jk_map_getStrProp( env, props,
  -worker, _this-name, secretkey, NULL );
  -
  -if( secret_key==NULL ) {
  -proto=AJP13_PROTO;
  -_this-proto= AJP13_PROTO;
  -_this-secret=NULL;
  -} else {
  -/* Set Secret Key (used at logon time) */
  -_this-secret = _this-pool-pstrdup(env, _this-pool, secret_key);
  -}
  -
  -
   /* start the connection cache */
   cache_sz=jk_map_getIntProp(env, props,
  worker, _this-name, cachesize,
  @@ -567,10 +538,6 @@
   _this-endpointCache=NULL;
   }
   
  -/* Set WebServerName (used at logon time) */
  -if( we-server_name == NULL )
  -we-server_name = _this-pool-pstrdup(env, we-pool,we-server_name);
  -
   if (_this-secret == NULL) {
   /* No extra initialization for AJP13 */
   env-l-jkLog(env, env-l, JK_LOG_INFO,
  @@ -617,9 +584,9 @@
 

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_ajp14_worker.c

2002-01-25 Thread costin

costin  02/01/25 23:03:42

  Modified:jk/native2/common jk_ajp14_worker.c
  Log:
  That's one of the biggest changes.
  
  First, the endpoint management is now more explicit and direct - since this
  worker is sending the request, it needs endpoint and it recycles it.
  
  Second, we treat jni as a particular case - with a different way to handle it.
  What's nice is that now almost all of the code is shared and common - we do get
  reused endpoints for jni and all the good stuff from ajp ( including efficient
  c2b and less GC ).
  
  Revision  ChangesPath
  1.14  +173 -125  jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c
  
  Index: jk_ajp14_worker.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- jk_ajp14_worker.c 12 Jan 2002 05:05:12 -  1.13
  +++ jk_ajp14_worker.c 26 Jan 2002 07:03:42 -  1.14
  @@ -72,35 +72,7 @@
   #include jk_service.h
   #include jk_env.h
   #include jk_objCache.h
  -#include jk_ajp14.h
  -
  -int JK_METHOD jk_worker_ajp14_factory( jk_env_t *env, jk_pool_t *pool, void 
**result,
  -   const char *type, const char *name);
  -
  -static int JK_METHOD
  -jk_worker_ajp14_service(jk_env_t *env, jk_endpoint_t   *e,
  -jk_ws_service_t *s,
  -int *is_recoverable_error);
  -
  -static int JK_METHOD
  -jk_worker_ajp14_validate(jk_env_t *env, jk_worker_t *_this,
  - jk_map_t*props,
  - jk_workerEnv_t *we );
  -
  -static int JK_METHOD
  -jk_worker_ajp14_done(jk_env_t *env, jk_endpoint_t *e);
  -
  -static int JK_METHOD
  -jk_worker_ajp14_getEndpoint(jk_env_t *env, jk_worker_t *_this,
  -jk_endpoint_t **e);
  -
  -static int JK_METHOD
  -jk_worker_ajp14_init(jk_env_t *env, jk_worker_t *_this,
  - jk_map_t*props, 
  - jk_workerEnv_t *we);
  -
  -static int JK_METHOD
  -jk_worker_ajp14_destroy(jk_env_t *env, jk_worker_t *_this);
  +#include jk_registry.h
   
   
   #define AJP_DEF_RETRY_ATTEMPTS(2)
  @@ -114,37 +86,6 @@
   
   /*  Impl  */
   
  -int JK_METHOD jk_worker_ajp14_factory( jk_env_t *env, jk_pool_t *pool,
  -   void **result,
  -   const char *type, const char *name)
  -{
  -jk_worker_t *w=(jk_worker_t *)pool-calloc(env, pool, sizeof(jk_worker_t));
  -
  -if (name == NULL || w == NULL) {
  -env-l-jkLog(env, env-l, JK_LOG_ERROR,
  -  ajp14.factory() NullPointerException\n);
  -return JK_FALSE;
  -}
  -w-pool = pool;
  -w-name = NULL;
  -
  -w-proto= AJP14_PROTO;
  -
  -w-endpointCache= NULL;
  -w-connect_retry_attempts= AJP_DEF_RETRY_ATTEMPTS;
  -
  -w-channel= NULL;
  -w-secret= NULL;
  -   
  -w-validate= jk_worker_ajp14_validate;
  -w-init= jk_worker_ajp14_init;
  -w-get_endpoint= jk_worker_ajp14_getEndpoint;
  -w-destroy=jk_worker_ajp14_destroy;
  -
  -*result = w;
  -
  -return JK_TRUE;
  -}
   
   /*
* Initialize the worker.
  @@ -199,13 +140,11 @@
}
   }
   
  -_this-channel-setProperty( env, _this-channel, defaultPort, 8007 );
  -
   err=_this-channel-init( env, _this-channel, props, p-name, _this);
   
   if( err != JK_TRUE ) {
env-l-jkLog(env, env-l, JK_LOG_ERROR,
  -  ajp14.validate(): resolve failed\n);
  +  ajp14.validate(): channel init failed\n);
return err;
   }
   
  @@ -260,7 +199,7 @@
   
   jk_serialize_ping( env, msg, ae );
   
  -err = msg-send( env, msg, ae );
  +err = ae-worker-channel-send( env, ae-worker-channel, ae, msg );
   
   /* Move to 'slave' mode, listening to messages */
   err=ae-worker-workerEnv-processCallbacks( env, ae-worker-workerEnv,
  @@ -274,56 +213,17 @@
   return err;
   }
   
  -
  -/*
  - * Serve the request, using AJP13/AJP14
  - */
  -static int JK_METHOD
  -jk_worker_ajp14_service(jk_env_t *env, jk_endpoint_t   *e, 
  -jk_ws_service_t *s,
  -int  *is_recoverable_error)
  +/** First message in a stream-based connection. If the first send
  +fails, try to reconnect.
  +*/
  +static int JK_METHOD
  +jk_worker_ajp14_sendAndReconnect(jk_env_t *env, jk_worker_t *worker,
  +  jk_ws_service_t *s,
  +  jk_endpoint_t   *e )
   {
  -int err;
   int attempt;
  -int hasPost=JK_FALSE;
  -
  -if( ( e== NULL ) 
  - || ( s == NULL )
  -|| ! is_recoverable_error ) {
  - env-l-jkLog(env, env-l, JK_LOG_ERROR,
  -  

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_ajp14_worker.c

2002-01-11 Thread costin

costin  02/01/11 21:05:12

  Modified:jk/native2/common jk_ajp14_worker.c
  Log:
  Make channel a configurable option.
  
  Revision  ChangesPath
  1.13  +24 -12jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c
  
  Index: jk_ajp14_worker.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- jk_ajp14_worker.c 18 Dec 2001 22:51:55 -  1.12
  +++ jk_ajp14_worker.c 12 Jan 2002 05:05:12 -  1.13
  @@ -161,11 +161,15 @@
   jk_worker_t *aw;
   char * secret_key;
   int proto=AJP14_PROTO;
  -
  +char *channelType;
  +
   aw = _this;
   secret_key = jk_map_getStrProp( env, props,
   worker, aw-name, secretkey, NULL );
  -
  +
  +channelType = jk_map_getStrProp( env, props,
  + worker, aw-name, channel, socket );
  +
   if ((!secret_key) || (!strlen(secret_key))) {
   proto=AJP13_PROTO;
   aw-proto= AJP13_PROTO;
  @@ -185,10 +189,12 @@
   if( _this-channel == NULL ) {
/* Create a default channel */
   
  - _this-channel=env-getInstance(env, _this-pool,channel, socket );
  + _this-channel=env-getInstance(env, _this-pool,channel,
  +channelType );
   
if( _this-channel == NULL ) {
  - env-l-jkLog(env, env-l, JK_LOG_ERROR, Error creating socket 
channel\n);
  + env-l-jkLog(env, env-l, JK_LOG_ERROR,
  +  Error creating %s channel\n, channelType);
return JK_FALSE;
}
   }
  @@ -215,7 +221,8 @@
*/
   static void jk_close_endpoint(jk_env_t *env, jk_endpoint_t *ae)
   {
  -env-l-jkLog(env, env-l, JK_LOG_INFO, endpoint.close() %s\n, 
ae-worker-name);
  +env-l-jkLog(env, env-l, JK_LOG_INFO, endpoint.close() %s\n,
  +  ae-worker-name);
   
   ae-reuse = JK_FALSE;
   ae-worker-channel-close( env, ae-worker-channel, ae );
  @@ -283,7 +290,8 @@
   if( ( e== NULL ) 
|| ( s == NULL )
   || ! is_recoverable_error ) {
  - env-l-jkLog(env, env-l, JK_LOG_ERROR, ajp14.service() 
NullPointerException\n);
  + env-l-jkLog(env, env-l, JK_LOG_ERROR,
  +  ajp14.service() NullPointerException\n);
return JK_FALSE;
   }
   
  @@ -323,7 +331,7 @@
* XXX JK_RETRIES could be replaced by the number of workers in
* a load-balancing configuration 
*/
  -for(attempt = 0 ; attempt  e-worker-connect_retry_attempts ; attempt++) {
  +for(attempt = 0 ; attempt  e-worker-connect_retry_attempts ;attempt++) {
   jk_channel_t *channel=e-worker-channel;
   
   /* e-request-dump(env, e-request, Before sending ); */
  @@ -383,7 +391,7 @@
   /* the browser stop sending data, no need to recover */
   e-recoverable = JK_FALSE;
   env-l-jkLog(env, env-l, JK_LOG_ERROR,
  -  ajp14.service() Error receiving initial post data\n);
  +  ajp14.service() Error receiving initial post \n);
   return JK_FALSE;
   }
   
  @@ -407,7 +415,8 @@
   
   if( err != JK_TRUE ) {
   env-l-jkLog(env, env-l, JK_LOG_ERROR,
  -  ajp14.service() ajpGetReply recoverable error %d\n, err);
  +  ajp14.service() ajpGetReply recoverable error %d\n,
  +  err);
   }
   
   return err;
  @@ -427,7 +436,8 @@
   int err=0;
   err=w-endpointCache-put( env, w-endpointCache, e );
   if( err==JK_TRUE ) {
  -env-l-jkLog(env, env-l, JK_LOG_INFO, ajp14.done() return to pool 
%s\n,
  +env-l-jkLog(env, env-l, JK_LOG_INFO,
  +  ajp14.done() return to pool %s\n,
 w-name );
   return JK_TRUE;
   }
  @@ -531,7 +541,8 @@
   _this-endpointCache=jk_objCache_create( env, _this-pool  );
   
   if( _this-endpointCache != NULL ) {
  -err=_this-endpointCache-init( env, _this-endpointCache, cache_sz );
  +err=_this-endpointCache-init( env, _this-endpointCache,
  +cache_sz );
   if( err!= JK_TRUE ) {
   _this-endpointCache=NULL;
   }
  @@ -546,7 +557,8 @@
   
   if (_this-secret == NULL) {
   /* No extra initialization for AJP13 */
  -env-l-jkLog(env, env-l, JK_LOG_INFO, ajp14.init() ajp1x worker 
name=%s\n,
  +env-l-jkLog(env, env-l, JK_LOG_INFO,
  +  ajp14.init() ajp1x worker name=%s\n,
 _this-name);
   return JK_TRUE;
   }
  
  
  

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For 

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_ajp14_worker.c jk_channel_socket.c jk_handler_discovery.c jk_handler_logon.c jk_handler_response.c jk_lb_worker.c jk_logger_file.c jk_uriMap.c jk_workerEnv.c

2001-12-13 Thread costin

costin  01/12/13 10:49:01

  Modified:jk/native2/common jk_ajp14_worker.c jk_channel_socket.c
jk_handler_discovery.c jk_handler_logon.c
jk_handler_response.c jk_lb_worker.c
jk_logger_file.c jk_uriMap.c jk_workerEnv.c
  Log:
  Cosmetic changes on messsages and code, minor fixes.
  
  Revision  ChangesPath
  1.8   +20 -20jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c
  
  Index: jk_ajp14_worker.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- jk_ajp14_worker.c 2001/12/12 23:36:01 1.7
  +++ jk_ajp14_worker.c 2001/12/13 18:49:01 1.8
  @@ -82,7 +82,7 @@
   jk_logger_t *l, int *is_recoverable_error);
   
   static int JK_METHOD
  -jk_worker_ajp14_validate(jk_worker_t *pThis, jk_map_t*props,
  +jk_worker_ajp14_validate(jk_worker_t *_this, jk_map_t*props,
jk_workerEnv_t *we, jk_logger_t *l );
   
   static int JK_METHOD
  @@ -97,7 +97,7 @@
jk_workerEnv_t *we, jk_logger_t *l);
   
   static int JK_METHOD
  -jk_worker_ajp14_destroy(jk_worker_t **pThis, jk_logger_t *l);
  +jk_worker_ajp14_destroy(jk_worker_t **_this, jk_logger_t *l);
   
   
   #define AJP_DEF_RETRY_ATTEMPTS(2)
  @@ -123,7 +123,7 @@
   return JK_FALSE;
   }
   w-pool = pool;
  -w-name = (char *)pool-pstrdup(pool, name);
  +w-name = NULL;
   
   w-proto= AJP14_PROTO;
   
  @@ -140,9 +140,6 @@
   
   *result = w;
   
  -l-jkLog(l, JK_LOG_INFO, ajp14.factory() Created %s %s\n,
  - w-name, name);
  -
   return JK_TRUE;
   }
   
  @@ -167,8 +164,6 @@
   secret_key = map_getStrProp( props, worker, aw-name, secretkey, NULL );
   
   if ((!secret_key) || (!strlen(secret_key))) {
  -l-jkLog(l, JK_LOG_INFO,
  -   ajp14.validate() No secretkey, use AJP13\n);
   proto=AJP13_PROTO;
   aw-proto= AJP13_PROTO;
   }
  @@ -205,7 +200,8 @@
return err;
   }
   
  -l-jkLog(l, JK_LOG_INFO, ajp14.validate() %s\n, _this-name);
  +l-jkLog(l, JK_LOG_INFO, ajp14.validate() %s protocol=%s\n, _this-name,
  + ((_this-secret==NULL) ? ajp13 : ajp14));
   
   return JK_TRUE;
   }
  @@ -219,11 +215,11 @@
   l-jkLog(l, JK_LOG_INFO, endpoint.close() %s\n, ae-worker-name);
   
   ae-reuse = JK_FALSE;
  -ae-pool-reset( ae-pool );
  -ae-pool-close( ae-pool );
  +ae-worker-channel-close( ae-worker-channel, ae );
   ae-cPool-reset( ae-cPool );
   ae-cPool-close( ae-cPool );
  -ae-worker-channel-close( ae-worker-channel, ae );
  +ae-pool-reset( ae-pool );
  +ae-pool-close( ae-pool );
   }
   
   /** Connect a channel, implementing the logging protocol if ajp14
  @@ -442,7 +438,7 @@
   *eP = NULL;
   l-jkLog(l, JK_LOG_INFO, ajp14.done() close endpoint %s\n,
w-name );
  -
  +
   return JK_TRUE;
   }
   
  @@ -548,7 +544,8 @@
   
   if (_this-secret == NULL) {
   /* No extra initialization for AJP13 */
  -l-jkLog(l, JK_LOG_INFO, ajp14.init() ajp13 mode %s\n,_this-name);
  +l-jkLog(l, JK_LOG_INFO, ajp14.init() ajp1x worker name=%s\n,
  + _this-name);
   return JK_TRUE;
   }
   
  @@ -580,19 +577,19 @@
   
   
   static int JK_METHOD
  -jk_worker_ajp14_destroy(jk_worker_t **pThis, jk_logger_t *l)
  +jk_worker_ajp14_destroy(jk_worker_t **_thisP, jk_logger_t *l)
   {
  -jk_worker_t *aw = *pThis;
  +jk_worker_t *_this = *_thisP;
   int i;
   
   l-jkLog(l, JK_LOG_DEBUG, ajp14.destroy()\n);
   
  -if( aw-endpointCache != NULL ) {
  +if( _this-endpointCache != NULL ) {
   
  -for( i=0; i aw-endpointCache-ep_cache_sz; i++ ) {
  +for( i=0; i _this-endpointCache-ep_cache_sz; i++ ) {
   jk_endpoint_t *e;
   
  -e= aw-endpointCache-get( aw-endpointCache );
  +e= _this-endpointCache-get( _this-endpointCache );
   
   if( e==NULL ) {
   // we finished all endpoints in the cache
  @@ -601,11 +598,14 @@
   
   jk_close_endpoint(e, l);
   }
  -aw-endpointCache-destroy( aw-endpointCache );
  +_this-endpointCache-destroy( _this-endpointCache );
   
   l-jkLog(l, JK_LOG_DEBUG, ajp14.destroy() closed %d cached endpoints\n,
i);
   }
   
  +_this-pool-close( _this-pool );
  +
  +*_thisP=NULL;
   return JK_TRUE;
   }
  
  
  
  1.8   +1 -0  jakarta-tomcat-connectors/jk/native2/common/jk_channel_socket.c
  
  Index: jk_channel_socket.c
  ===
  RCS file: 

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_ajp14_worker.c jk_channel_socket.c jk_env.c jk_handler_discovery.c jk_handler_logon.c jk_handler_response.c jk_jni_worker.c jk_lb_worker.c jk_logger_file.c jk_uriMap.c jk_workerEnv.c

2001-12-13 Thread costin

costin  01/12/13 23:12:42

  Modified:jk/native2/common jk_ajp14_worker.c jk_channel_socket.c
jk_env.c jk_handler_discovery.c jk_handler_logon.c
jk_handler_response.c jk_jni_worker.c
jk_lb_worker.c jk_logger_file.c jk_uriMap.c
jk_workerEnv.c
  Log:
  Use the new interface to maps.
  
  Revision  ChangesPath
  1.9   +12 -5 jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c
  
  Index: jk_ajp14_worker.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- jk_ajp14_worker.c 2001/12/13 18:49:01 1.8
  +++ jk_ajp14_worker.c 2001/12/14 07:12:42 1.9
  @@ -161,7 +161,8 @@
   int proto=AJP14_PROTO;
   
   aw = _this;
  -secret_key = map_getStrProp( props, worker, aw-name, secretkey, NULL );
  +secret_key = jk_map_getStrProp( we-env, props,
  +worker, aw-name, secretkey, NULL );
   
   if ((!secret_key) || (!strlen(secret_key))) {
   proto=AJP13_PROTO;
  @@ -418,11 +419,17 @@
   
   w= e-worker;
   
  +l-jkLog(l, JK_LOG_INFO, ajp14.done() before reset pool %p\n,
  + e-cPool );
   if( e-cPool != NULL ) 
   e-cPool-reset(e-cPool);
  +l-jkLog(l, JK_LOG_INFO, ajp14.done() after reset pool %p\n,
  + e-cPool );
   
   if (w-endpointCache != NULL ) {
   int err=0;
  +l-jkLog(l, JK_LOG_INFO, ajp14.done() before return to pool %s\n,
  + w-name );
   
   err=w-endpointCache-put( w-endpointCache, e );
   if( err==JK_TRUE ) {
  @@ -507,8 +514,8 @@
   int proto=AJP14_PROTO;
   int cache_sz;
   
  -secret_key = map_getStrProp( props, worker, _this-name,
  - secretkey, NULL );
  +secret_key = jk_map_getStrProp( we-env, props,
  +worker, _this-name, secretkey, NULL );
   
   if( secret_key==NULL ) {
   proto=AJP13_PROTO;
  @@ -521,9 +528,9 @@
   
   
   /* start the connection cache */
  -cache_sz = map_getIntProp( props, worker, _this-name, cachesize,
  +cache_sz=jk_map_getIntProp(we-env, props,
  +   worker, _this-name, cachesize,
  JK_OBJCACHE_DEFAULT_SZ );
  -
   if (cache_sz  0) {
   int err;
   _this-endpointCache=jk_objCache_create( _this-pool, l );
  
  
  
  1.9   +9 -3  jakarta-tomcat-connectors/jk/native2/common/jk_channel_socket.c
  
  Index: jk_channel_socket.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_channel_socket.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- jk_channel_socket.c   2001/12/13 18:49:01 1.8
  +++ jk_channel_socket.c   2001/12/14 07:12:42 1.9
  @@ -156,9 +156,15 @@
   char *host=socketInfo-host;
   short port=socketInfo-port;
   struct sockaddr_in *rc=socketInfo-addr;
  -
  -port = map_getIntProp( props, worker, worker_name, port, port );
  -host = map_getStrProp( props, worker, worker_name, host, host);
  +jk_workerEnv_t *workerEnv=worker-workerEnv;
  +char *tmp;
  +
  +host = jk_map_getStrProp( NULL, props,
  +  worker, worker_name, host, host);
  +tmp = jk_map_getStrProp( NULL, props,
  +  worker, worker_name, port, NULL );
  +if( tmp != NULL )
  +port=jk_map_str2int( NULL, tmp);
   
   _this-worker=worker;
   _this-properties=props;
  
  
  
  1.6   +4 -3  jakarta-tomcat-connectors/jk/native2/common/jk_env.c
  
  Index: jk_env.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_env.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- jk_env.c  2001/12/12 23:36:01 1.5
  +++ jk_env.c  2001/12/14 07:12:42 1.6
  @@ -101,7 +101,8 @@
 }
   
 /** XXX add check for the type */
  -  result=(jk_env_objectFactory_t)map_get( env-_registry, typeName, NULL );
  +  result=(jk_env_objectFactory_t)env-_registry-get( env, env-_registry,
  +  typeName);
 free( typeName );
 return result;
   }
  @@ -146,7 +147,7 @@
 strcpy(typeName, type );
 strcat( typeName, / );
 strcat( typeName, name );
  -  map_put( env-_registry, typeName, fact, old );
  +  env-_registry-put( env, env-_registry, typeName, fact, old );
   }
   
   static void jk_env_initEnv( jk_env_t *env, char *id ) {
  @@ -155,7 +156,7 @@
 env-getFactory= jk_env_getFactory; 
 env-registerFactory= 

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_ajp14_worker.c

2001-12-12 Thread costin

costin  01/12/12 13:45:56

  Modified:jk/native2/common jk_ajp14_worker.c
  Log:
  Quite a few changes to support the separation between protocol and api and to
  use the new stuff.
  
  The 'endpoint reuse' has been abstracted in jk_objCache and is used by other
  components as well.
  
  The login phase has been changed to use only message-passing style. Apache will
  send a ping request, and then execute whatever tomcat asks him to in order to
  set up the connection.
  
  That means other login protocols could be implemented, and tomcat can use this
  phase to pass config informations ( or grab config information ).
  
  (note that the login code is broken right now, I need to change the java code
  as well. The biggest priority is getting ajp13 and the 'main' code working,
  any feature implementable by handlers can be finished after the code is stable )
  
  Revision  ChangesPath
  1.6   +331 -282  jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c
  
  Index: jk_ajp14_worker.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- jk_ajp14_worker.c 2001/12/06 22:54:44 1.5
  +++ jk_ajp14_worker.c 2001/12/12 21:45:55 1.6
  @@ -66,11 +66,13 @@
   #include jk_global.h
   #include jk_pool.h
   #include jk_channel.h
  -#include jk_msg_buff.h
  -#include jk_ajp14.h 
  +#include jk_msg.h
   #include jk_logger.h
  +#include jk_handler.h
   #include jk_service.h
   #include jk_env.h
  +#include jk_objCache.h
  +#include jk_ajp14.h
   
   int JK_METHOD jk_worker_ajp14_factory( jk_env_t *env, jk_pool_t *pool, void 
**result,
  const char *type, const char *name);
  @@ -98,43 +100,34 @@
   jk_worker_ajp14_destroy(jk_worker_t **pThis, jk_logger_t *l);
   
   
  -#define  JK_RETRIES 3
  +#define AJP_DEF_RETRY_ATTEMPTS(2)
  +#define AJP14_PROTO 14
  +#define AJP13_PROTO 13
  +
  +#define AJP13_DEF_HOST   (localhost)
  +#define AJP13_DEF_PORT   (8009)
  +#define AJP14_DEF_HOST   (localhost)
  +#define AJP14_DEF_PORT   (8011)
   
   /*  Impl  */
   
  -int JK_METHOD jk_worker_ajp14_factory( jk_env_t *env, jk_pool_t *pool, void 
**result,
  +int JK_METHOD jk_worker_ajp14_factory( jk_env_t *env, jk_pool_t *pool,
  +   void **result,
  const char *type, const char *name)
   {
   jk_logger_t *l=env-logger;
   jk_worker_t *w=(jk_worker_t *)pool-calloc(pool, sizeof(jk_worker_t));
   
  -l-jkLog(l, JK_LOG_DEBUG, Into ajp14_worker_factory\n);
  -
   if (name == NULL || w == NULL) {
  -l-jkLog(l, JK_LOG_ERROR, In ajp14_worker_factory, NULL parameters\n);
  +l-jkLog(l, JK_LOG_ERROR, ajp14.factory() NullPointerException\n);
   return JK_FALSE;
   }
   w-pool = pool;
  -w-name = strdup(name);
  +w-name = (char *)pool-pstrdup(pool, name);
   
   w-proto= AJP14_PROTO;
   
  -w-login= (jk_login_service_t *)malloc(sizeof(jk_login_service_t));
  -
  -if (w-login == NULL) {
  -l-jkLog(l, JK_LOG_ERROR,
  -   In ajp14_worker_factory, malloc failed for login area\n);
  -return JK_FALSE;
  -}
  - 
  -memset(w-login, 0, sizeof(jk_login_service_t));
  -
  -w-login-negociation=
  -(AJP14_CONTEXT_INFO_NEG | AJP14_PROTO_SUPPORT_AJP14_NEG);
  -w-login-web_server_name=NULL; /* must be set in init */
  -
  -w-ep_cache_sz= 0;
  -w-ep_cache= NULL;
  +w-endpointCache= NULL;
   w-connect_retry_attempts= AJP_DEF_RETRY_ATTEMPTS;
   
   w-channel= NULL;
  @@ -148,131 +141,17 @@
   
   *result = w;
   
  -return JK_TRUE;
  -}
  +l-jkLog(l, JK_LOG_INFO, ajp14.factory() Created %s %s\n,
  + w-name, name);
   
  -/*
  - * service is now splitted in ajp_send_request and ajp_get_reply
  - * much more easier to do errors recovery
  - *
  - * We serve here the request, using AJP13/AJP14 (e-proto)
  - *
  - */
  -static int JK_METHOD
  -jk_worker_ajp14_service(jk_endpoint_t   *e, 
  -jk_ws_service_t *s,
  -jk_logger_t *l,
  -int  *is_recoverable_error)
  -{
  -int i;
  -int err;
  -
  -l-jkLog(l, JK_LOG_DEBUG, Into jk_endpoint_t::service\n);
  -
  -if( ( e== NULL ) 
  - || ( s == NULL )
  -|| ! is_recoverable_error ) {
  - l-jkLog(l, JK_LOG_ERROR, jk_endpoint_t::service: NULL parameters\n);
  - return JK_FALSE;
  -}
  - 
  -e-request = jk_b_new(e-pool);
  -jk_b_set_buffer_size(e-request, DEF_BUFFER_SZ); 
  -jk_b_reset(e-request);
  -
  -e-reply = jk_b_new(e-pool);
  -jk_b_set_buffer_size(e-reply, DEF_BUFFER_SZ);
  -

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_ajp14_worker.c jk_jni_worker.c jk_channel_socket.c jk_endpoint.c jk_env.c jk_handler_logon.c jk_handler_response.c jk_lb_worker.c

2001-12-06 Thread costin

costin  01/12/06 14:54:44

  Modified:jk/native2/common jk_ajp14_worker.c jk_jni_worker.c
jk_channel_socket.c jk_endpoint.c jk_env.c
jk_handler_logon.c jk_handler_response.c
jk_lb_worker.c
  Log:
  Updates for the interface changes.
  
  Use pools instead of malloc.
  
  Pools are now consistent ( i.e. jk_pool_t *pool ), no more on-stack pools.
  
  Revision  ChangesPath
  1.5   +25 -22jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c
  
  Index: jk_ajp14_worker.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- jk_ajp14_worker.c 2001/12/05 20:48:20 1.4
  +++ jk_ajp14_worker.c 2001/12/06 22:54:44 1.5
  @@ -72,8 +72,8 @@
   #include jk_service.h
   #include jk_env.h
   
  -int JK_METHOD jk_worker_ajp14_factory( jk_env_t *env, void **result,
  -   char *type, char *name);
  +int JK_METHOD jk_worker_ajp14_factory( jk_env_t *env, jk_pool_t *pool, void 
**result,
  +   const char *type, const char *name);
   
   static int JK_METHOD
   jk_worker_ajp14_service(jk_endpoint_t   *e, jk_ws_service_t *s,
  @@ -102,19 +102,19 @@
   
   /*  Impl  */
   
  -int JK_METHOD jk_worker_ajp14_factory( jk_env_t *env, void **result,
  -   char *type, char *name)
  +int JK_METHOD jk_worker_ajp14_factory( jk_env_t *env, jk_pool_t *pool, void 
**result,
  +   const char *type, const char *name)
   {
   jk_logger_t *l=env-logger;
  -jk_worker_t *w=(jk_worker_t *)malloc(sizeof(jk_worker_t));
  -   
  +jk_worker_t *w=(jk_worker_t *)pool-calloc(pool, sizeof(jk_worker_t));
  +
   l-jkLog(l, JK_LOG_DEBUG, Into ajp14_worker_factory\n);
   
   if (name == NULL || w == NULL) {
   l-jkLog(l, JK_LOG_ERROR, In ajp14_worker_factory, NULL parameters\n);
   return JK_FALSE;
   }
  -
  +w-pool = pool;
   w-name = strdup(name);
   
   w-proto= AJP14_PROTO;
  @@ -176,15 +176,15 @@
return JK_FALSE;
   }

  -e-request = jk_b_new((e-pool));
  +e-request = jk_b_new(e-pool);
   jk_b_set_buffer_size(e-request, DEF_BUFFER_SZ); 
   jk_b_reset(e-request);
   
  -e-reply = jk_b_new((e-pool));
  +e-reply = jk_b_new(e-pool);
   jk_b_set_buffer_size(e-reply, DEF_BUFFER_SZ);
   jk_b_reset(e-reply); 

  -e-post = jk_b_new((e-pool));
  +e-post = jk_b_new(e-pool);
   jk_b_set_buffer_size(e-post, DEF_BUFFER_SZ);
   jk_b_reset(e-post); 
   
  @@ -311,14 +311,11 @@
/* Create a default channel */
jk_env_t *env= we-env;
   
  - jk_env_objectFactory_t fac = 
  - (jk_env_objectFactory_t)env-getFactory(env, channel, socket );
  - l-jkLog( l, JK_LOG_DEBUG, Got socket channel factory \n);
  -
  - err=fac( env, (void **)pThis-channel, channel, socket );
  - if( err != JK_TRUE ) {
  - l-jkLog(l, JK_LOG_ERROR, Error creating socket factory\n);
  - return err;
  + pThis-channel=env-getInstance(env, pThis-pool,channel, socket );
  +
  + if( pThis-channel == NULL ) {
  + l-jkLog(l, JK_LOG_ERROR, Error creating socket channel\n);
  + return JK_FALSE;
}
l-jkLog(l, JK_LOG_ERROR, Got channel %lx %lx\n, pThis, pThis-channel);
   }
  @@ -385,7 +382,8 @@
   jk_logger_t*l)
   {
   jk_endpoint_t *ae = NULL;
  -
  +jk_pool_t *endpointPool;
  +
   if( _this-login-secret_key ==NULL ) {
   }
   
  @@ -413,14 +411,19 @@
   }
   }
   
  -ae = (jk_endpoint_t *)malloc(sizeof(jk_endpoint_t));
  -if (!ae) {
  +endpointPool = _this-pool-create( _this-pool, HUGE_POOL_SIZE );
  +
  +ae = (jk_endpoint_t *)endpointPool-alloc(endpointPool,
  +  sizeof(jk_endpoint_t));
  +if (ae==NULL) {
   l-jkLog(l, JK_LOG_ERROR, ajp14.get_endpoint OutOfMemoryException\n);
   return JK_FALSE;
   }
   
   ae-reuse = JK_FALSE;
  -jk_open_pool(ae-pool, ae-buf, sizeof(ae-buf));
  +
  +ae-pool = endpointPool;
  +
   ae-worker = _this;
   ae-proto = _this-proto;
   ae-channelData = NULL;
  
  
  
  1.7   +24 -26jakarta-tomcat-connectors/jk/native2/common/jk_jni_worker.c
  
  Index: jk_jni_worker.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_jni_worker.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- jk_jni_worker.c   2001/12/05 20:48:20 1.6
  +++ jk_jni_worker.c   2001/12/06 22:54:44 1.7
  @@ 

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_ajp14_worker.c jk_channel_socket.c jk_endpoint.c jk_env.c jk_handler_discovery.c jk_handler_logon.c jk_handler_request.c jk_handler_response.c jk_jni_worker.c jk_map.c jk_pool.c jk_registry.c jk_uriMap.c jk_workerEnv.c

2001-12-05 Thread costin

costin  01/12/05 12:48:21

  Modified:jk/native2/common jk_ajp14_worker.c jk_channel_socket.c
jk_endpoint.c jk_env.c jk_handler_discovery.c
jk_handler_logon.c jk_handler_request.c
jk_handler_response.c jk_jni_worker.c jk_map.c
jk_pool.c jk_registry.c jk_uriMap.c jk_workerEnv.c
  Log:
  Get rid of most compile warnings.
  
  We still have the handler to resolve ( it'll be a generic interface, similar with
  the workers )
  
  Revision  ChangesPath
  1.4   +114 -107  jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c
  
  Index: jk_ajp14_worker.c
  ===
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- jk_ajp14_worker.c 2001/12/04 18:40:42 1.3
  +++ jk_ajp14_worker.c 2001/12/05 20:48:20 1.4
  @@ -72,30 +72,85 @@
   #include jk_service.h
   #include jk_env.h
   
  -/* Ajp14 methods - XXX move to handler abstraction */
  -int logon(jk_endpoint_t *ae,
  -  jk_logger_t*l);
  -
  -int discovery(jk_endpoint_t *ae,
  -  jk_workerEnv_t *we,
  -  jk_logger_t*l);
  +int JK_METHOD jk_worker_ajp14_factory( jk_env_t *env, void **result,
  +   char *type, char *name);
   
  -/*
  - * Functions
  - */
  -static int validate(jk_worker_t *pThis,
  - jk_map_t*props,
  - jk_workerEnv_t *we,
  - jk_logger_t *l );
  +static int JK_METHOD
  +jk_worker_ajp14_service(jk_endpoint_t   *e, jk_ws_service_t *s,
  +jk_logger_t *l, int *is_recoverable_error);
  +
  +static int JK_METHOD
  +jk_worker_ajp14_validate(jk_worker_t *pThis, jk_map_t*props,
  + jk_workerEnv_t *we, jk_logger_t *l );
   
  -int JK_METHOD ajp_done(jk_endpoint_t **e,
  -   jk_logger_t*l);
  +static int JK_METHOD
  +jk_worker_ajp14_done(jk_endpoint_t **e, jk_logger_t*l);
   
  +static int JK_METHOD
  +jk_worker_ajp14_getEndpoint(jk_worker_t *_this, jk_endpoint_t **e,
  +jk_logger_t*l);
   
  +static int JK_METHOD
  +jk_worker_ajp14_init(jk_worker_t *_this, jk_map_t*props, 
  + jk_workerEnv_t *we, jk_logger_t *l);
   
  -/*  Method  */
  +static int JK_METHOD
  +jk_worker_ajp14_destroy(jk_worker_t **pThis, jk_logger_t *l);
  +
  +
   #define  JK_RETRIES 3
   
  +/*  Impl  */
  +
  +int JK_METHOD jk_worker_ajp14_factory( jk_env_t *env, void **result,
  +   char *type, char *name)
  +{
  +jk_logger_t *l=env-logger;
  +jk_worker_t *w=(jk_worker_t *)malloc(sizeof(jk_worker_t));
  +   
  +l-jkLog(l, JK_LOG_DEBUG, Into ajp14_worker_factory\n);
  +
  +if (name == NULL || w == NULL) {
  +l-jkLog(l, JK_LOG_ERROR, In ajp14_worker_factory, NULL parameters\n);
  +return JK_FALSE;
  +}
  +
  +w-name = strdup(name);
  +
  +w-proto= AJP14_PROTO;
  +
  +w-login= (jk_login_service_t *)malloc(sizeof(jk_login_service_t));
  +
  +if (w-login == NULL) {
  +l-jkLog(l, JK_LOG_ERROR,
  +   In ajp14_worker_factory, malloc failed for login area\n);
  +return JK_FALSE;
  +}
  + 
  +memset(w-login, 0, sizeof(jk_login_service_t));
  +
  +w-login-negociation=
  +(AJP14_CONTEXT_INFO_NEG | AJP14_PROTO_SUPPORT_AJP14_NEG);
  +w-login-web_server_name=NULL; /* must be set in init */
  +
  +w-ep_cache_sz= 0;
  +w-ep_cache= NULL;
  +w-connect_retry_attempts= AJP_DEF_RETRY_ATTEMPTS;
  +
  +w-channel= NULL;
  +   
  +w-validate= jk_worker_ajp14_validate;
  +w-init= jk_worker_ajp14_init;
  +w-get_endpoint= jk_worker_ajp14_getEndpoint;
  +w-destroy=jk_worker_ajp14_destroy;
  +
  +w-logon= NULL; 
  +
  +*result = w;
  +
  +return JK_TRUE;
  +}
  +
   /*
* service is now splitted in ajp_send_request and ajp_get_reply
* much more easier to do errors recovery
  @@ -103,10 +158,11 @@
* We serve here the request, using AJP13/AJP14 (e-proto)
*
*/
  -int JK_METHOD ajp_service(jk_endpoint_t   *e, 
  -  jk_ws_service_t *s,
  -  jk_logger_t *l,
  -  int *is_recoverable_error)
  +static int JK_METHOD
  +jk_worker_ajp14_service(jk_endpoint_t   *e, 
  +jk_ws_service_t *s,
  +jk_logger_t *l,
  +int  *is_recoverable_error)
   {
   int i;
   int err;
  @@ -215,10 +271,11 @@
   /*
* Validate the worker (ajp13/ajp14)
*/
  -static int validate(jk_worker_t *pThis,
  -jk_map_t

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_ajp14_worker.c jk_jni_worker.c jk_lb_worker.c

2001-12-01 Thread costin

costin  01/12/01 14:37:29

  Added:   jk/native2/common jk_ajp14_worker.c jk_jni_worker.c
jk_lb_worker.c
  Log:
  Workers - updated to use the new factory style.
  
  Revision  ChangesPath
  1.1  jakarta-tomcat-connectors/jk/native2/common/jk_ajp14_worker.c
  
  Index: jk_ajp14_worker.c
  ===
  /* = *
   *   *
   * The Apache Software License,  Version 1.1 *
   *   *
   *  Copyright (c) 1999-2001 The Apache Software Foundation.  *
   *   All rights reserved.*
   *   *
   * = *
   *   *
   * Redistribution and use in source and binary forms,  with or without modi- *
   * fication, are permitted provided that the following conditions are met:   *
   *   *
   * 1. Redistributions of source code  must retain the above copyright notice *
   *notice, this list of conditions and the following disclaimer.  *
   *   *
   * 2. Redistributions  in binary  form  must  reproduce the  above copyright *
   *notice,  this list of conditions  and the following  disclaimer in the *
   *documentation and/or other materials provided with the distribution.   *
   *   *
   * 3. The end-user documentation  included with the redistribution,  if any, *
   *must include the following acknowlegement: *
   *   *
   *   This product includes  software developed  by the Apache  Software *
   *Foundation http://www.apache.org/.  *
   *   *
   *Alternately, this acknowlegement may appear in the software itself, if *
   *and wherever such third-party acknowlegements normally appear. *
   *   *
   * 4. The names  The  Jakarta  Project,  Jk,  and  Apache  Software *
   *Foundation  must not be used  to endorse or promote  products derived *
   *from this  software without  prior  written  permission.  For  written *
   *permission, please contact [EMAIL PROTECTED].*
   *   *
   * 5. Products derived from this software may not be called Apache nor may *
   *Apache appear in their names without prior written permission of the *
   *Apache Software Foundation.*
   *   *
   * THIS SOFTWARE IS PROVIDED AS IS AND ANY EXPRESSED OR IMPLIED WARRANTIES *
   * INCLUDING, BUT NOT LIMITED TO,  THE IMPLIED WARRANTIES OF MERCHANTABILITY *
   * AND FITNESS FOR  A PARTICULAR PURPOSE  ARE DISCLAIMED.  IN NO EVENT SHALL *
   * THE APACHE  SOFTWARE  FOUNDATION OR  ITS CONTRIBUTORS  BE LIABLE  FOR ANY *
   * DIRECT,  INDIRECT,   INCIDENTAL,  SPECIAL,  EXEMPLARY,  OR  CONSEQUENTIAL *
   * DAMAGES (INCLUDING,  BUT NOT LIMITED TO,  PROCUREMENT OF SUBSTITUTE GOODS *
   * OR SERVICES;  LOSS OF USE,  DATA,  OR PROFITS;  OR BUSINESS INTERRUPTION) *
   * HOWEVER CAUSED AND  ON ANY  THEORY  OF  LIABILITY,  WHETHER IN  CONTRACT, *
   * STRICT LIABILITY, OR TORT  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN *
   * ANY  WAY  OUT OF  THE  USE OF  THIS  SOFTWARE,  EVEN  IF  ADVISED  OF THE *
   * POSSIBILITY OF SUCH DAMAGE.   *
   *   *
   * = *
   *   *
   * This software  consists of voluntary  contributions made  by many indivi- *
   * duals on behalf of the  Apache Software Foundation.  For more information *
   * on the Apache Software Foundation, please see http://www.apache.org/.   *
   *   *
   * = */
  
  /**
   * Description: AJP14 next generation Bi-directional