costin 02/01/25 23:22:24 Modified: jk/java/org/apache/jk/core Handler.java Msg.java Webapp.java Worker.java WorkerEnv.java Log: Various other changes to get ChannelJni integrated. Revision Changes Path 1.2 +20 -2 jakarta-tomcat-connectors/jk/java/org/apache/jk/core/Handler.java Index: Handler.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/core/Handler.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Handler.java 31 Dec 2001 19:03:53 -0000 1.1 +++ Handler.java 26 Jan 2002 07:22:23 -0000 1.2 @@ -62,6 +62,9 @@ import java.util.*; import java.security.*; +// XXX This should be called MsgListener or MsgDecoder - 'handler' is too +// overloaded. + /** * * @author Costin Manolache @@ -70,12 +73,27 @@ public static final int OK=0; public static final int LAST=1; public static final int ERROR=2; + + protected WorkerEnv we; + protected Worker worker; + public void setWorkerEnv( WorkerEnv we ) { + this.we=we; + } + + public void setWorker( Worker worker ) { + this.worker=worker; + } - public void init( WorkerEnv we ) { + /** Should register the request types it can handle, + * same style as apache2. + */ + public void init() { } - public int callback(int type, Channel ch, Endpoint ep, Msg in) throws IOException { + public int callback(int type, Channel ch, Endpoint ep, Msg in) + throws IOException + { return OK; } 1.3 +5 -8 jakarta-tomcat-connectors/jk/java/org/apache/jk/core/Msg.java Index: Msg.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/core/Msg.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Msg.java 6 Jan 2002 08:47:09 -0000 1.2 +++ Msg.java 26 Jan 2002 07:22:23 -0000 1.3 @@ -154,16 +154,13 @@ */ public abstract int getLongInt(); - /** - * Send a packet to the web server. Works for any type of message. - * - * @param msg A packet with accumulated data to send to the server -- - * this method will write out the length in the header. - */ - public abstract void send(Channel ch, Endpoint ep) throws IOException; + public abstract int getHeaderLength(); - public abstract int receive(Channel ch, Endpoint ep) throws IOException; + public abstract int processHeader(); + public abstract byte[] getBuffer(); + + public abstract int getLen(); public abstract void dump(String msg); 1.2 +3 -0 jakarta-tomcat-connectors/jk/java/org/apache/jk/core/Webapp.java Index: Webapp.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/core/Webapp.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Webapp.java 31 Dec 2001 19:03:53 -0000 1.1 +++ Webapp.java 26 Jan 2002 07:22:23 -0000 1.2 @@ -99,6 +99,9 @@ int logLevel; + // + String welcomeFiles[]; + /* Server env variables we want to receive */ String envvars[]; 1.3 +1 -14 jakarta-tomcat-connectors/jk/java/org/apache/jk/core/Worker.java Index: Worker.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/core/Worker.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Worker.java 21 Jan 2002 20:11:52 -0000 1.2 +++ Worker.java 26 Jan 2002 07:22:23 -0000 1.3 @@ -84,25 +84,12 @@ this.we=we; } - public WorkerEnv getWorkerEnv() { - return we; - } - /* ==================== Start/stop ==================== */ - /** Configuration. We'll extract and check the settings. - * XXX We should be able to get info from the same - * properties file as the C side, so port, etc could be - * configured in only one place - */ - public void validate( Properties p ) - { - } - /** Initialize the worker. After this call the worker will be * ready to accept new requests. */ - public void init(WorkerEnv we) throws IOException { + public void init() throws IOException { // Run a thread that will accept connections. 1.3 +21 -13 jakarta-tomcat-connectors/jk/java/org/apache/jk/core/WorkerEnv.java Index: WorkerEnv.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/core/WorkerEnv.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- WorkerEnv.java 6 Jan 2002 08:47:09 -0000 1.2 +++ WorkerEnv.java 26 Jan 2002 07:22:23 -0000 1.3 @@ -96,8 +96,8 @@ String handlerNames[]=new String[MAX_HANDLERS]; int currentId=RESERVED; - Vector workers=new Vector(); - Vector channels=new Vector(); + Hashtable workers=new Hashtable(); + Hashtable channels=new Hashtable(); public WorkerEnv() { for( int i=0; i<noteId.length; i++ ) { @@ -125,7 +125,8 @@ } public void addHandler( Handler h ) { - h.init( this ); + h.setWorkerEnv( this ); + h.init(); } public int getNoteId( int type, String name ) { @@ -171,25 +172,32 @@ return handler.callback( type, ch, ep, hBuf ); } - public void addWorker( Worker w ) { + public void addWorker( String name, Worker w ) { w.setWorkerEnv( this ); - workers.addElement( w ); + workers.put( name, w ); } - public void addChannel( Channel c ) { + public Worker getWorker( String name ) { + return (Worker)workers.get(name); + } + + public void addChannel( String name, Channel c ) { c.setWorkerEnv( this ); - channels.addElement( c ); + channels.put( name, c ); } public void start() throws IOException { - - for( int i=0; i< workers.size(); i++ ) { - Worker w=(Worker)workers.elementAt(i); - w.init(this); + Enumeration en=workers.keys(); + while( en.hasMoreElements() ) { + String n=(String)en.nextElement(); + Worker w=(Worker)workers.get(n); + w.init(); } - for( int i=0; i< channels.size(); i++ ) { - Channel ch=(Channel)channels.elementAt(i); + en=channels.keys(); + while( en.hasMoreElements() ) { + String n=(String)en.nextElement(); + Channel ch=(Channel)channels.get(n); ch.init(); } }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>