summary refs log tree commit homepage
path: root/lib/rainbows/process_client.rb
AgeCommit message (Collapse)AuthorFilesLines
2011-05-10configurator: move validation logic overEric Wong1-2/+2
There's actually no reason we can't have these methods in Rainbows::Configurator where it's easier to document nowadays.
2011-05-08process_client: fix pipeline_ready arityEric Wong1-1/+1
Not that it's actually used, right now.
2011-05-06remove unnecessary variable assignmentsEric Wong1-1/+1
2011-05-03add client_header_buffer_size tuning parameterEric Wong1-1/+2
We're changing our default to 1K buffers to save memory. This should reduce memory usage of idle clients and lower pressure on the MRI GC. Rails applications using session cookies (the default) may want to up this to 2K or more.
2011-04-30lower header buffer sizes for synchronous modelsEric Wong1-1/+1
HTTP headers are usually smaller than 4K, so 16K was way too much for most users and often caused unnecessary GC runs. EventMachine and Coolio models can all share the same initial read buffer, so it's less urgent that they get this lowered for now...
2011-04-29xepoll_thread_spawn: initial implementationEric Wong1-0/+21
Whee! This is going to be awesome.
2011-01-20remove support for SunshowersEric Wong1-2/+0
The WebSocket protocol is still undergoing changes and unused. We won't waste time supporting it until it's finalized and doesn't break HTTP.
2011-01-20merge rack_input into process_clientEric Wong1-1/+11
It turns out to be less-used than previous anticipated, so there's no point in having yet another module.
2011-01-04globally refactor Range handling for responsesEric Wong1-28/+15
Rack::Utils::HeaderHash is still very expensive in Rack 1.2, especially for simple things that we want to run as fast as possible with minimal interference. HeaderHash is unnecessary for most requests that do not send Content-Range in responses.
2011-01-04simplify per-client keepalive state checksEric Wong1-3/+2
This lets us simplify repetitive checks worry less about properly maintaining/closing client connections for each concurrency model we support.
2010-12-08respect "rewindable_input false" in Unicorn configEric Wong1-6/+3
This was completely overlooked for the Rainbows 2.0.x releases.
2010-11-19simpler keepalive check for synchronous modelsEric Wong1-2/+2
Unicorn 3.x includes HttpParser#next? which will reset the parser for keepalive requests without extra steps.
2010-11-16reimplement client_max_body_size handlersEric Wong1-1/+1
This allows the client_max_body_size implementation to not rely on Unicorn::TeeInput internals, allowing it to be used with Unicorn::StreamInput (or any other (nearly) Rack::Lint-compatible input object).
2010-11-05avoid Errno::EAGAIN, harderEric Wong1-6/+2
Errno::EAGAIN is still a problem under Ruby 1.9.2, so try harder to avoid it and use kgio methods. Even when 1.9.3 is available, kgio will still be faster as exceptions are slower than normal return values.
2010-11-04process_client: fix attempted keepalive on HTTP 0.9Eric Wong1-3/+4
The long-term goal is to make the Unicorn API more terse when handling keepalive.
2010-10-25reduce dependency on IO#write_nonblockEric Wong1-2/+2
kgio_trywrite is superior if it is available.
2010-10-22code shuffling for kgioEric Wong1-0/+61
Despite the large number of changes, most of it is code movement here.