[5.0] Optimizing the core a bit more

2003-07-18 Thread Remy Maucherat
In an effort to tweak the core a bit more to simplify things:

- Remove ContainerBase.invoke: A Container always has a Pipeline 
associated with it; as such, the Container interface should have a 
getPipeline method, and this should be called instead. This will reduce 
a bit the call stack.

- I noticed the RequestListenerValve was added twice to the pipeline 
(using the tester). This doesn't seem right, obviously.

- The RequestListenerValve builds the list of the listeners it must 
notify dynamically, on each request (twice for each request = lots of 
useless instanceof). This should IMO be done statically in start (with 
the array of listeners being cleared on stop).

Remy

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [5.0] Optimizing the core a bit more

2003-07-18 Thread Remy Maucherat
Remy Maucherat wrote:
In an effort to tweak the core a bit more to simplify things:

- Remove ContainerBase.invoke: A Container always has a Pipeline 
associated with it; as such, the Container interface should have a 
getPipeline method, and this should be called instead. This will reduce 
a bit the call stack.

- I noticed the RequestListenerValve was added twice to the pipeline 
(using the tester). This doesn't seem right, obviously.
Actually, since it is a needed feature for spec compliance, and to 
simplify things a little, it should be in core, and I'll integrate the 
code in StandardContextValve.

Similarly, the code in the ErrorDispatcherValve should be integrated in 
StandardHostValve.

OTOH, the ErrorReportValve should stay as is as a Valve, as it is not 
required for spec compliance, and it is valid to remove or replace it.

Comments ?

Remy



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]