ROADMAP revision 998a0c99bc22357406f359ace2f602c5d6e376c6
0N/AAPACHE 2.x ROADMAP:
0N/A
0N/ALast modified at [$Date: 2002/09/28 17:33:31 $]
0N/A
911N/ADEFERRRED FOR APACHE 2.1
810N/A
0N/A * Source code should follow style guidelines.
0N/A OK, we all agree pretty code is good. Probably best to clean this
919N/A up by hand immediately upon branching a 2.1 tree.
919N/A Status: Justin volunteers to hand-edit the entire source tree ;)
919N/A
919N/A Justin says:
919N/A Recall when the release plan for 2.0 was written:
919N/A Absolute Enforcement of an "Apache Style" for code.
919N/A Watch this slip into 3.0.
919N/A
919N/A David says:
919N/A The style guide needs to be reviewed before this can be done.
919N/A http://httpd.apache.org/dev/styleguide.html
919N/A The current file is dated April 20th 1998!
919N/A
919N/A OtherBill offers:
919N/A It's survived since '98 because it's welldone :-) Suggest we
919N/A simply follow whatever is documented in styleguide.html as we
919N/A branch the next tree. Really sort of straightforward, if you
0N/A dislike a bit within that doc, bring it up on the dev@httpd
0N/A list prior to the next branch.
0N/A
156N/AWORKS IN PROGRESS (PERHAPS DEFERRED FOR 2.1 or 3.0)
493N/A
0N/A * revamp the input filter syntax to provide for ordering of
0N/A filters created with the Set{Input|Output}Filter and the
818N/A Add{Input|Output}Filter directives. A 'relative to filterx'
0N/A syntax is definately preferable.
911N/A
911N/A * Platforms that do not support fork (primarily Win32 and AS/400)
911N/A Architect start-up code that avoids initializing all the modules
911N/A in the parent process on platforms that do not support fork.
0N/A
493N/A . Better yet - not only inform the startup of which phase it's in,
493N/A but allow the parent 'process' to initialize shared memory, etc,
156N/A and create a module-by-module stream to pass to the child, so the
0N/A parent can actually arbitrate the important stuff.
0N/A
156N/A * Replace stat [deferred open] with open/fstat in directory_walk.
156N/A Justin, Ian, OtherBill all interested in this. Implies setting up
0N/A the apr_file_t member in request_rec, and having all modules use
0N/A that file, and allow the cleanup to close it [if it isn't a shared,
818N/A cached file handle.]
818N/A
779N/A * The Async Apache Server implemented in terms of APR.
364N/A [Bill Stoddard's pet project.]
156N/A Message-ID: <008301c17d42$9b446970$01000100@sashimi> (dev@apr)
156N/A
0N/A OtherBill notes that this can proceed in two parts...
591N/A
591N/A Async accept, setup, and tear-down of the request
591N/A e.g. dealing with the incoming request headers, prior to
591N/A dispatching the request to a thread for processing.
591N/A This doesn't need to wait for a 2.x/3.0 bump.
591N/A
591N/A Async delegation of the entire request processing chain
0N/A Too many handlers use stack storage and presume it is
156N/A available for the life of the request, so a complete
493N/A async implementation would need to happen 3.0 release.
493N/A
156N/A * Add a string "class" that combines a char* with a length
493N/A and a reference count. This will help reduce the number
493N/A of strlen and strdup operations during request processing.
837N/A Including both the length and allocation will save us a ton
837N/A of reallocation we do today, in terms of string manipulation.
846N/A
493N/A OtherBill asks if this is really an APR issue, not an HTTPD issue?
493N/A