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...@covalent.net on 2002/01/23 21:39:54 UTC

Native2: proposed interface change

One of the goals of the new native connector is to provide better
interfaces and support for different transports.

What I would like is to clarify ( and simplify ) the relation
between the 3 objects that are involved in the transport:
- worker
- endpoint
- channel
in order to have less duplicated code and more flexibility.

The proposal is:
- move service() from endpoint_t to worker_t.
- move get_endpoint() from worker_t and done() from endpoint_t to
channel_t.
- move processCallbacks() from workerEnv_t to channel_t.

What we acomplish by that:
- channel will be the only object dealing with message transport
( regardless of the message format ). JNI which uses a different
protocol will be a normal channel like any other.

- worker will only implement service() ( the actual action ), using
delegation to channel or a different mechanism. A worker can
implement a different protocol ( like warp ), or do anything else -
it still have the same flexibility, just that the code will be much
simpler since it'll delegate instead of duplicate.

- endpoint is specific and managed by channel, and represents a
(single) connection between java and C.

Worker remains the 'central' object, controlling how the request is
forwarded. We just move the overhead of managing specific connections
to channel, which is handling the transport.


What I want is to make the C code implement the
same abstractions with the java side and to get JNI to use the
same transport abstraction.


What do you think ? Henri, JFC, Kevin - I hope for an quick answer :-)

Costin



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Native2: proposed interface change

Posted by jean-frederic clere <jf...@fujitsu-siemens.com>.
costinm@covalent.net wrote:
> 
> One of the goals of the new native connector is to provide better
> interfaces and support for different transports.
> 
> What I would like is to clarify ( and simplify ) the relation
> between the 3 objects that are involved in the transport:
> - worker
> - endpoint
> - channel
> in order to have less duplicated code and more flexibility.
> 
> The proposal is:
> - move service() from endpoint_t to worker_t.
> - move get_endpoint() from worker_t and done() from endpoint_t to
> channel_t.
> - move processCallbacks() from workerEnv_t to channel_t.
> 
> What we acomplish by that:
> - channel will be the only object dealing with message transport
> ( regardless of the message format ). JNI which uses a different
> protocol will be a normal channel like any other.
> 
> - worker will only implement service() ( the actual action ), using
> delegation to channel or a different mechanism. A worker can
> implement a different protocol ( like warp ), or do anything else -
> it still have the same flexibility, just that the code will be much
> simpler since it'll delegate instead of duplicate.
> 
> - endpoint is specific and managed by channel, and represents a
> (single) connection between java and C.
> 
> Worker remains the 'central' object, controlling how the request is
> forwarded. We just move the overhead of managing specific connections
> to channel, which is handling the transport.
> 
> What I want is to make the C code implement the
> same abstractions with the java side and to get JNI to use the
> same transport abstraction.
> 
> What do you think ? Henri, JFC, Kevin - I hope for an quick answer :-)

+1 I have to find more time for it ;-))

> 
> Costin
> 
> --
> To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>