Thanks very much!

The big hope is all the socket connection and thread pool management "wheel re-inventing" etc is "done" and I can do it mostly "high level" except for the interpreting of the input protocol byte streams. Have it do somehing like:

ProtocolConnectorThread.onListenerConnect(inputStream, outputStream)
{
   try {

       request = mypool.getARequest(inputStream,this);
       response = mypool.getAResponse(outputStream,this);

       for(;;)
       {
           ( parse stuff in protocol header inputStream,
             deal with protocol  };
            request.resetAndSetStuff(inputStream,stuff);
            response.resetAndSetStuff(outputStream,stuff);
             routeToServelet("urlName",request,response);
       }
    }
    catch(ServletOopsException oe)
    {
        Oops, respond to sender "I'm Dead" on output, kill socket
    }
    mypool.reclaim(request);
    mypool.reclaim(response);
}



At 23:03 3/2/2007, you wrote:

"Peter Kennard" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]
> would definately be someting to do.
> one has to wade through a lot of stuff to get to that point :)
> I have to find out where what defines a connector is, how it is installed
> and configured ...
>

Well, the first thing that you need is a ProtocolHandler
(http://tomcat.apache.org/tomcat-5.5-doc/catalina/docs/api/org/apache/coyote/ProtocolHandler.html).
Any attributes that are put into the <Connector /> element will be passed
JavaBean-style to your ProtocolHandler, so you can take care of
configuration that way.  It is the job of the ProtocolHandler to accept
requests, manage threads, and pass the request back off to the Adapter
(http://tomcat.apache.org/tomcat-5.5-doc/catalina/docs/api/org/apache/coyote/Adapter.html)
that Tomcat gives it.  Most of the time, you will also need to implement
ActionHook
(http://tomcat.apache.org/tomcat-5.5-doc/catalina/docs/api/org/apache/coyote/ActionHook.html)
for best results.

You mentioned something about modifying the AJP Connector.  The JK AJP
Connector (the one under o.a.jk) has a plugable archatecture that may allow
you to reuse some of the bits (in particular,
ChannelSocket/ChannelNioSocket) if your protocol is close enough (or you can
change it to be :).

> So what people are saying is "get the source and build it" as step #1 ??
>
> At 16:38 3/2/2007, you wrote:
>>Seems to me that looking at the differences in source between two
>>connectors (e.g. AJP and HTTP) would be the best documentation of
>>what you'll have to change :-)
>

As of TC 6, there are 3 supported AJP Connectors, and 3 supported HTTP
connectors ;-).

>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>




---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to