about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2009-11-25 12:14:21 -0800
committerEric Wong <normalperson@yhbt.net>2009-11-25 13:01:21 -0800
commit06de4af18d1ba3b28e49e9d8f700df4eca36e635 (patch)
treea0481043f33be4a099f7e8f0e5e4a1a46fe99d6d /lib
parent7da8f7696fafc22a50dbcded6ca44cad7ae32ab6 (diff)
downloadrainbows-06de4af18d1ba3b28e49e9d8f700df4eca36e635.tar.gz
Diffstat (limited to 'lib')
-rw-r--r--lib/rainbows/fiber_pool.rb6
-rw-r--r--lib/rainbows/fiber_spawn.rb5
-rw-r--r--lib/rainbows/rev_thread_spawn.rb3
3 files changed, 9 insertions, 5 deletions
diff --git a/lib/rainbows/fiber_pool.rb b/lib/rainbows/fiber_pool.rb
index 8c408b9..ff693fa 100644
--- a/lib/rainbows/fiber_pool.rb
+++ b/lib/rainbows/fiber_pool.rb
@@ -7,9 +7,11 @@ module Rainbows
   # A Fiber-based concurrency model for Ruby 1.9.  This uses a pool of
   # Fibers to handle client IO to run the application and the root Fiber
   # for scheduling and connection acceptance.  The pool size is equal to
-  # the number of +worker_connections+.  This model supports a streaming
+  # the number of +worker_connections+.  Compared to the ThreadPool
+  # model, Fibers are very cheap in terms of memory usage so you can
+  # have more active connections.  This model supports a streaming
   # "rack.input" with lightweight concurrency.  Applications are
-  # strongly advised to wrap slow all IO objects (sockets, pipes) using
+  # strongly advised to wrap all slow IO objects (sockets, pipes) using
   # the Rainbows::Fiber::IO class whenever possible.
 
   module FiberPool
diff --git a/lib/rainbows/fiber_spawn.rb b/lib/rainbows/fiber_spawn.rb
index d1c1ec0..969c05b 100644
--- a/lib/rainbows/fiber_spawn.rb
+++ b/lib/rainbows/fiber_spawn.rb
@@ -4,9 +4,10 @@ require 'rainbows/fiber'
 module Rainbows
 
   # Simple Fiber-based concurrency model for 1.9.  This spawns a new
-  # Fiber for every client connection.  This exports a streaming
+  # Fiber for every incoming client connection and the root Fiber for
+  # scheduling and connection acceptance.  This exports a streaming
   # "rack.input" with lightweight concurrency.  Applications are
-  # strongly advised to wrap slow all IO objects (sockets, pipes) using
+  # strongly advised to wrap all slow IO objects (sockets, pipes) using
   # the Rainbows::Fiber::IO class whenever possible.
 
   module FiberSpawn
diff --git a/lib/rainbows/rev_thread_spawn.rb b/lib/rainbows/rev_thread_spawn.rb
index 1dc4d0d..b6c5eca 100644
--- a/lib/rainbows/rev_thread_spawn.rb
+++ b/lib/rainbows/rev_thread_spawn.rb
@@ -1,7 +1,8 @@
 # -*- encoding: binary -*-
 require 'rainbows/rev'
 
-warn "Rainbows::RevThreadSpawn is extremely experimental"
+RUBY_VERSION =~ %r{\A1\.8} and
+  warn "Rainbows::RevThreadSpawn does not work well under Ruby 1.8"
 
 module Rainbows