Return-Path: Delivered-To: apmail-jakarta-tomcat-dev-archive@apache.org Received: (qmail 63131 invoked from network); 12 Dec 2001 21:26:42 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 12 Dec 2001 21:26:42 -0000 Received: (qmail 12396 invoked by uid 97); 12 Dec 2001 21:26:05 -0000 Delivered-To: qmlist-jakarta-archive-tomcat-dev@jakarta.apache.org Received: (qmail 12219 invoked by uid 97); 12 Dec 2001 21:26:04 -0000 Mailing-List: contact tomcat-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Tomcat Developers List" Reply-To: "Tomcat Developers List" Delivered-To: mailing list tomcat-dev@jakarta.apache.org Received: (qmail 12200 invoked by uid 97); 12 Dec 2001 21:26:03 -0000 Date: 12 Dec 2001 21:25:56 -0000 Message-ID: <20011212212556.58839.qmail@icarus.apache.org> From: costin@apache.org To: jakarta-tomcat-connectors-cvs@apache.org Subject: cvs commit: jakarta-tomcat-connectors/jk/native2/include jk_handler.h X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N costin 01/12/12 13:25:56 Modified: jk/native2/include jk_handler.h Log: Finalized a working version of jk_handler. Jk is based on messages, and jk_handler is the interface used to get ( custom ) message handlers. Revision Changes Path 1.3 +45 -11 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.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- jk_handler.h 2001/12/06 22:48:49 1.2 +++ jk_handler.h 2001/12/12 21:25:56 1.3 @@ -77,30 +77,64 @@ #include "jk_uriMap.h" #include "jk_worker.h" #include "jk_endpoint.h" +#include "jk_msg.h" #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ +/* Return codes from the handler method + */ -typedef int (JK_METHOD *jk_handle_in_t)(jk_msg_buf_t *msg, - jk_ws_service_t *r, - jk_endpoint_t *ae, - jk_logger_t *l); - -typedef int (JK_METHOD *jk_handle_out_t)(jk_msg_buf_t *msg, - jk_ws_service_t *r, - jk_endpoint_t *ae, - jk_logger_t *l); +/** + * Message does not have a response, jk will continue + * to wait. + */ +#define JK_HANDLER_OK 0 + +/** Message requires a response. The handler will prepare + * the response in e->post message. + */ +#define JK_HANDLER_RESPONSE 1 + +/** This is the last message ( in a sequence ). The original + * transaction is now completed. + */ +#define JK_HANDLER_LAST 2 + +/** An error ocurred during handler execution. The processing + * will be interrupted, but the connection remains open. + * After an error handler we should continue receiving messages, + * but ignore them and send an error message on the first ocassion. + */ +#define JK_HANDLER_ERROR 3 + +/** A fatal error ocurred, we should close the channel + * and report the error. This should be used if something unexpected, + * from which we can't recover happens. ( for example an unexpected packet, + * an invalid code, etc ). + */ +#define JK_HANDLER_FATAL 4 + +struct jk_msg; +struct jk_ws_service; +struct jk_endpoint; +struct jk_logger; + +typedef int (JK_METHOD *jk_handler_callback)(struct jk_msg *msg, + struct jk_ws_service *r, + struct jk_endpoint *ae, + struct jk_logger *l); struct jk_handler; typedef struct jk_handler jk_handler_t; struct jk_handler { struct jk_workerEnv *workerEnv; - - int (*init)( jk_worker_t *w ); + char *name; + int messageId; + jk_handler_callback callback; }; #ifdef __cplusplus -- To unsubscribe, e-mail: For additional commands, e-mail: