You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@apache.org on 2001/12/17 00:17:24 UTC
cvs commit: jakarta-tomcat-connectors/jk/native2/include jk_channel.h jk_endpoint.h jk_env.h jk_handler.h jk_logger.h jk_map.h jk_msg.h jk_objCache.h jk_pool.h jk_requtil.h jk_service.h jk_uriEnv.h jk_uriMap.h jk_webapp.h jk_worker.h jk_workerEnv.h
costin 01/12/16 15:17:23
Modified: jk/native2/include jk_channel.h jk_endpoint.h jk_env.h
jk_handler.h jk_logger.h jk_map.h jk_msg.h
jk_objCache.h jk_pool.h jk_requtil.h jk_service.h
jk_uriEnv.h jk_uriMap.h jk_webapp.h jk_worker.h
jk_workerEnv.h
Log:
As previously discussed, add jk_env param to all methods.
This is for now just a 'cosmetic' change - all functions will now follow
the same pattern ( previously most but not all had access to logger, etc).
The actual implementation of env is not completed, but should work the same
as it did before - it's just one level of indirection to access the logger.
We still use a single shared logger, etc.
In future we may improve this to give each thread a env instance ( that will
include a per thread logger and per thread temp pool )
that will allow us to implement error handling and
get rid of the last 3 mallocs ( and use pools exclusively ).
This should be my last 'major' change in jk2 refactoring.
Revision Changes Path
1.4 +10 -9 jakarta-tomcat-connectors/jk/native2/include/jk_channel.h
Index: jk_channel.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_channel.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- jk_channel.h 2001/12/12 22:02:30 1.3
+++ jk_channel.h 2001/12/16 23:17:23 1.4
@@ -59,6 +59,7 @@
#define JK_CHANNEL_H
#include "jk_global.h"
+#include "jk_env.h"
#include "jk_logger.h"
#include "jk_pool.h"
#include "jk_msg.h"
@@ -67,6 +68,7 @@
extern "C" {
#endif /* __cplusplus */
+struct jk_env;
struct jk_worker;
struct jk_endpoint;
struct jk_channel;
@@ -116,43 +118,42 @@
* the inet addr, etc )
* XXX revisit this - we may pass too much that is not needed
*/
- int (JK_METHOD *init)(jk_channel_t *_this,
+ int (JK_METHOD *init)(struct jk_env *env, jk_channel_t *_this,
jk_map_t *properties,
char *worker_name,
- struct jk_worker *worker,
- jk_logger_t *l );
+ struct jk_worker *worker );
/** Open the communication channel
*/
- int (JK_METHOD *open)(jk_channel_t *_this,
+ int (JK_METHOD *open)(struct jk_env *env, jk_channel_t *_this,
struct jk_endpoint *endpoint );
/** Close the communication channel
*/
- int (JK_METHOD *close)(jk_channel_t *_this,
+ int (JK_METHOD *close)(struct jk_env *env, jk_channel_t *_this,
struct jk_endpoint *endpoint );
/** Send a packet
*/
- int (JK_METHOD *send)(jk_channel_t *_this,
+ int (JK_METHOD *send)(struct jk_env *env, jk_channel_t *_this,
struct jk_endpoint *endpoint,
char *b, int len );
/** Receive a packet
*/
- int (JK_METHOD *recv)(jk_channel_t *_this,
+ int (JK_METHOD *recv)(struct jk_env *env, jk_channel_t *_this,
struct jk_endpoint *endpoint,
char *b, int len );
/** Set a channel property. Properties are used to configure the
* communication channel ( example: port, host, file, shmem_name, etc).
*/
- int (JK_METHOD *setProperty)(jk_channel_t *_this,
+ int (JK_METHOD *setProperty)(struct jk_env *env, jk_channel_t *_this,
char *name, char *value);
/** Get a channel property
*/
- int (JK_METHOD *getProperty)(jk_channel_t *_this,
+ int (JK_METHOD *getProperty)(struct jk_env *env, jk_channel_t *_this,
char *name, char **value);
void *_privatePtr;
1.8 +6 -7 jakarta-tomcat-connectors/jk/native2/include/jk_endpoint.h
Index: jk_endpoint.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_endpoint.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- jk_endpoint.h 2001/12/14 07:09:01 1.7
+++ jk_endpoint.h 2001/12/16 23:17:23 1.8
@@ -61,12 +61,13 @@
* Author: Gal Shachor <sh...@il.ibm.com>
* Author: Dan Milstein <da...@shore.net>
* Author: Henri Gomez <hg...@slib.fr>
- * Version: $Revision: 1.7 $
+ * Version: $Revision: 1.8 $
***************************************************************************/
#ifndef JK_ENDPOINT_H
#define JK_ENDPOINT_H
+#include "jk_env.h"
#include "jk_map.h"
#include "jk_service.h"
#include "jk_logger.h"
@@ -132,12 +133,12 @@
/** 'main' pool for this endpoint. Used to store properties of the
endpoint. Will be alive until the endpoint is destroyed.
*/
- jk_pool_t *pool;
+ struct jk_pool *pool;
/** Connection pool. Used to store temporary data. It'll be
recycled after each transaction.
*/
- jk_pool_t *cPool;
+ struct jk_pool *cPool;
int proto; /* PROTOCOL USED AJP13/AJP14 */
@@ -177,9 +178,8 @@
* 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,
+ int (JK_METHOD *service)(struct jk_env *env, jk_endpoint_t *_this,
struct jk_ws_service *s,
- struct jk_logger *l,
int *is_recoverable_error);
/*
@@ -195,8 +195,7 @@
* XXX This is the 'pair' of worker.getEndpoint - it should be part of
* worker.
*/
- int (JK_METHOD *done)(jk_endpoint_t **p,
- struct jk_logger *l);
+ int (JK_METHOD *done)(struct jk_env *env, jk_endpoint_t *p );
};
#ifdef __cplusplus
1.4 +15 -5 jakarta-tomcat-connectors/jk/native2/include/jk_env.h
Index: jk_env.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_env.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- jk_env.h 2001/12/14 07:09:01 1.3
+++ jk_env.h 2001/12/16 23:17:23 1.4
@@ -104,7 +104,7 @@
* jk_worker_list.h).
*/
typedef int (JK_METHOD *jk_env_objectFactory_t)(jk_env_t *env,
- jk_pool_t *pool,
+ struct jk_pool *pool,
void **result,
const char *type,
const char *name);
@@ -123,8 +123,8 @@
* the other methods parameters.
*/
struct jk_env {
- struct jk_logger *logger;
- jk_pool_t *globalPool;
+ struct jk_logger *l;
+ struct jk_pool *globalPool;
/** Global properties ( similar with System properties in java)
*/
@@ -140,9 +140,19 @@
call it. This is a very frequent operation.
*/
void *
- (JK_METHOD *getInstance)( jk_env_t *env, jk_pool_t *pool, const char *type,
+ (JK_METHOD *getInstance)( jk_env_t *env, struct jk_pool *pool,
+ const char *type,
const char *name );
-
+
+ /** Report an error.
+ * TODO: create a 'stack trace' (i.e. a stack of errors )
+ * TODO: set 'error state'
+ * Right now is equivalent with l->jkLog(env, JK_LOG_ERROR,... )
+ */
+ void *(JK_METHOD *error)(jk_env_t *env,
+ const char *file, int line,
+ const char *fmt, ...);
+
/** Register a factory for a type ( channel, worker ).
*/
1.4 +5 -3 jakarta-tomcat-connectors/jk/native2/include/jk_handler.h
Index: jk_handler.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_handler.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- jk_handler.h 2001/12/12 21:25:56 1.3
+++ jk_handler.h 2001/12/16 23:17:23 1.4
@@ -70,6 +70,7 @@
#define JK_HANDLER_H
#include "jk_global.h"
+#include "jk_env.h"
#include "jk_map.h"
#include "jk_workerEnv.h"
#include "jk_logger.h"
@@ -120,11 +121,12 @@
struct jk_ws_service;
struct jk_endpoint;
struct jk_logger;
+struct jk_env;
-typedef int (JK_METHOD *jk_handler_callback)(struct jk_msg *msg,
+typedef int (JK_METHOD *jk_handler_callback)(struct jk_env *env,
+ struct jk_msg *msg,
struct jk_ws_service *r,
- struct jk_endpoint *ae,
- struct jk_logger *l);
+ struct jk_endpoint *ae);
struct jk_handler;
typedef struct jk_handler jk_handler_t;
1.4 +14 -7 jakarta-tomcat-connectors/jk/native2/include/jk_logger.h
Index: jk_logger.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_logger.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- jk_logger.h 2001/12/06 22:48:49 1.3
+++ jk_logger.h 2001/12/16 23:17:23 1.4
@@ -58,12 +58,13 @@
/***************************************************************************
* Description: Logger object definitions *
* Author: Gal Shachor <sh...@il.ibm.com> *
- * Version: $Revision: 1.3 $ *
+ * Version: $Revision: 1.4 $ *
***************************************************************************/
#ifndef JK_LOGGER_H
#define JK_LOGGER_H
+#include "jk_env.h"
#include "jk_global.h"
#include "jk_map.h"
@@ -72,6 +73,7 @@
#endif /* __cplusplus */
struct jk_map;
+struct jk_env;
struct jk_logger;
typedef struct jk_logger jk_logger_t;
@@ -84,24 +86,29 @@
void *logger_private;
int level;
- void (JK_METHOD *setProperty)(jk_logger_t *_this,
+ void (JK_METHOD *setProperty)(struct jk_env *env,
+ jk_logger_t *_this,
const char *name,
const char *value );
- char *(JK_METHOD *getProperty)(jk_logger_t *_this,
+ char *(JK_METHOD *getProperty)(struct jk_env *env,
+ jk_logger_t *_this,
const char *name,
const char *def );
- int (JK_METHOD *open)( jk_logger_t *_this,
+ int (JK_METHOD *open)( struct jk_env *env,
+ jk_logger_t *_this,
struct jk_map *properties );
- void (JK_METHOD *close)( jk_logger_t *_this );
+ void (JK_METHOD *close)( struct jk_env *env, jk_logger_t *_this );
- int (JK_METHOD *log)(jk_logger_t *_this,
+ int (JK_METHOD *log)(struct jk_env *env,
+ jk_logger_t *_this,
int level,
const char *what);
- int (JK_METHOD *jkLog)(jk_logger_t *_this,
+ int (JK_METHOD *jkLog)(struct jk_env *env,
+ jk_logger_t *_this,
const char *file,
int line,
int level,
1.6 +2 -2 jakarta-tomcat-connectors/jk/native2/include/jk_map.h
Index: jk_map.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_map.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- jk_map.h 2001/12/15 17:19:26 1.5
+++ jk_map.h 2001/12/16 23:17:23 1.6
@@ -58,7 +58,7 @@
/***************************************************************************
* Description: Map object header file *
* Author: Gal Shachor <sh...@il.ibm.com> *
- * Version: $Revision: 1.5 $ *
+ * Version: $Revision: 1.6 $ *
***************************************************************************/
#ifndef JK_MAP_H
@@ -191,7 +191,7 @@
/* XXX Very strange hack to deal with special properties
*/
-int jk_is_some_property(const char *prp_name, const char *suffix);
+int jk_is_some_property(struct jk_env *env, const char *prp_name, const char *suffix);
#ifdef __cplusplus
}
1.3 +24 -22 jakarta-tomcat-connectors/jk/native2/include/jk_msg.h
Index: jk_msg.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_msg.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- jk_msg.h 2001/12/12 21:23:57 1.2
+++ jk_msg.h 2001/12/16 23:17:23 1.3
@@ -59,6 +59,7 @@
#define JK_REQ_H
#include "jk_global.h"
+#include "jk_env.h"
#include "jk_logger.h"
#include "jk_pool.h"
#include "jk_endpoint.h"
@@ -68,6 +69,7 @@
extern "C" {
#endif /* __cplusplus */
+struct jk_env;
struct jk_msg;
typedef struct jk_msg jk_msg_t;
@@ -108,66 +110,66 @@
/*
* Prepare the buffer for a new invocation
*/
- void (*reset)(struct jk_msg *_this);
+ void (*reset)(struct jk_env *env, struct jk_msg *_this);
/*
* Finalize the buffer before sending - set length fields, etc
*/
- void (*end)(struct jk_msg *_this);
+ void (*end)(struct jk_env *env, struct jk_msg *_this);
/*
* Dump the buffer header
* @param err Message text
*/
- void (*dump)(struct jk_msg *_this, struct jk_logger *log, char *err);
+ void (*dump)(struct jk_env *env, struct jk_msg *_this, char *err);
- int (*appendByte)(struct jk_msg *_this, unsigned char val);
+ int (*appendByte)(struct jk_env *env, struct jk_msg *_this, unsigned char val);
- int (*appendBytes)(struct jk_msg *_this,
- const unsigned char * param,
- const int len);
+ int (*appendBytes)(struct jk_env *env, struct jk_msg *_this,
+ const unsigned char * param,
+ const int len);
- int (*appendInt)(struct jk_msg *_this,
+ int (*appendInt)(struct jk_env *env, struct jk_msg *_this,
const unsigned short val);
- int (*appendLong)(struct jk_msg *_this,
+ int (*appendLong)(struct jk_env *env, struct jk_msg *_this,
const unsigned long val);
- int (*appendString)(struct jk_msg *_this,
+ int (*appendString)(struct jk_env *env, struct jk_msg *_this,
const char *param);
- unsigned char (*getByte)(struct jk_msg *_this);
+ unsigned char (*getByte)(struct jk_env *env, struct jk_msg *_this);
- unsigned short (*getInt)(struct jk_msg *_this);
+ unsigned short (*getInt)(struct jk_env *env, struct jk_msg *_this);
/** Look at the next int, without reading it
*/
- unsigned short (*peekInt)(struct jk_msg *_this);
+ unsigned short (*peekInt)(struct jk_env *env, struct jk_msg *_this);
- unsigned long (*getLong)(struct jk_msg *_this);
+ unsigned long (*getLong)(struct jk_env *env, struct jk_msg *_this);
/** Return a string.
The buffer is internal to the message, you must save
or make sure the message lives long enough.
*/
- unsigned char *(*getString)(struct jk_msg *_this);
+ unsigned char *(*getString)(struct jk_env *env, struct jk_msg *_this);
/** Return a byte[] and it's length.
The buffer is internal to the message, you must save
or make sure the message lives long enough.
*/
- unsigned char *(*getBytes)(struct jk_msg *_this, int *len);
+ unsigned char *(*getBytes)(struct jk_env *env, struct jk_msg *_this, int *len);
/*
* Receive a message from endpoint
*/
- int (*receive)(jk_msg_t *_this, struct jk_endpoint *ae );
+ int (*receive)(struct jk_env *env, jk_msg_t *_this, struct jk_endpoint *ae );
/*
* Send a message to endpoint
*/
- int (*send)(jk_msg_t *_this, struct jk_endpoint *ae );
+ int (*send)(struct jk_env *env, jk_msg_t *_this, struct jk_endpoint *ae );
/**
* Special method. Will read data from the server and add them as
@@ -177,7 +179,8 @@
*
* Returns -1 on error, else number of bytes read
*/
- int (*appendFromServer)(struct jk_msg *_this,
+ int (*appendFromServer)(struct jk_env *env,
+ struct jk_msg *_this,
struct jk_ws_service *r,
struct jk_endpoint *ae,
int len );
@@ -186,7 +189,6 @@
/* Temporary, don't use */
struct jk_pool *pool;
- struct jk_logger *l;
unsigned char *buf;
int pos;
@@ -196,8 +198,8 @@
};
/* Temp */
-jk_msg_t *jk_msg_ajp_create(struct jk_pool *p,
- struct jk_logger *l, int buffSize);
+jk_msg_t *jk_msg_ajp_create(struct jk_env *env, struct jk_pool *p,
+ int buffSize);
#ifdef __cplusplus
}
1.4 +7 -6 jakarta-tomcat-connectors/jk/native2/include/jk_objCache.h
Index: jk_objCache.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_objCache.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- jk_objCache.h 2001/12/12 22:02:30 1.3
+++ jk_objCache.h 2001/12/16 23:17:23 1.4
@@ -59,6 +59,7 @@
#define JK_OBJCACHE_H
#include "jk_global.h"
+#include "jk_env.h"
#include "jk_logger.h"
#include "jk_pool.h"
#include "jk_msg.h"
@@ -68,6 +69,7 @@
extern "C" {
#endif /* __cplusplus */
+struct jk_env;
struct jk_objCache;
struct jk_logger;
struct jk_pool;
@@ -76,7 +78,7 @@
#define JK_OBJCACHE_DEFAULT_SZ (128)
-jk_objCache_t *jk_objCache_create(struct jk_pool *pool, struct jk_logger *l );
+jk_objCache_t *jk_objCache_create(struct jk_env *env, struct jk_pool *pool );
/**
* Simple object cache ( or pool for java people - don't confuse with the
@@ -95,19 +97,18 @@
/** Return an object to the pool.
* @return JK_FALSE the object can't be taken back, caller must free it.
*/
- int (*put)(jk_objCache_t *_this, void *obj);
+ int (*put)(struct jk_env *env, jk_objCache_t *_this, void *obj);
- void *(*get)(jk_objCache_t *_this);
+ void *(*get)(struct jk_env *env, jk_objCache_t *_this);
- int (*init)(jk_objCache_t *_this, int cacheSize);
+ int (*init)(struct jk_env *env, jk_objCache_t *_this, int cacheSize);
- int (*destroy)(jk_objCache_t *_this);
+ int (*destroy)(struct jk_env *env, jk_objCache_t *_this);
/* private, move to impl ( if any other impl is available) */
int ep_cache_sz;
JK_CRIT_SEC cs;
void **ep_cache;
- struct jk_logger *l;
struct jk_pool *pool;
};
1.5 +11 -9 jakarta-tomcat-connectors/jk/native2/include/jk_pool.h
Index: jk_pool.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_pool.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- jk_pool.h 2001/12/06 22:48:49 1.4
+++ jk_pool.h 2001/12/16 23:17:23 1.5
@@ -58,12 +58,13 @@
/***************************************************************************
* Description: Memory Pool object header file *
* Author: Gal Shachor <sh...@il.ibm.com> *
- * Version: $Revision: 1.4 $ *
+ * Version: $Revision: 1.5 $ *
***************************************************************************/
#ifndef _JK_POOL_H
#define _JK_POOL_H
#include "jk_global.h"
+#include "jk_env.h"
#ifdef __cplusplus
extern "C" {
@@ -117,6 +118,7 @@
#define HUGE_POOL_SIZE 2*BIG_POOL_SIZE /* Huge 2K atom pool. */
struct jk_pool;
+struct jk_env;
typedef struct jk_pool jk_pool_t;
@@ -126,26 +128,26 @@
/** Create a child pool. Size is a hint for the
* estimated needs of the child.
*/
- jk_pool_t *(*create)(jk_pool_t *_this,
+ jk_pool_t *(*create)(struct jk_env *env, jk_pool_t *_this,
int size );
- void (*close)(jk_pool_t *_this);
+ void (*close)(struct jk_env *env, jk_pool_t *_this);
/** Empty the pool using the same space.
* XXX should we rename it to clear() - consistent with apr ?
*/
- void (*reset)(jk_pool_t *_this);
+ void (*reset)(struct jk_env *env, jk_pool_t *_this);
/* Memory allocation */
- void *(*alloc)(jk_pool_t *_this, size_t size);
+ void *(*alloc)(struct jk_env *env, jk_pool_t *_this, size_t size);
- void *(*realloc)(jk_pool_t *_this, size_t size,
+ void *(*realloc)(struct jk_env *env, jk_pool_t *_this, size_t size,
const void *old, size_t old_sz);
- void *(*calloc)(jk_pool_t *_this, size_t size);
+ void *(*calloc)(struct jk_env *env, jk_pool_t *_this, size_t size);
- void *(*pstrdup)(jk_pool_t *_this, const char *s);
+ void *(*pstrdup)(struct jk_env *env, jk_pool_t *_this, const char *s);
/** Points to the private data. In the case of APR,
it's a apr_pool you can use directly */
@@ -157,7 +159,7 @@
XXX move this to the factory
*/
-int jk_pool_create( jk_pool_t **newPool, jk_pool_t *parent, int size );
+int jk_pool_create( struct jk_env *env, jk_pool_t **newPool, jk_pool_t *parent, int size );
#ifdef __cplusplus
1.3 +9 -9 jakarta-tomcat-connectors/jk/native2/include/jk_requtil.h
Index: jk_requtil.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_requtil.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- jk_requtil.h 2001/12/12 22:02:30 1.2
+++ jk_requtil.h 2001/12/16 23:17:23 1.3
@@ -154,50 +154,50 @@
/** Get header value using a lookup table.
*/
-const char *jk_requtil_getHeaderById(int sc);
+const char *jk_requtil_getHeaderById(struct jk_env *env, int sc);
/**
* Get method id.
*/
-int jk_requtil_getMethodId(const char *method,
+int jk_requtil_getMethodId(struct jk_env *env, const char *method,
unsigned char *sc);
/**
* Get header id.
*/
-int jk_requtil_getHeaderId(const char *header_name,
+int jk_requtil_getHeaderId(struct jk_env *env, const char *header_name,
unsigned short *sc);
/** Retrieve session id from the cookie or the parameter
* (parameter first)
*/
-char *jk_requtil_getSessionId(jk_ws_service_t *s);
+char *jk_requtil_getSessionId(struct jk_env *env, jk_ws_service_t *s);
/** Retrieve the cookie with the given name
*/
-char *jk_requtil_getCookieByName(jk_ws_service_t *s,
+char *jk_requtil_getCookieByName(struct jk_env *env, jk_ws_service_t *s,
const char *name);
/* Retrieve the parameter with the given name
*/
-char *jk_requtil_getPathParam(jk_ws_service_t *s, const char *name);
+char *jk_requtil_getPathParam(struct jk_env *env, jk_ws_service_t *s, const char *name);
/** Extract the 'route' from the session id. The route is
* the id of the worker that generated the session and where all
* further requests in that session will be sent.
*/
-char *jk_requtil_getSessionRoute(jk_ws_service_t *s);
+char *jk_requtil_getSessionRoute(struct jk_env *env, jk_ws_service_t *s);
/** Initialize the request
*
* jk_init_ws_service
*/
-void jk_requtil_initRequest(jk_ws_service_t *s);
+void jk_requtil_initRequest(struct jk_env *env, jk_ws_service_t *s);
-int jk_requtil_readFully(jk_ws_service_t *s,
+int jk_requtil_readFully(struct jk_env *env, jk_ws_service_t *s,
unsigned char *buf,
unsigned len);
1.7 +11 -9 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.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- jk_service.h 2001/12/15 17:19:26 1.6
+++ jk_service.h 2001/12/16 23:17:23 1.7
@@ -63,7 +63,7 @@
* Author: Gal Shachor <sh...@il.ibm.com> *
* Author: Dan Milstein <da...@shore.net> *
* Author: Henri Gomez <hg...@slib.fr> *
- * Version: $Revision: 1.6 $ *
+ * Version: $Revision: 1.7 $ *
***************************************************************************/
#ifndef JK_SERVICE_H
@@ -71,6 +71,7 @@
#include "jk_global.h"
#include "jk_map.h"
+#include "jk_env.h"
#include "jk_workerEnv.h"
#include "jk_logger.h"
#include "jk_pool.h"
@@ -87,6 +88,8 @@
struct jk_worker;
struct jk_workerEnv;
struct jk_channel;
+struct jk_pool;
+struct jk_env;
typedef struct jk_ws_service jk_ws_service_t;
/*
@@ -138,7 +141,7 @@
* Alive as long as the request is alive.
* You can use endpoint pool for communication - it is recycled.
*/
- jk_pool_t *pool;
+ struct jk_pool *pool;
/*
* CGI Environment needed by servlets
@@ -226,25 +229,25 @@
/* Initialize the service structure
*/
- int (*init)( jk_ws_service_t *_this,
+ int (*init)( struct jk_env *env, jk_ws_service_t *_this,
struct jk_endpoint *e, void *serverObj);
/* Post request cleanup.
*/
- void (*afterRequest)( jk_ws_service_t *_this );
+ void (*afterRequest)( struct jk_env *env, jk_ws_service_t *_this );
/*
* Set the response head in the server structures. This will be called
* before the first write.
*/
- int (JK_METHOD *head)(jk_ws_service_t *s);
+ int (JK_METHOD *head)(struct jk_env *env, jk_ws_service_t *s);
/*
* 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,
+ int (JK_METHOD *read)(struct jk_env *env, jk_ws_service_t *s,
void *buffer,
unsigned len,
unsigned *actually_read);
@@ -252,9 +255,8 @@
/*
* Write a chunk of response data back to the browser.
*/
- int (JK_METHOD *write)(jk_ws_service_t *s,
- const void *buffer,
- unsigned len);
+ int (JK_METHOD *write)(struct jk_env *env, jk_ws_service_t *s,
+ const void *buffer, int len);
};
#ifdef __cplusplus
1.5 +1 -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.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- jk_uriEnv.h 2001/12/06 22:48:49 1.4
+++ jk_uriEnv.h 2001/12/16 23:17:23 1.5
@@ -125,6 +125,7 @@
int match_type;
+ int debug;
/* -------------------- Methods -------------------- */
/* get/setProperty */
1.7 +11 -6 jakarta-tomcat-connectors/jk/native2/include/jk_uriMap.h
Index: jk_uriMap.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_uriMap.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- jk_uriMap.h 2001/12/14 07:09:01 1.6
+++ jk_uriMap.h 2001/12/16 23:17:23 1.7
@@ -79,9 +79,11 @@
#define JK_URIMAP_H
#include "jk_global.h"
+#include "jk_env.h"
#include "jk_logger.h"
#include "jk_uriEnv.h"
#include "jk_map.h"
+#include "jk_pool.h"
#ifdef __cplusplus
extern "C" {
@@ -89,6 +91,9 @@
struct jk_uriMap;
struct jk_map;
+struct jk_env;
+struct jk_pool;
+
typedef struct jk_uriMap jk_uriMap_t;
struct jk_uriMap {
@@ -104,22 +109,22 @@
/** Initialize the map. This should be called after all workers
were added. It'll check if mappings have valid workers.
*/
- int (*init)( jk_uriMap_t *_this,
+ int (*init)( struct jk_env *env, jk_uriMap_t *_this,
struct jk_workerEnv *workerEnv,
struct jk_map *init_data );
- void (*destroy)( jk_uriMap_t *_this );
+ void (*destroy)( struct jk_env *env, jk_uriMap_t *_this );
/** Add a servlet mapping. Can be done before init()
*/
- jk_uriEnv_t *(*addMapping)( jk_uriMap_t *_this,
+ jk_uriEnv_t *(*addMapping)( struct jk_env *env, jk_uriMap_t *_this,
const char *vhost,
const char *uri,
const char *worker);
/** Check the uri for potential security problems
*/
- int (*checkUri)( jk_uriMap_t *_this,
+ int (*checkUri)( struct jk_env *env, jk_uriMap_t *_this,
const char *uri );
/** Mapping the uri. To be thread safe, we need to pass a pool.
@@ -132,7 +137,7 @@
to do what we need ). Even when we'll know, uriMap will be needed
for other servers.
*/
- struct jk_uriEnv *(*mapUri)(jk_uriMap_t *_this,
+ struct jk_uriEnv *(*mapUri)(struct jk_env *env, jk_uriMap_t *_this,
const char *vhost,
const char *uri );
@@ -142,7 +147,7 @@
/* pool for mappings. Mappings will change at runtime, we can't
* recycle the main pool.
*/
- jk_pool_t *pool;
+ struct jk_pool *pool;
};
#ifdef __cplusplus
1.3 +6 -0 jakarta-tomcat-connectors/jk/native2/include/jk_webapp.h
Index: jk_webapp.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_webapp.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- jk_webapp.h 2001/12/14 07:09:01 1.2
+++ jk_webapp.h 2001/12/16 23:17:23 1.3
@@ -81,6 +81,7 @@
struct jk_env;
struct jk_uri_worker_map;
struct jk_map;
+struct jk_uriMap;
struct jk_logger;
struct jk_webapp;
@@ -108,6 +109,11 @@
* worker will be set on init.
*/
char *workerName;
+
+ /* 'Local' mappings. This is the information from web.xml, either
+ read from file or received from tomcat
+ */
+ struct jk_uriMap *uriMap;
/* Virtual server handled - NULL means 'global' ( visible in all
* virtual servers ). This is the canonical name.
1.9 +11 -12 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.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- jk_worker.h 2001/12/14 07:09:01 1.8
+++ jk_worker.h 2001/12/16 23:17:23 1.9
@@ -58,12 +58,14 @@
/***************************************************************************
* Description: Workers controller header file *
* Author: Gal Shachor <sh...@il.ibm.com> *
- * Version: $Revision: 1.8 $ *
+ * Version: $Revision: 1.9 $ *
***************************************************************************/
#ifndef JK_WORKER_H
#define JK_WORKER_H
+#include "jk_env.h"
+#include "jk_pool.h"
#include "jk_logger.h"
#include "jk_service.h"
#include "jk_endpoint.h"
@@ -133,7 +135,7 @@
In future we may start/stop/reload workers at runtime, but that's
far away
*/
- jk_pool_t *pool;
+ struct jk_pool *pool;
/*
* A 'this' pointer which is used by the subclasses of this class to
@@ -205,28 +207,25 @@
*
* You can skip this by setting it to NULL.
*/
- int (JK_METHOD *validate)(jk_worker_t *_this,
+ int (JK_METHOD *validate)(struct jk_env *env, jk_worker_t *_this,
struct jk_map *props,
- struct jk_workerEnv *we,
- struct jk_logger *l);
+ struct jk_workerEnv *we);
/*
* 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 *_this,
+ int (JK_METHOD *init)(struct jk_env *env, jk_worker_t *_this,
struct jk_map *props,
- struct jk_workerEnv *we,
- struct jk_logger *l );
+ struct jk_workerEnv *we );
/*
* Obtain an endpoint to service a particular request. A pointer to
* the endpoint is stored in pend. The done() method in the
* endpoint will be called when the endpoint is no longer needed.
*/
- int (JK_METHOD *get_endpoint)(jk_worker_t *_this,
- struct jk_endpoint **pend,
- struct jk_logger *l );
+ int (JK_METHOD *get_endpoint)(struct jk_env *env, jk_worker_t *_this,
+ struct jk_endpoint **pend );
/*
* Called when this particular endpoint has finished processing a
@@ -242,7 +241,7 @@
/*
* Shutdown this worker.
*/
- int (JK_METHOD *destroy)(jk_worker_t **_thisP, struct jk_logger *l );
+ int (JK_METHOD *destroy)(struct jk_env *env, jk_worker_t *_thisP );
};
#ifdef __cplusplus
1.7 +14 -12 jakarta-tomcat-connectors/jk/native2/include/jk_workerEnv.h
Index: jk_workerEnv.h
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/include/jk_workerEnv.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- jk_workerEnv.h 2001/12/14 07:09:01 1.6
+++ jk_workerEnv.h 2001/12/16 23:17:23 1.7
@@ -58,7 +58,7 @@
/***************************************************************************
* Description: Workers controller header file *
* Author: Gal Shachor <sh...@il.ibm.com> *
- * Version: $Revision: 1.6 $ *
+ * Version: $Revision: 1.7 $ *
***************************************************************************/
#ifndef JK_WORKERENV_H
@@ -110,6 +110,8 @@
*/
struct jk_map *worker_map;
+ struct jk_env *globalEnv;
+
/** Number of workers that are configured. XXX same as
size( worker_map )
*/
@@ -135,7 +137,7 @@
/** Root env, used to register object types, etc
*/
- struct jk_env *env;
+ struct jk_env *rootEnv;
/*
* Log options. Extracted from init_data.
@@ -143,10 +145,6 @@
char *log_file;
int log_level;
- /** Global logger for jk messages. Set at init.
- */
- struct jk_logger *l;
-
/*
* Worker stuff
*/
@@ -208,20 +206,24 @@
/** Get worker by name
*/
- struct jk_worker *(*getWorkerForName)(struct jk_workerEnv *_this,
+ struct jk_worker *(*getWorkerForName)(struct jk_env *env,
+ struct jk_workerEnv *_this,
const char *name);
- struct jk_worker *(*createWorker)(struct jk_workerEnv *_this,
+ struct jk_worker *(*createWorker)(struct jk_env *env,
+ struct jk_workerEnv *_this,
const char *name,
struct jk_map *init_data);
- struct jk_webapp *(*createWebapp)(struct jk_workerEnv *_this,
+ struct jk_webapp *(*createWebapp)(struct jk_env *env,
+ struct jk_workerEnv *_this,
const char *vhost,
const char *name,
struct jk_map *init_data);
- int (*processCallbacks)(struct jk_workerEnv *_this,
+ int (*processCallbacks)(struct jk_env *env,
+ struct jk_workerEnv *_this,
struct jk_endpoint *e,
struct jk_ws_service *r );
@@ -230,12 +232,12 @@
*
* Replaces wc_open
*/
- int (*init)(struct jk_workerEnv *_this);
+ int (*init)(struct jk_env *env, struct jk_workerEnv *_this);
/** Close all workers, clean up
*
*/
- void (*close)(struct jk_workerEnv *_this);
+ void (*close)(struct jk_env *env, struct jk_workerEnv *_this);
};
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>