about summary refs log tree commit homepage
diff options
authorEric Wong <normalperson@yhbt.net>2010-08-03 08:40:28 +0000
committerEric Wong <normalperson@yhbt.net>2010-08-03 09:04:09 +0000
commit62b72b1471705a4ac3aa9ee671f9022bdb556842 (patch)
parent49b3bb067c49622b44bfb30942a8d8e9f83918d4 (diff)
For concurrency models that use sendfile or IO.copy_stream, HTTP
Range requests are honored when serving static files.  Due to
the lack of known use cases, multipart range responses are not

When serving static files with sendfile and proxying
pipe/socket bodies, responses bodies are always properly closed
and we have more test cases for dealing with prematurely
disconnecting clients.

Concurrency model specific changes:

EventMachine, NeverBlock -
* keepalive is now supported when proxying pipes/sockets
* pipelining works properly when using EM::FileStreamer
* these remain the only concurrency models _without_
  Range support (EM::FileStreamer doesn't support ranges)

Rev, RevThreadSpawn, RevThreadPool -
* keepalive is now supported when proxying pipes/sockets
* pipelining works properly when using sendfile

RevThreadPool -
* no longer supported under 1.8, it pegs the CPU at 100%.
  Use RevThreadSpawn (or any other concurrency model) if
  you're on 1.8, or better yet, switch to 1.9.

Revactor -
* proxying pipes/sockets with DevFdResponse is much faster
  thanks to a new Actor-aware IO wrapper (used transparently
  with DevFdResponse)
* sendfile support added, along with Range responses

FiberSpawn, FiberPool, RevFiberSpawn -
* Range responses supported when using sendfile

ThreadPool, ThreadSpawn, WriterThreadPool, WriterThreadSpawn -
* Range responses supported when using sendfile or

See the full git logs for a list of all changes.
3 files changed, 3 insertions, 3 deletions
index a37c4a7..ccb2fe3 100755
@@ -1,7 +1,7 @@
diff --git a/GNUmakefile b/GNUmakefile
index 7599291..a571cb6 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -62,7 +62,7 @@ NEWS: GIT-VERSION-FILE
         $(RAKE) -s news_rdoc > $@+
         mv $@+ $@
-SINCE = 0.94.0
+SINCE = 0.95.0
 ChangeLog: LOG_VERSION = \
   $(shell git rev-parse -q "$(GIT_VERSION)" >/dev/null 2>&1 && \
           echo $(GIT_VERSION) || git describe)
diff --git a/lib/rainbows/const.rb b/lib/rainbows/const.rb
index c5c7d58..3a7250d 100644
--- a/lib/rainbows/const.rb
+++ b/lib/rainbows/const.rb
@@ -3,7 +3,7 @@
 module Rainbows
   module Const
-    RAINBOWS_VERSION = '0.95.1'
+    RAINBOWS_VERSION = '0.96.0'
     include Unicorn::Const