Return-Path: Mailing-List: contact tomcat-dev-help@jakarta.apache.org; run by ezmlm Delivered-To: mailing list tomcat-dev@jakarta.apache.org Received: (qmail 40784 invoked from network); 24 Jan 2000 16:20:45 -0000 Received: from adsl-63-198-47-229.dsl.snfc21.pacbell.net (HELO costin.dnt.ro) (63.198.47.229) by 63.211.145.10 with SMTP; 24 Jan 2000 16:20:45 -0000 Received: from localhost (costin [63.198.47.229]) by costin.dnt.ro (8.9.3+Sun/8.9.1) with ESMTP id IAA15361 for ; Mon, 24 Jan 2000 08:20:43 -0800 (PST) Date: Mon, 24 Jan 2000 00:21:30 -0800 (PST) From: costin@costin.dnt.ro X-Sender: costin@costin To: tomcat-dev@jakarta.apache.org Subject: Re: Looking for the ajp23 spec In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII > Is there a spec for ajp23 ? No, just the code. It started as a bi-directional extension to AJP11 ( based also on a spec from java.apache.org ). The main ideea is the thread model - Apache 1.3 doesn't support threads, that mean we need to do some tricks to support callbacks. When Apache starts it connects to Tomcat and keeps that connection open ( that saves TCP startup time ). When a HTTP request needs to be served by tomcat, Apache will send some of the informations in request_rec in a package, then wait for any response. The response is a function code and parameters ( "send header", "send body", or any other callback we define). Apache will execute the callback and send the response, then wait again. Everything works with 1 thread on Apache side ( the "main" thread) and 1 thread used on Tomcat side, with alternative execution. Of course, that has limitations, but I can't think of any better way to deal with Apache thread restrictions. Costin