Nick Kew wrote:
On Sun, 27 Jun 2004, Paul Querna wrote:
The 2.0 branch was made over 18 months ago, it is time to make another
stable branch. I believe many people want the AAA changes, and it brings
even more features to encourage people to upgrade from 1.3.
There's another consideration that could be relevant here: people who
never touch an N.0 software release. Bump it to 2.3? :-)
With the release of 2.0, we moved to a model of "even
numbers are production releases, odd numbers are development
releases." So 2.2.1 will be the right choice for people who
don't want to run N.0 releases. :-)
This is only a list from my initial thoughts, please comment and make
suggestions. I will take the resulting thread and rewrite the ROADMAP
file.
Smart filtering. We need much better dynamic configuration of the
filter chain, with processing depending on the headers. Think an
AddOutputFilterByType that isn't a hackish afterthought, and extend
that to work with more than just Content-Type. It also fixes the
awkwardness currently involved in ordering a nontrivial filter chain.
I've got this working with some minor hacks to 2.0. Need time to
generalise/abstract it into a proposal.
I like that idea.
And it reminds me of another thing related to filtering that I
think would be valuable (essential, IMHO) for 2.2: redesigning
the input filters so that data is "pushed" through them, instead
of letting each input filter "pull" data from its predecessor.
If we could do this in 2.2.0, it would then be possible to
implement an async, multiple-connections-per-thread MPM
in some future 2.2.x release without breaking the filter API.
Alas, this has been on my to-do list for over a year, and I
havent' yet had time to work on it.
Another aspect of filters that's been problematic in the past
has been ensuring that memory in pool buckets gets freed
at the right time. This will become even more complicated
if future MPMs have multiple threads handling the same
connection. (The more I think about this issue, the more
I find myself thinking that we should implement buckets as
java.nio.ByteBuffer objects and let a JVM worry about
reference counting so that we can just worry about web
serving.)
Brian