summary refs log tree commit homepage
path: root/lib/rainbows/writer_thread_pool
AgeCommit message (Collapse)AuthorFilesLines
2011-05-16add "copy_stream" config directiveEric Wong1-1/+1
This allows using IO::Splice.copy_stream from the "io_splice" RubyGem on recent Linux systems. This also allows users to disable copy_stream usage entirely and use traditional response_body.each calls which are compatible with all Rack servers (to workaround bugs in IO.copy_stream under 1.9.2-p180).
2011-03-10switch from IO#sendfile_nonblock to IO#trysendfileEric Wong1-1/+1
IO#trysendfile does not raise exceptions for common EAGAIN errors, making it far less expensive to use with the following concurrency models: * Coolio * CoolioFiberSpawn * Revactor * FiberSpawn * FiberPool This requires the new sendfile 1.1.0 RubyGem and removes support for the sendfile 1.0.0. All sendfile users must upgrade or be left without sendfile(2) support. IO#sendfile behaves the same if you're using a multi-threaded concurrency option, but we don't detect nor use it unless IO#trysendfile exists.
2011-01-04globally refactor Range handling for responsesEric Wong1-1/+44
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.
2010-12-27doc: misc cleanups and additions for RDocEric Wong1-2/+2
This is also our website, so we need to document the new concurrency options for users and point existing Rev* users to it.
2010-12-27writer_thread_*: split out classes into separate filesEric Wong1-0/+19
Use a consistent "Client" naming to reduce confusion