summary refs log tree commit homepage
diff options
context:
space:
mode:
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)
tree0221c8d8afb25210dcfdf62da6f33835aa7c8905
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
supported.

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
  IO.copy_stream.

See the full git logs for a list of all changes.
-rwxr-xr-xGIT-VERSION-GEN2
-rw-r--r--GNUmakefile2
-rw-r--r--lib/rainbows/const.rb2
3 files changed, 3 insertions, 3 deletions
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index a37c4a7..ccb2fe3 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 GVF=GIT-VERSION-FILE
-DEF_VER=v0.95.1.GIT
+DEF_VER=v0.96.0.GIT
 
 LF='
 '
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