about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-01-20 22:15:12 +0000
committerEric Wong <normalperson@yhbt.net>2011-01-20 22:15:12 +0000
commitea4a01df8b1fa29e2088816f4734bb0073eb9380 (patch)
tree95595c773c63f228b5b2fc420ac2adba87097a80
parent7ec2e407206036a993aadbcd39b13a2d86b7a288 (diff)
downloadrainbows-ea4a01df8b1fa29e2088816f4734bb0073eb9380.tar.gz
The WebSocket protocol is still undergoing changes and unused.
We won't waste time supporting it until it's finalized and
doesn't break HTTP.
-rw-r--r--Documentation/comparison.haml12
-rw-r--r--README1
-rw-r--r--lib/rainbows/const.rb6
-rw-r--r--lib/rainbows/coolio_fiber_spawn.rb12
-rw-r--r--lib/rainbows/process_client.rb2
-rw-r--r--lib/rainbows/rev_fiber_spawn.rb8
-rw-r--r--lib/rainbows/revactor/client.rb1
7 files changed, 16 insertions, 26 deletions
diff --git a/Documentation/comparison.haml b/Documentation/comparison.haml
index 89b5d4b..2b3362a 100644
--- a/Documentation/comparison.haml
+++ b/Documentation/comparison.haml
@@ -278,14 +278,14 @@
     %td.app_pool Yes
     %td.lock No!
     %td.async Revactor itself
-    %td.ws Sunshowers
+    %td.ws no
   %tr.comp_row
     %td.mod ThreadPool
     %td.devfd Yes
     %td.app_pool Yes
     %td.lock Yes
     %td.async standard Ruby
-    %td.ws Sunshowers
+    %td.ws no
   %tr.comp_row
     %td.mod Coolio
     %td.devfd Yes
@@ -299,7 +299,7 @@
     %td.app_pool Yes
     %td.lock Yes
     %td.async standard Ruby
-    %td.ws Sunshowers
+    %td.ws no
   %tr.comp_row
     %td.mod EventMachine
     %td.devfd Yes
@@ -320,21 +320,21 @@
     %td.app_pool Yes
     %td.lock No!
     %td.async Rainbows::Fiber::IO, Rainbows.sleep
-    %td.ws Sunshowers
+    %td.ws no
   %tr.comp_row
     %td.mod FiberPool
     %td.devfd Yes
     %td.app_pool Yes
     %td.lock No!
     %td.async Rainbows::Fiber::IO, Rainbows.sleep
-    %td.ws Sunshowers
+    %td.ws no
   %tr.comp_row
     %td.mod ActorSpawn
     %td.devfd no-op
     %td.app_pool Yes
     %td.lock Yes
     %td.async standard Ruby
-    %td.ws Sunshowers
+    %td.ws no
   %tr.comp_row
     %td.mod NeverBlock
     %td.devfd Yes
diff --git a/README b/README
index e921205..ee8ca78 100644
--- a/README
+++ b/README
@@ -69,7 +69,6 @@ network concurrency.
 
 \Rainbows! is mainly designed for the odd things Unicorn sucks at:
 
-* Web Sockets (via {Sunshowers}[http://rainbows.rubyforge.org/sunshowers/])
 * 3rd-party APIs (to services outside your control/LAN)
 * OpenID consumers (to providers outside your control/LAN)
 * Reverse proxy implementations with editing/censoring
diff --git a/lib/rainbows/const.rb b/lib/rainbows/const.rb
index 33df05d..559659c 100644
--- a/lib/rainbows/const.rb
+++ b/lib/rainbows/const.rb
@@ -14,12 +14,6 @@ module Rainbows::Const
     # "rainbows.autochunk" => false,
   })
 
-  # client IO object that supports reading and writing directly
-  # without filtering it through the HTTP chunk parser.
-  # Maybe we can get this renamed to "rack.io" if it becomes part
-  # of the official spec, but for now it is "hack.io"
-  CLIENT_IO = "hack.io".freeze
-
   RACK_INPUT = Unicorn::HttpRequest::RACK_INPUT
   REMOTE_ADDR = Unicorn::HttpRequest::REMOTE_ADDR
 end
diff --git a/lib/rainbows/coolio_fiber_spawn.rb b/lib/rainbows/coolio_fiber_spawn.rb
index 094e18e..52b3e63 100644
--- a/lib/rainbows/coolio_fiber_spawn.rb
+++ b/lib/rainbows/coolio_fiber_spawn.rb
@@ -2,12 +2,12 @@
 require 'rainbows/fiber/coolio'
 
 # A combination of the Coolio and FiberSpawn models.  This allows Ruby
-# 1.9 Fiber-based concurrency for application processing while
-# exposing a synchronous execution model and using scalable network
-# concurrency provided by Cool.io.  A "rack.input" is exposed as well
-# being Sunshowers-compatible.  Applications are strongly advised to
-# wrap all slow IO objects (sockets, pipes) using the
-# Rainbows::Fiber::IO or a Cool.io-compatible class whenever possible.
+# 1.9 Fiber-based concurrency for application processing while exposing
+# a synchronous execution model and using scalable network concurrency
+# provided by Cool.io.  A streaming "rack.input" is exposed.
+# Applications are strongly advised to wrap all slow IO objects
+# (sockets, pipes) using the Rainbows::Fiber::IO or a Cool.io-compatible
+# class whenever possible.
 module Rainbows::CoolioFiberSpawn
 
   include Rainbows::Base
diff --git a/lib/rainbows/process_client.rb b/lib/rainbows/process_client.rb
index 2ddc368..bf6d20b 100644
--- a/lib/rainbows/process_client.rb
+++ b/lib/rainbows/process_client.rb
@@ -6,7 +6,6 @@ module Rainbows::ProcessClient
 
   NULL_IO = Unicorn::HttpRequest::NULL_IO
   RACK_INPUT = Unicorn::HttpRequest::RACK_INPUT
-  CLIENT_IO = "hack.io".freeze
   IC = Unicorn::HttpRequest.input_class
 
   def process_loop
@@ -46,6 +45,5 @@ module Rainbows::ProcessClient
 
   def set_input(env, hp)
     env[RACK_INPUT] = 0 == hp.content_length ? NULL_IO : IC.new(self, hp)
-    env[CLIENT_IO] = self
   end
 end
diff --git a/lib/rainbows/rev_fiber_spawn.rb b/lib/rainbows/rev_fiber_spawn.rb
index 52ba2cd..434d72c 100644
--- a/lib/rainbows/rev_fiber_spawn.rb
+++ b/lib/rainbows/rev_fiber_spawn.rb
@@ -6,8 +6,8 @@ Rainbows.const_set(:RevFiberSpawn, Rainbows::CoolioFiberSpawn)
 # A combination of the Rev and FiberSpawn models.  This allows Ruby
 # 1.9 Fiber-based concurrency for application processing while
 # exposing a synchronous execution model and using scalable network
-# concurrency provided by Rev.  A "rack.input" is exposed as well
-# being Sunshowers-compatible.  Applications are strongly advised to
-# wrap all slow IO objects (sockets, pipes) using the
-# Rainbows::Fiber::IO or a Rev-compatible class whenever possible.
+# concurrency provided by Rev.  A streaming "rack.input" is exposed.
+# Applications are strongly advised to wrap all slow IO objects
+# (sockets, pipes) using the Rainbows::Fiber::IO or a Rev-compatible
+# class whenever possible.
 module Rainbows::RevFiberSpawn; end
diff --git a/lib/rainbows/revactor/client.rb b/lib/rainbows/revactor/client.rb
index fc095b5..1aabf93 100644
--- a/lib/rainbows/revactor/client.rb
+++ b/lib/rainbows/revactor/client.rb
@@ -39,7 +39,6 @@ class Rainbows::Revactor::Client
   def set_input(env, hp)
     env[RACK_INPUT] = 0 == hp.content_length ?
                       NULL_IO : IC.new(@ts = TeeSocket.new(@client), hp)
-    env[CLIENT_IO] = @client
   end
 
   def close