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
