diff options
author | Eric Wong <normalperson@yhbt.net> | 2010-12-30 08:33:15 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2011-01-04 16:37:42 -0800 |
commit | e21939d776673b2f8887adf7a5c64812b7d2e98e (patch) | |
tree | 48aa3a71201e770758bd09b325c3f2704411af7f /lib/rainbows/writer_thread_spawn.rb | |
parent | 4a76da1833922c74e147be5def9bfe04fd0c16a2 (diff) | |
download | rainbows-e21939d776673b2f8887adf7a5c64812b7d2e98e.tar.gz |
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.
Diffstat (limited to 'lib/rainbows/writer_thread_spawn.rb')
-rw-r--r-- | lib/rainbows/writer_thread_spawn.rb | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/lib/rainbows/writer_thread_spawn.rb b/lib/rainbows/writer_thread_spawn.rb index 43e4f2c..2f264d9 100644 --- a/lib/rainbows/writer_thread_spawn.rb +++ b/lib/rainbows/writer_thread_spawn.rb @@ -19,19 +19,11 @@ require 'thread' # vulnerable to slow client denial-of-service attacks. module Rainbows::WriterThreadSpawn - # :stopdoc: include Rainbows::Base - - def write_body(my_sock, body, range) # :nodoc: - if body.respond_to?(:close) - Rainbows::SyncClose.new(body) { |body| my_sock.queue_body(body, range) } - else - my_sock.queue_body(body, range) - end - end + autoload :Client, 'rainbows/writer_thread_spawn/client' def process_client(client) # :nodoc: - super(Client.new(client)) + Client.new(client).process_loop end def worker_loop(worker) # :nodoc: @@ -42,4 +34,3 @@ module Rainbows::WriterThreadSpawn # :startdoc: end # :enddoc: -require 'rainbows/writer_thread_spawn/client' |