Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

65 lines (46 sloc) 2.297 kb
Timeouts
* slow responses? (feasable? just let TCP do it?)
psgi.input streaming
* add a "poll_cb()" method to the psgi.input handle as an extension? EV
gets to schedule the watcher in that case rather than bleeding the fd to
the handler.
* related: Connection: close bodies
* related: Transfer-Encoding: chunked bodies
IO::Handle-like responses
* check if it's got a real file descriptor? optimize (libeio or similar
for non-blocking sendfile?) (v1.1)
* wait for readability using an ev watcher? (v1.1)
streamed responses
* instead of an implicit "low water mark" of 0 for the poll_cb
writer-object callback, a configurable number of bytes can be used.
Handle requests that don't require a body (optional entities).
* Related: allow overriding the "if entity has a C-L, wait for it" during request
start (not sure if there's a PSGI-compatible way to do this)
* different request timeout logic will be needed.
Optimize env-hash
* allow Feersum apps to specify which vars will be needed (v1.1)
** will this even be a win?
* maybe use uvar magic for PSGI if using Perl v5.10.0 (Variable::Magic
style?) (v1.1)
Perf idea: Un-corked reads - should newly accepted handles wait or just try
read right away?
multiple Feersum threads, one Perl thread?
WebSocket support (v1.1)
* http://www.whatwg.org/specs/web-socket-protocol/
* Support psgix.io and Web::Hippie already (0.981), but would be good to
accelerate it.
* Do the handshake in C/XS, call request_handler once request is complete.
* I/O is done using the streaming interface (buffered)
* requires random numbers (drand48?) and an MD5 implementation (link
openssl? use the guts of Digest::MD5 somehow?)
* make this a separate module since if it brings in an openssl deps.
* will this work for PSGI? magic psgix.web_socket or something?
Release t/Utils.pm's "simple_client" as "anyevent::anotherhttp" or something?
accept4
* available on newer linuxes, saves calls to fcntl for setting NONBLOCK
and CLOEXEC
JSON accelleration?
* can write_json() an element in an array of things? automagically call JSON::XS stuff?
* middleware with XS-accellerator?
True pre-forking support
* serialize accept() calls
Jump to Line
Something went wrong with that request. Please try again.