]> granicus.if.org Git - apache/blobdiff - ROADMAP
Update.
[apache] / ROADMAP
diff --git a/ROADMAP b/ROADMAP
index 6e5c48649e48a23ab18b7ae8652051d60e0208ea..4c8078002e9725d7f11923879167a976e634a729 100644 (file)
--- a/ROADMAP
+++ b/ROADMAP
@@ -1,8 +1,10 @@
-APACHE 2.x ROADMAP:
+APACHE 2.x ROADMAP
+==================
+Last modified at [$Date$]
 
-Last modified at [$Date: 2002/10/01 19:13:06 $]
 
-DEFERRRED FOR APACHE 2.1
+WORKS IN PROGRESS
+-----------------
 
     * Source code should follow style guidelines.
       OK, we all agree pretty code is good.  Probably best to clean this
@@ -26,22 +28,9 @@ DEFERRRED FOR APACHE 2.1
           dislike a bit within that doc, bring it up on the dev@httpd
           list prior to the next branch.
 
-
-WORKS IN PROGRESS (PERHAPS DEFERRED FOR 2.1 or 3.0)
-
-    * revamp the input filter syntax to provide for ordering of
-      filters created with the Set{Input|Output}Filter and the
-      Add{Input|Output}Filter directives.  A 'relative to filterx' 
-      syntax is definately preferable.
-
-    * Platforms that do not support fork (primarily Win32 and AS/400)
-      Architect start-up code that avoids initializing all the modules 
-      in the parent process on platforms that do not support fork.
-
-    . Better yet - not only inform the startup of which phase it's in,
-      but allow the parent 'process' to initialize shared memory, etc,
-      and create a module-by-module stream to pass to the child, so the
-      parent can actually arbitrate the important stuff.
+      So Bill sums up ... let's get the code cleaned up in CVS head.
+      Remember, it just takes cvs diff -b (that is, --ignore-space-change)
+      to see the code changes and ignore that cruft.  Get editing Justin :)
 
     * Replace stat [deferred open] with open/fstat in directory_walk.
       Justin, Ian, OtherBill all interested in this.  Implies setting up
@@ -65,13 +54,15 @@ WORKS IN PROGRESS (PERHAPS DEFERRED FOR 2.1 or 3.0)
            available for the life of the request, so a complete 
            async implementation would need to happen 3.0 release.
 
-    * Add a string "class" that combines a char* with a length
-      and a reference count.  This will help reduce the number
-      of strlen and strdup operations during request processing.
-      Including both the length and allocation will save us a ton 
-      of reallocation we do today, in terms of string manipulation.
-
-        OtherBill asks if this is really an APR issue, not an HTTPD issue?
+        Brian notes that async writes will provide a bigger
+        scalability win than async reads for most servers.
+        We may want to try a hybrid sync-read/async-write MPM
+        as a next step.  This should be relatively easy to
+        build: start with the current worker or leader/followers
+        model, but hand off each response brigade to a "completion
+        thread" that multiplexes writes on many connections, so
+        that the worker thread doesn't have to wait around for
+        the sendfile to complete.
 
 
 MAKING APACHE REPOSITORY-AGNOSTIC
@@ -200,7 +191,7 @@ MAKING APACHE REPOSITORY-AGNOSTIC
       than calling apr_dir_open/read/close(), a caller uses
       resource->repos->get_children() or somesuch.
 
-      Note that things like mod_dir, mod_autoindex, and mod_negotation
+      Note that things like mod_dir, mod_autoindex, and mod_negotiation
       need to be converted to use these mechanisms so that their
       functions will work on logical repositories rather than just
       filesystems.