diff options
Diffstat (limited to 'lib/rainbows/fiber_pool.rb')
-rw-r--r-- | lib/rainbows/fiber_pool.rb | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/lib/rainbows/fiber_pool.rb b/lib/rainbows/fiber_pool.rb index 7e50723..64a638c 100644 --- a/lib/rainbows/fiber_pool.rb +++ b/lib/rainbows/fiber_pool.rb @@ -3,13 +3,18 @@ require 'rainbows/fiber' # 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+. 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 all slow IO objects (sockets, pipes) using -# the Rainbows::Fiber::IO class whenever possible. +# for scheduling and connection acceptance. +# +# This concurrency model is difficult to use with existing applications, +# lacks third-party support, and is thus NOT recommended. +# +# The pool size is equal to 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 all slow IO objects +# (sockets, pipes) using the Rainbows::Fiber::IO class whenever +# possible. module Rainbows::FiberPool include Rainbows::Fiber::Base |