about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2010-07-10 08:04:48 +0000
committerEric Wong <normalperson@yhbt.net>2010-07-10 08:04:48 +0000
commitd3b97d1114e2d23a9231fe889cd5bf6927d451ba (patch)
tree6c4d7a033dad1edc91b72a9e7fa36203c60c8116 /lib
parent9838b614621bbbff27a91166406d833be85adbbd (diff)
downloadrainbows-d3b97d1114e2d23a9231fe889cd5bf6927d451ba.tar.gz
Since we suck at building websites, we just rely on RDoc as a
website builder.  And since Rainbows! is an application server
(and not a programming library), our internal API should be of
little interest to end users.

Anybody interested in Rainbows! (or any other project) internals
should be reading the source.
Diffstat (limited to 'lib')
-rw-r--r--lib/rainbows.rb12
-rw-r--r--lib/rainbows/actor_spawn.rb2
-rw-r--r--lib/rainbows/app_pool.rb2
-rw-r--r--lib/rainbows/base.rb8
-rw-r--r--lib/rainbows/byte_slice.rb1
-rw-r--r--lib/rainbows/const.rb2
-rw-r--r--lib/rainbows/error.rb1
-rw-r--r--lib/rainbows/ev_core.rb2
-rw-r--r--lib/rainbows/event_machine.rb14
-rw-r--r--lib/rainbows/fiber.rb1
-rw-r--r--lib/rainbows/fiber/base.rb1
-rw-r--r--lib/rainbows/fiber/body.rb1
-rw-r--r--lib/rainbows/fiber/io.rb1
-rw-r--r--lib/rainbows/fiber/queue.rb1
-rw-r--r--lib/rainbows/fiber/rev.rb1
-rw-r--r--lib/rainbows/fiber_pool.rb2
-rw-r--r--lib/rainbows/fiber_spawn.rb2
-rw-r--r--lib/rainbows/http_response.rb2
-rw-r--r--lib/rainbows/http_server.rb1
-rw-r--r--lib/rainbows/max_body.rb1
-rw-r--r--lib/rainbows/never_block.rb9
-rw-r--r--lib/rainbows/never_block/event_machine.rb2
-rw-r--r--lib/rainbows/queue_pool.rb1
-rw-r--r--lib/rainbows/response.rb3
-rw-r--r--lib/rainbows/response/body.rb1
-rw-r--r--lib/rainbows/rev.rb2
-rw-r--r--lib/rainbows/rev/client.rb1
-rw-r--r--lib/rainbows/rev/core.rb1
-rw-r--r--lib/rainbows/rev/deferred_response.rb1
-rw-r--r--lib/rainbows/rev/heartbeat.rb1
-rw-r--r--lib/rainbows/rev/master.rb1
-rw-r--r--lib/rainbows/rev/sendfile.rb1
-rw-r--r--lib/rainbows/rev/thread.rb1
-rw-r--r--lib/rainbows/rev_fiber_spawn.rb2
-rw-r--r--lib/rainbows/rev_thread_pool.rb12
-rw-r--r--lib/rainbows/rev_thread_spawn.rb4
-rw-r--r--lib/rainbows/revactor.rb4
-rw-r--r--lib/rainbows/sendfile.rb4
-rw-r--r--lib/rainbows/tee_input.rb1
-rw-r--r--lib/rainbows/thread_pool.rb8
-rw-r--r--lib/rainbows/thread_spawn.rb5
-rw-r--r--lib/rainbows/writer_thread_pool.rb8
-rw-r--r--lib/rainbows/writer_thread_spawn.rb10
43 files changed, 83 insertions, 58 deletions
diff --git a/lib/rainbows.rb b/lib/rainbows.rb
index 4e9578b..d0b3e8a 100644
--- a/lib/rainbows.rb
+++ b/lib/rainbows.rb
@@ -12,6 +12,7 @@ module Rainbows
   # global vars because class/instance variables are confusing me :<
   # this struct is only accessed inside workers and thus private to each
   # G.cur may not be used in the network concurrency model
+  # :stopdoc:
   class State < Struct.new(:alive,:m,:cur,:kato,:server,:tmp,:expire)
     def tick
       tmp.chmod(self.m = m == 0 ? 1 : 0)
@@ -26,7 +27,6 @@ module Rainbows
       false
     end
   end
-  # :stopdoc:
   G = State.new(true, 0, 0, 5)
   O = {}
   # :startdoc:
@@ -64,12 +64,12 @@ module Rainbows
 
     # runs the Rainbows! HttpServer with +app+ and +options+ and does
     # not return until the server has exited.
-    def run(app, options = {})
+    def run(app, options = {}) # :nodoc:
       HttpServer.new(app, options).start.join
     end
 
     # returns nil if accept fails
-    def sync_accept(sock)
+    def sync_accept(sock) # :nodoc:
       rv = sock.accept
       rv.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC)
       rv
@@ -77,7 +77,7 @@ module Rainbows
     end
 
     # returns nil if accept fails
-    def accept(sock)
+    def accept(sock) # :nodoc:
       rv = sock.accept_nonblock
       rv.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC)
       rv
@@ -87,16 +87,18 @@ module Rainbows
     # returns a string representing the address of the given client +io+
     # For local UNIX domain sockets, this will return a string referred
     # to by the (non-frozen) Unicorn::HttpRequest::LOCALHOST constant.
-    def addr(io)
+    def addr(io) # :nodoc:
       io.respond_to?(:peeraddr) ?
                         io.peeraddr[-1] : Unicorn::HttpRequest::LOCALHOST
     end
 
+    # :stopdoc:
     # the default max body size is 1 megabyte (1024 * 1024 bytes)
     @@max_bytes = 1024 * 1024
 
     def max_bytes; @@max_bytes; end
     def max_bytes=(nr); @@max_bytes = nr; end
+    # :startdoc:
   end
 
   # :stopdoc:
diff --git a/lib/rainbows/actor_spawn.rb b/lib/rainbows/actor_spawn.rb
index 98e85bc..8cb839d 100644
--- a/lib/rainbows/actor_spawn.rb
+++ b/lib/rainbows/actor_spawn.rb
@@ -20,7 +20,7 @@ module Rainbows
     # runs inside each forked worker, this sits around and waits
     # for connections and doesn't die until the parent dies (or is
     # given a INT, QUIT, or TERM signal)
-    def worker_loop(worker)
+    def worker_loop(worker) # :nodoc:
       Const::RACK_DEFAULTS["rack.multithread"] = true # :(
       init_worker_process(worker)
       accept_loop(Actor)
diff --git a/lib/rainbows/app_pool.rb b/lib/rainbows/app_pool.rb
index a1a3119..7996e2b 100644
--- a/lib/rainbows/app_pool.rb
+++ b/lib/rainbows/app_pool.rb
@@ -82,7 +82,7 @@ module Rainbows
     end
 
     # Rack application endpoint, +env+ is the Rack environment
-    def call(env)
+    def call(env) # :nodoc:
 
       # we have to do this check at call time (and not initialize)
       # because of preload_app=true and models being changeable with SIGHUP
diff --git a/lib/rainbows/base.rb b/lib/rainbows/base.rb
index a619b00..3fb5a94 100644
--- a/lib/rainbows/base.rb
+++ b/lib/rainbows/base.rb
@@ -19,7 +19,7 @@ module Rainbows::Base
   HttpParser = Unicorn::HttpParser
 
   # this method is called by all current concurrency models
-  def init_worker_process(worker)
+  def init_worker_process(worker) # :nodoc:
     super(worker)
     Rainbows::Response.setup(self.class)
     Rainbows::MaxBody.setup
@@ -40,7 +40,7 @@ module Rainbows::Base
     logger.info "Rainbows! #@use worker_connections=#@worker_connections"
   end
 
-  def wait_headers_readable(client)
+  def wait_headers_readable(client)  # :nodoc:
     IO.select([client], nil, nil, G.kato)
   end
 
@@ -48,7 +48,7 @@ module Rainbows::Base
   # in 3 easy steps: read request, call app, write app response
   # this is used by synchronous concurrency models
   #   Base, ThreadSpawn, ThreadPool
-  def process_client(client)
+  def process_client(client) # :nodoc:
     buf = client.readpartial(CHUNK_SIZE) # accept filters protect us here
     hp = HttpParser.new
     env = {}
@@ -87,7 +87,7 @@ module Rainbows::Base
     client.close unless client.closed?
   end
 
-  def self.included(klass)
+  def self.included(klass) # :nodoc:
     klass.const_set :LISTENERS, Rainbows::HttpServer::LISTENERS
     klass.const_set :G, Rainbows::G
   end
diff --git a/lib/rainbows/byte_slice.rb b/lib/rainbows/byte_slice.rb
index 2d5586c..3bb4dd7 100644
--- a/lib/rainbows/byte_slice.rb
+++ b/lib/rainbows/byte_slice.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 module Rainbows::ByteSlice
   if String.method_defined?(:encoding)
     def byte_slice(buf, range)
diff --git a/lib/rainbows/const.rb b/lib/rainbows/const.rb
index feed443..f9ae861 100644
--- a/lib/rainbows/const.rb
+++ b/lib/rainbows/const.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-
+# :enddoc:
 module Rainbows
 
   module Const
diff --git a/lib/rainbows/error.rb b/lib/rainbows/error.rb
index d90dad0..8b4d9ff 100644
--- a/lib/rainbows/error.rb
+++ b/lib/rainbows/error.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 module Rainbows
 
   class Error
diff --git a/lib/rainbows/ev_core.rb b/lib/rainbows/ev_core.rb
index 74e67f3..5ca693b 100644
--- a/lib/rainbows/ev_core.rb
+++ b/lib/rainbows/ev_core.rb
@@ -1,5 +1,5 @@
 # -*- encoding: binary -*-
-
+# :enddoc:
 module Rainbows
 
   # base module for evented models like Rev and EventMachine
diff --git a/lib/rainbows/event_machine.rb b/lib/rainbows/event_machine.rb
index bbb38fa..173340e 100644
--- a/lib/rainbows/event_machine.rb
+++ b/lib/rainbows/event_machine.rb
@@ -48,7 +48,7 @@ module Rainbows
 
     include Base
 
-    class Client < EM::Connection
+    class Client < EM::Connection # :nodoc: all
       include Rainbows::EvCore
       include Rainbows::Response
       G = Rainbows::G
@@ -149,7 +149,7 @@ module Rainbows
       end
     end
 
-    module ResponsePipe
+    module ResponsePipe # :nodoc: all
       def initialize(client)
         @client = client
       end
@@ -160,7 +160,7 @@ module Rainbows
       end
     end
 
-    module ResponseChunkPipe
+    module ResponseChunkPipe # :nodoc: all
       include ResponsePipe
 
       def unbind
@@ -187,7 +187,7 @@ module Rainbows
       end
     end
 
-    module Server
+    module Server # :nodoc: all
 
       def close
         detach
@@ -205,7 +205,7 @@ module Rainbows
     # Middleware that will run the app dispatch in a separate thread.
     # This middleware is automatically loaded by Rainbows! when using
     # EventMachine and if the app responds to the +deferred?+ method.
-    class TryDefer < Struct.new(:app)
+    class TryDefer < Struct.new(:app) # :nodoc: all
 
       def initialize(app)
         # the entire app becomes multithreaded, even the root (non-deferred)
@@ -226,7 +226,7 @@ module Rainbows
       end
     end
 
-    def init_worker_process(worker)
+    def init_worker_process(worker) # :nodoc:
       Rainbows::Response.setup(Rainbows::EventMachine::Client)
       super
     end
@@ -234,7 +234,7 @@ module Rainbows
     # runs inside each forked worker, this sits around and waits
     # for connections and doesn't die until the parent dies (or is
     # given a INT, QUIT, or TERM signal)
-    def worker_loop(worker)
+    def worker_loop(worker) # :nodoc:
       init_worker_process(worker)
       G.server.app.respond_to?(:deferred?) and
         G.server.app = TryDefer[G.server.app]
diff --git a/lib/rainbows/fiber.rb b/lib/rainbows/fiber.rb
index ec0cee3..e65ef1b 100644
--- a/lib/rainbows/fiber.rb
+++ b/lib/rainbows/fiber.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 begin
   require 'fiber'
 rescue LoadError
diff --git a/lib/rainbows/fiber/base.rb b/lib/rainbows/fiber/base.rb
index 9ac3b72..b3a4c89 100644
--- a/lib/rainbows/fiber/base.rb
+++ b/lib/rainbows/fiber/base.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 require 'rainbows/fiber/io'
 
 module Rainbows
diff --git a/lib/rainbows/fiber/body.rb b/lib/rainbows/fiber/body.rb
index 3de45ee..ab5cfc8 100644
--- a/lib/rainbows/fiber/body.rb
+++ b/lib/rainbows/fiber/body.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 # non-portable body handling for Fiber-based concurrency goes here
 # this module is required and included in worker processes only
 # this is meant to be included _after_ Rainbows::Response::Body
diff --git a/lib/rainbows/fiber/io.rb b/lib/rainbows/fiber/io.rb
index f6b8bdf..596aeae 100644
--- a/lib/rainbows/fiber/io.rb
+++ b/lib/rainbows/fiber/io.rb
@@ -21,7 +21,6 @@ module Rainbows
       def peeraddr
         to_io.respond_to?(:peeraddr) ? to_io.peeraddr : [ LOCALHOST ]
       end
-      # :stopdoc:
 
       # for wrapping output response bodies
       def each(&block)
diff --git a/lib/rainbows/fiber/queue.rb b/lib/rainbows/fiber/queue.rb
index 384fe2b..e7118f3 100644
--- a/lib/rainbows/fiber/queue.rb
+++ b/lib/rainbows/fiber/queue.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 module Rainbows
   module Fiber
 
diff --git a/lib/rainbows/fiber/rev.rb b/lib/rainbows/fiber/rev.rb
index a1ffe33..1babad3 100644
--- a/lib/rainbows/fiber/rev.rb
+++ b/lib/rainbows/fiber/rev.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 require 'rev'
 require 'rainbows/fiber'
 require 'rainbows/fiber/io'
diff --git a/lib/rainbows/fiber_pool.rb b/lib/rainbows/fiber_pool.rb
index 745e2a5..42f6dbe 100644
--- a/lib/rainbows/fiber_pool.rb
+++ b/lib/rainbows/fiber_pool.rb
@@ -16,7 +16,7 @@ module Rainbows
   module FiberPool
     include Fiber::Base
 
-    def worker_loop(worker)
+    def worker_loop(worker) # :nodoc:
       init_worker_process(worker)
       pool = []
       worker_connections.times {
diff --git a/lib/rainbows/fiber_spawn.rb b/lib/rainbows/fiber_spawn.rb
index 40971e7..df72e70 100644
--- a/lib/rainbows/fiber_spawn.rb
+++ b/lib/rainbows/fiber_spawn.rb
@@ -13,7 +13,7 @@ module Rainbows
   module FiberSpawn
     include Fiber::Base
 
-    def worker_loop(worker)
+    def worker_loop(worker) # :nodoc:
       init_worker_process(worker)
       Fiber::Base.setup(self.class, app)
       limit = worker_connections
diff --git a/lib/rainbows/http_response.rb b/lib/rainbows/http_response.rb
index 40a7330..ddab2f8 100644
--- a/lib/rainbows/http_response.rb
+++ b/lib/rainbows/http_response.rb
@@ -1,7 +1,7 @@
 # -*- encoding: binary -*-
+# :enddoc:
 # deprecated, use Rainbows::Response instead
 # Cramp 0.11 relies on this, and is only activated by Cramp
-# :enddoc:
 if defined?(Cramp) && defined?(Rainbows::EventMachine::Client)
   class Rainbows::HttpResponse
     class << self
diff --git a/lib/rainbows/http_server.rb b/lib/rainbows/http_server.rb
index 43604af..72e2c7f 100644
--- a/lib/rainbows/http_server.rb
+++ b/lib/rainbows/http_server.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 module Rainbows
 
   class HttpServer < ::Unicorn::HttpServer
diff --git a/lib/rainbows/max_body.rb b/lib/rainbows/max_body.rb
index ca63ea4..23e4fa6 100644
--- a/lib/rainbows/max_body.rb
+++ b/lib/rainbows/max_body.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 module Rainbows
 
 # middleware used to enforce client_max_body_size for TeeInput users,
diff --git a/lib/rainbows/never_block.rb b/lib/rainbows/never_block.rb
index 06bb496..9f050a5 100644
--- a/lib/rainbows/never_block.rb
+++ b/lib/rainbows/never_block.rb
@@ -18,13 +18,14 @@ module Rainbows
   #
   module NeverBlock
 
+    # :stopdoc:
     DEFAULTS = {
       :pool_size => 20, # same default size used by NB
       :backend => :EventMachine, # NeverBlock doesn't support Rev yet
     }
 
     # same pool size NB core itself uses
-    def self.setup
+    def self.setup # :nodoc:
       DEFAULTS.each { |k,v| O[k] ||= v }
       Integer === O[:pool_size] && O[:pool_size] > 0 or
         raise ArgumentError, "pool_size must a be an Integer > 0"
@@ -34,7 +35,7 @@ module Rainbows
       G.server.extend(Core)
     end
 
-    module Core
+    module Core  # :nodoc: all
       def self.setup
         self.const_set(:POOL, ::NB::Pool::FiberPool.new(O[:pool_size]))
         base = O[:backend].to_s.gsub!(/([a-z])([A-Z])/, '\1_\2').downcase!
@@ -57,9 +58,7 @@ module Rainbows
           end
         end
       end
-    end
 
-    module Core
       def init_worker_process(worker)
         super
         Core.setup
@@ -67,5 +66,7 @@ module Rainbows
       end
     end
 
+    # :startdoc:
+
   end
 end
diff --git a/lib/rainbows/never_block/event_machine.rb b/lib/rainbows/never_block/event_machine.rb
index af72388..0cfaa21 100644
--- a/lib/rainbows/never_block/event_machine.rb
+++ b/lib/rainbows/never_block/event_machine.rb
@@ -1,3 +1,5 @@
+# -*- encoding: binary -*-
+# :enddoc:
 module Rainbows
   module NeverBlock
     class Client < Rainbows::EventMachine::Client
diff --git a/lib/rainbows/queue_pool.rb b/lib/rainbows/queue_pool.rb
index 806bbee..3ae899c 100644
--- a/lib/rainbows/queue_pool.rb
+++ b/lib/rainbows/queue_pool.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 require 'thread'
 
 module Rainbows
diff --git a/lib/rainbows/response.rb b/lib/rainbows/response.rb
index 8d131b0..f42f367 100644
--- a/lib/rainbows/response.rb
+++ b/lib/rainbows/response.rb
@@ -1,7 +1,7 @@
 # -*- encoding: binary -*-
+# :enddoc:
 require 'time' # for Time#httpdate
 
-# :stopdoc:
 module Rainbows::Response
 
   CODES = Unicorn::HttpResponse::CODES
@@ -41,4 +41,3 @@ module Rainbows::Response
       klass.__send__(:include, Rainbows::Response::Body)
   end
 end
-# :startdoc:
diff --git a/lib/rainbows/response/body.rb b/lib/rainbows/response/body.rb
index 8d8ec27..e399df7 100644
--- a/lib/rainbows/response/body.rb
+++ b/lib/rainbows/response/body.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 # non-portable body response stuff goes here
 #
 # The sendfile 1.0.0 RubyGem includes IO#sendfile and
diff --git a/lib/rainbows/rev.rb b/lib/rainbows/rev.rb
index 6650c2b..6ce073a 100644
--- a/lib/rainbows/rev.rb
+++ b/lib/rainbows/rev.rb
@@ -25,6 +25,7 @@ module Rainbows
 
   module Rev
 
+    # :stopdoc:
     # keep-alive timeout scoreboard
     KATO = {}
 
@@ -37,5 +38,6 @@ module Rainbows
     end
 
     include Core
+    # :startdoc:
   end
 end
diff --git a/lib/rainbows/rev/client.rb b/lib/rainbows/rev/client.rb
index 91947b6..d08992b 100644
--- a/lib/rainbows/rev/client.rb
+++ b/lib/rainbows/rev/client.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 require 'rainbows/ev_core'
 module Rainbows
   module Rev
diff --git a/lib/rainbows/rev/core.rb b/lib/rainbows/rev/core.rb
index 4668cce..9f7a1f0 100644
--- a/lib/rainbows/rev/core.rb
+++ b/lib/rainbows/rev/core.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 require 'rev'
 Rev::VERSION >= '0.3.0' or abort 'rev >= 0.3.0 is required'
 require 'rainbows/rev/heartbeat'
diff --git a/lib/rainbows/rev/deferred_response.rb b/lib/rainbows/rev/deferred_response.rb
index f710b5b..de348bb 100644
--- a/lib/rainbows/rev/deferred_response.rb
+++ b/lib/rainbows/rev/deferred_response.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 module Rainbows
   module Rev
 
diff --git a/lib/rainbows/rev/heartbeat.rb b/lib/rainbows/rev/heartbeat.rb
index 54cc056..da1a1e2 100644
--- a/lib/rainbows/rev/heartbeat.rb
+++ b/lib/rainbows/rev/heartbeat.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 module Rainbows
   module Rev
 
diff --git a/lib/rainbows/rev/master.rb b/lib/rainbows/rev/master.rb
index 01282f5..40615ac 100644
--- a/lib/rainbows/rev/master.rb
+++ b/lib/rainbows/rev/master.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 require 'rainbows/rev'
 
 module Rainbows
diff --git a/lib/rainbows/rev/sendfile.rb b/lib/rainbows/rev/sendfile.rb
index ae0b116..414cfa1 100644
--- a/lib/rainbows/rev/sendfile.rb
+++ b/lib/rainbows/rev/sendfile.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 module Rainbows::Rev::Sendfile
   if IO.method_defined?(:sendfile_nonblock)
     F = Rainbows::StreamFile
diff --git a/lib/rainbows/rev/thread.rb b/lib/rainbows/rev/thread.rb
index ba80bb1..8fc7172 100644
--- a/lib/rainbows/rev/thread.rb
+++ b/lib/rainbows/rev/thread.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 require 'thread'
 require 'rainbows/rev/master'
 
diff --git a/lib/rainbows/rev_fiber_spawn.rb b/lib/rainbows/rev_fiber_spawn.rb
index e9ea1db..c8e2bd1 100644
--- a/lib/rainbows/rev_fiber_spawn.rb
+++ b/lib/rainbows/rev_fiber_spawn.rb
@@ -15,7 +15,7 @@ module Rainbows
     include Base
     include Fiber::Rev
 
-    def worker_loop(worker)
+    def worker_loop(worker) # :nodoc:
       Rainbows::Response.setup(Rainbows::Fiber::Rev::Server)
       init_worker_process(worker)
       Server.const_set(:MAX, @worker_connections)
diff --git a/lib/rainbows/rev_thread_pool.rb b/lib/rainbows/rev_thread_pool.rb
index 918b57a..5a7ff82 100644
--- a/lib/rainbows/rev_thread_pool.rb
+++ b/lib/rainbows/rev_thread_pool.rb
@@ -20,17 +20,19 @@ module Rainbows
 
   module RevThreadPool
 
+    # :stopdoc:
     DEFAULTS = {
       :pool_size => 20, # same default size as ThreadPool (w/o Rev)
     }
+    #:startdoc:
 
-    def self.setup
+    def self.setup # :nodoc:
       DEFAULTS.each { |k,v| O[k] ||= v }
       Integer === O[:pool_size] && O[:pool_size] > 0 or
         raise ArgumentError, "pool_size must a be an Integer > 0"
     end
 
-    class PoolWatcher < ::Rev::TimerWatcher
+    class PoolWatcher < ::Rev::TimerWatcher # :nodoc: all
       def initialize(threads)
         @threads = threads
         super(G.server.timeout, true)
@@ -41,7 +43,7 @@ module Rainbows
       end
     end
 
-    class Client < Rainbows::Rev::ThreadClient
+    class Client < Rainbows::Rev::ThreadClient # :nodoc:
       def app_dispatch
         QUEUE << self
       end
@@ -49,7 +51,7 @@ module Rainbows
 
     include Rainbows::Rev::Core
 
-    def init_worker_threads(master, queue)
+    def init_worker_threads(master, queue) # :nodoc:
       O[:pool_size].times.map do
         Thread.new do
           begin
@@ -62,7 +64,7 @@ module Rainbows
       end
     end
 
-    def init_worker_process(worker)
+    def init_worker_process(worker) # :nodoc:
       super
       master = Rev::Master.new(Queue.new).attach(::Rev::Loop.default)
       queue = Client.const_set(:QUEUE, Queue.new)
diff --git a/lib/rainbows/rev_thread_spawn.rb b/lib/rainbows/rev_thread_spawn.rb
index 94203f3..68e774b 100644
--- a/lib/rainbows/rev_thread_spawn.rb
+++ b/lib/rainbows/rev_thread_spawn.rb
@@ -20,7 +20,7 @@ module Rainbows
 
   module RevThreadSpawn
 
-    class Client < Rainbows::Rev::ThreadClient
+    class Client < Rainbows::Rev::ThreadClient # :nodoc: all
       def app_dispatch
         Thread.new(self) { |client| MASTER << [ client, app_response ] }
       end
@@ -28,7 +28,7 @@ module Rainbows
 
     include Rainbows::Rev::Core
 
-    def init_worker_process(worker)
+    def init_worker_process(worker) # :nodoc:
       super
       master = Rev::Master.new(Queue.new).attach(::Rev::Loop.default)
       Client.const_set(:MASTER, master)
diff --git a/lib/rainbows/revactor.rb b/lib/rainbows/revactor.rb
index de423a3..5a9704d 100644
--- a/lib/rainbows/revactor.rb
+++ b/lib/rainbows/revactor.rb
@@ -28,7 +28,7 @@ module Rainbows::Revactor
 
   # once a client is accepted, it is processed in its entirety here
   # in 3 easy steps: read request, call app, write app response
-  def process_client(client)
+  def process_client(client) # :nodoc:
     io = client.instance_variable_get(:@_io)
     io.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC)
     rd_args = [ nil ]
@@ -72,7 +72,7 @@ module Rainbows::Revactor
   # runs inside each forked worker, this sits around and waits
   # for connections and doesn't die until the parent dies (or is
   # given a INT, QUIT, or TERM signal)
-  def worker_loop(worker)
+  def worker_loop(worker) #:nodoc:
     init_worker_process(worker)
     self.class.__send__(:alias_method, :write_body, :write_body_each)
     RD_ARGS[:timeout] = G.kato if G.kato > 0
diff --git a/lib/rainbows/sendfile.rb b/lib/rainbows/sendfile.rb
index 3f82047..8d9b46e 100644
--- a/lib/rainbows/sendfile.rb
+++ b/lib/rainbows/sendfile.rb
@@ -57,7 +57,7 @@ class Sendfile < Struct.new(:app)
   # Body wrapper, this allows us to fall back gracefully to
   # +each+ in case a given concurrency model does not optimize
   # +to_path+ calls.
-  class Body < Struct.new(:to_path)
+  class Body < Struct.new(:to_path) # :nodoc: all
 
     def self.new(path, headers)
       unless headers['Content-Length']
@@ -76,7 +76,7 @@ class Sendfile < Struct.new(:app)
     end
   end
 
-  def call(env)
+  def call(env) # :nodoc:
     status, headers, body = app.call(env)
     headers = HH.new(headers)
     if path = headers.delete('X-Sendfile')
diff --git a/lib/rainbows/tee_input.rb b/lib/rainbows/tee_input.rb
index be46cb3..956c68f 100644
--- a/lib/rainbows/tee_input.rb
+++ b/lib/rainbows/tee_input.rb
@@ -1,4 +1,5 @@
 # -*- encoding: binary -*-
+# :enddoc:
 module Rainbows
 
   # acts like tee(1) on an input input to provide a input-like stream
diff --git a/lib/rainbows/thread_pool.rb b/lib/rainbows/thread_pool.rb
index f609483..28a943e 100644
--- a/lib/rainbows/thread_pool.rb
+++ b/lib/rainbows/thread_pool.rb
@@ -25,7 +25,7 @@ module Rainbows
 
     include Base
 
-    def worker_loop(worker)
+    def worker_loop(worker) # :nodoc:
       init_worker_process(worker)
       pool = (1..worker_connections).map do
         Thread.new { LISTENERS.size == 1 ? sync_worker : async_worker }
@@ -41,7 +41,7 @@ module Rainbows
       join_threads(pool)
     end
 
-    def sync_worker
+    def sync_worker # :nodoc:
       s = LISTENERS[0]
       begin
         c = Rainbows.sync_accept(s) and process_client(c)
@@ -50,7 +50,7 @@ module Rainbows
       end while G.alive
     end
 
-    def async_worker
+    def async_worker # :nodoc:
       begin
         # TODO: check if select() or accept() is a problem on large
         # SMP systems under Ruby 1.9.  Hundreds of native threads
@@ -66,7 +66,7 @@ module Rainbows
       end while G.alive
     end
 
-    def join_threads(threads)
+    def join_threads(threads) # :nodoc:
       G.quit!
       threads.delete_if do |thr|
         G.tick
diff --git a/lib/rainbows/thread_spawn.rb b/lib/rainbows/thread_spawn.rb
index 9660fc0..6952f26 100644
--- a/lib/rainbows/thread_spawn.rb
+++ b/lib/rainbows/thread_spawn.rb
@@ -17,10 +17,9 @@ module Rainbows
   # capabilities
 
   module ThreadSpawn
-
     include Base
 
-    def accept_loop(klass)
+    def accept_loop(klass) #:nodoc:
       lock = Mutex.new
       limit = worker_connections
       LISTENERS.each do |l|
@@ -55,7 +54,7 @@ module Rainbows
       sleep 1 while G.tick || lock.synchronize { G.cur > 0 }
     end
 
-    def worker_loop(worker)
+    def worker_loop(worker) #:nodoc:
       init_worker_process(worker)
       accept_loop(Thread)
     end
diff --git a/lib/rainbows/writer_thread_pool.rb b/lib/rainbows/writer_thread_pool.rb
index 84b750b..4050af9 100644
--- a/lib/rainbows/writer_thread_pool.rb
+++ b/lib/rainbows/writer_thread_pool.rb
@@ -24,7 +24,7 @@ module Rainbows
 
     # used to wrap a BasicSocket to use with +q+ for all writes
     # this is compatible with IO.select
-    class QueueSocket < Struct.new(:to_io, :q)
+    class QueueSocket < Struct.new(:to_io, :q) # :nodoc:
       def readpartial(size, buf = "")
         to_io.readpartial(size, buf)
       end
@@ -46,7 +46,7 @@ module Rainbows
       end
     end
 
-    module Response
+    module Response # :nodoc:
       def write_body(qclient, body)
         qclient.q << [ qclient.to_io, :body, body ]
       end
@@ -55,12 +55,12 @@ module Rainbows
     @@nr = 0
     @@q = nil
 
-    def process_client(client)
+    def process_client(client) # :nodoc:
       @@nr += 1
       super(QueueSocket[client, @@q[@@nr %= @@q.size]])
     end
 
-    def worker_loop(worker)
+    def worker_loop(worker) # :nodoc:
       Rainbows::Response.setup(self.class)
       self.class.__send__(:alias_method, :sync_write_body, :write_body)
       self.class.__send__(:include, Response)
diff --git a/lib/rainbows/writer_thread_spawn.rb b/lib/rainbows/writer_thread_spawn.rb
index b9bbad2..cbe7765 100644
--- a/lib/rainbows/writer_thread_spawn.rb
+++ b/lib/rainbows/writer_thread_spawn.rb
@@ -23,11 +23,11 @@ module Rainbows
   module WriterThreadSpawn
     include Base
 
-    CUR = {}
+    CUR = {} # :nodoc:
 
     # used to wrap a BasicSocket to use with +q+ for all writes
     # this is compatible with IO.select
-    class MySocket < Struct.new(:to_io, :q, :thr)
+    class MySocket < Struct.new(:to_io, :q, :thr)  # :nodoc: all
       include Rainbows::Response
 
       def readpartial(size, buf = "")
@@ -90,15 +90,15 @@ module Rainbows
       end
     end
 
-    def write_body(my_sock, body)
+    def write_body(my_sock, body) # :nodoc:
       my_sock.queue_body(body)
     end
 
-    def process_client(client)
+    def process_client(client) # :nodoc:
       super(MySocket[client])
     end
 
-    def worker_loop(worker)
+    def worker_loop(worker)  # :nodoc:
       MySocket.const_set(:MAX, worker_connections)
       Rainbows::Response.setup(MySocket)
       super(worker) # accept loop from Unicorn