about summary refs log tree commit homepage
path: root/lib/rainbows/coolio.rb
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-01-11 16:43:10 -0800
committerEric Wong <normalperson@yhbt.net>2011-01-11 17:12:21 -0800
commit2eb58a62a5e738c287db8239f4f4e8d1d02ed328 (patch)
treedff76d8b65882cfc9b757b36a5d0bc32f220899b /lib/rainbows/coolio.rb
parent9caff8ecc7912306366cebb9c57b65ab12fde5ad (diff)
downloadrainbows-2eb58a62a5e738c287db8239f4f4e8d1d02ed328.tar.gz
There is one incompatible change: We no longer assume application
authors are crazy and use strangely-cased headers for "Content-Length",
"Transfer-Encoding", and "Range".  This allows us to avoid the
case-insensitivity of Rack::Utils::HeaderHash for a speed boost on the
few apps that already serve thousands of requests/second per-worker.

:Coolio got "async.callback" support like :EventMachine, but it
currently lacks EM::Deferrables which would allow us to call
"succeed"/"fail" callbacks.  This means only one-shot response writes
are supported.

There are numerous internal code cleanups and several bugfixes for
handling partial static file responses.
Diffstat (limited to 'lib/rainbows/coolio.rb')
-rw-r--r--lib/rainbows/coolio.rb3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/rainbows/coolio.rb b/lib/rainbows/coolio.rb
index d0b8b2e..59bfde6 100644
--- a/lib/rainbows/coolio.rb
+++ b/lib/rainbows/coolio.rb
@@ -18,6 +18,9 @@ require 'rainbows/coolio_support'
 # allows the Rack application to process data as it arrives.  This
 # means "rack.input" will be fully buffered in memory or to a
 # temporary file before the application is entered.
+#
+# This model is mostly compatible with users of "async.callback" in
+# the Rack environment as long as they do not depend on EventMachine.
 module Rainbows::Coolio
   # :stopdoc:
   # keep-alive timeout scoreboard