Skip to content
Browse files

Update roadmap

  • Loading branch information...
1 parent 6937a74 commit 15f58cefa9f3c065aa6b5ed1728560bfef18c23e @stash committed
Showing with 30 additions and 14 deletions.
  1. +30 −14 TODO
View
44 TODO
@@ -1,3 +1,13 @@
+CPAN!
+ * do developer-preview as 0.90_1
+ * remove AnyEvent::HTTP dep?
+ * finish v1.0 tasks
+
+profiling & coverage
+ * gprof - does this need a perl built with `-pg`? Just setting
+ OPTIMIZE='-pg' for Makefile.PL doesn't seem to do it :/
+ * gcov? (v1.0)
+
Timeouts
* slow responses? (feasable? just let TCP do it?)
@@ -11,16 +21,16 @@ psgi.input streaming
IO::Handle-like responses
- * allow them!
- * check if it's got a real file descriptor, optimize (libeio for
- non-blocking sendfile?)
- * pump the getline() method when connection-writable
+ * pump the getline() method when connection-writable (v1.0)
+ * check if it's got a real file descriptor, optimize (libeio or similar
+ for non-blocking sendfile?) (v1.1)
streamed responses
* allow streaming responses to be HTTP/1.0 "Connection: close" rather than
- HTTP/1.1 "Transfer-Encoding: chunked". match up the streaming flavour
- with the request version?
+ HTTP/1.1 "Transfer-Encoding: chunked". Match up the streaming flavour
+ with the request version. Will need to not use AnyEvent::HTTP as
+ test-client (v1.0)
* instead of an implicit "low water mark" of 0 for the poll_cb
writer-object callback, a configurable number of bytes can be used.
@@ -30,27 +40,33 @@ Handle requests that don't require a body (optional entities).
start (not sure if there's a PSGI-compatible way to do this)
* different request timeout logic will be needed.
-Better EV-callback error handling.
+Audit EV-callback error handling. (v1.0)
Lazy I/O watcher initialization?
Per-client "drain" and "completion" callbacks?
- * "completion" is when finished sending a full HTTP response (so apps can
- make request-completion assertions); could be accomplished with guards instead.
+ * drain sorta done as the $w->poll_cb()
+ * completion_cb is called when finished sending a full HTTP response. For
+ non-KA a guard on the conn object is sufficient, but for KA a callback is
+ needed.
Per-client data (for attaching guards).
-Translate sockaddr/etc. and put in env hash.
+Translate sockaddr/etc. and put in env-hash for PSGI
+
+Optimize env-hash
-Un-corked reads - should newly accepted handles wait or just try read right
-away?
+ * allow Feersum apps to specify which vars will be needed (v1.0)
+ * use uvar magic for PSGI if using Perl v5.10.0 (Variable::Magic style?)
+ or a tied hash if v5.8 (v1.1)
-sendfile via libeio/IO::AIO ?
+Perf idea: Un-corked reads - should newly accepted handles wait or just try
+read right away?
multiple Feersum threads, one Perl thread?
-WebSocket support
+WebSocket support (v1.1)
* http://www.whatwg.org/specs/web-socket-protocol/
* Do the handshake in C/XS, call request_handler once request is complete.

0 comments on commit 15f58ce

Please sign in to comment.
Something went wrong with that request. Please try again.