about summary refs log tree commit homepage
path: root/lib/rainbows/coolio_thread_pool.rb
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2010-12-27 08:57:31 +0000
committerEric Wong <normalperson@yhbt.net>2010-12-27 09:17:45 +0000
commit2b85ea421197af84a13f6062b21ddcf61490ebcf (patch)
treec0c23b154fa0955fde13e02fc80c2941ae5498c0 /lib/rainbows/coolio_thread_pool.rb
parent87a38d1a5658938a3540b45ab04cc85a9135c8f0 (diff)
downloadrainbows-2b85ea421197af84a13f6062b21ddcf61490ebcf.tar.gz
This is also our website, so we need to document the new
Cool.io-based concurrency options for users and point
existing Rev* users to it.
Diffstat (limited to 'lib/rainbows/coolio_thread_pool.rb')
-rw-r--r--lib/rainbows/coolio_thread_pool.rb20
1 files changed, 19 insertions, 1 deletions
diff --git a/lib/rainbows/coolio_thread_pool.rb b/lib/rainbows/coolio_thread_pool.rb
index acb1bdb..f96795e 100644
--- a/lib/rainbows/coolio_thread_pool.rb
+++ b/lib/rainbows/coolio_thread_pool.rb
@@ -1,2 +1,20 @@
-# :enddoc:
+# -*- encoding: binary -*-
+# :stopdoc:
 Rainbows.const_set(:CoolioThreadPool, Rainbows::RevThreadSpawn)
+# :startdoc:
+
+# A combination of the Coolio and ThreadPool models.  This allows Ruby
+# Thread-based concurrency for application processing.  It DOES NOT
+# expose a streamable "rack.input" for upload processing within the
+# app.  DevFdResponse should be used with this class to proxy
+# asynchronous responses.  All network I/O between the client and
+# server are handled by the main thread and outside of the core
+# application dispatch.
+#
+# Unlike ThreadPool, Cool.io makes this model highly suitable for
+# slow clients and applications with medium-to-slow response times
+# (I/O bound), but less suitable for sleepy applications.
+#
+# This concurrency model is designed for Ruby 1.9, and Ruby 1.8
+# users are NOT advised to use this due to high CPU usage.
+module Rainbows::CoolThreadPool; end