Fetching contributors…
Cannot retrieve contributors at this time
65 lines (46 sloc) 2.24 KB
* 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)
* Support 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/'s "simple_client" as "anyevent::anotherhttp" or something?
* available on newer linuxes, saves calls to fcntl for setting NONBLOCK
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