From 912c328ecfccf189239c4ad2bb7863d64342868f Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 16 May 2011 20:42:10 +0000 Subject: document RubyGem requirements Hopefully makes things easier to try out. --- lib/rainbows/coolio.rb | 3 +++ lib/rainbows/coolio_thread_pool.rb | 3 +++ lib/rainbows/coolio_thread_spawn.rb | 3 +++ lib/rainbows/epoll.rb | 7 +++++++ lib/rainbows/event_machine.rb | 4 ++++ lib/rainbows/revactor.rb | 3 +++ lib/rainbows/xepoll.rb | 6 ++++++ lib/rainbows/xepoll_thread_pool.rb | 6 +++++- lib/rainbows/xepoll_thread_spawn.rb | 6 +++++- 9 files changed, 39 insertions(+), 2 deletions(-) diff --git a/lib/rainbows/coolio.rb b/lib/rainbows/coolio.rb index b62e02b..a993060 100644 --- a/lib/rainbows/coolio.rb +++ b/lib/rainbows/coolio.rb @@ -21,6 +21,9 @@ require 'rainbows/coolio_support' # # This model is mostly compatible with users of "async.callback" in # the Rack environment as long as they do not depend on EventMachine. +# +# === RubyGem Requirements +# * cool.io 1.0.0 or later module Rainbows::Coolio # :stopdoc: # keep-alive timeout scoreboard diff --git a/lib/rainbows/coolio_thread_pool.rb b/lib/rainbows/coolio_thread_pool.rb index 0e616a6..7f107b7 100644 --- a/lib/rainbows/coolio_thread_pool.rb +++ b/lib/rainbows/coolio_thread_pool.rb @@ -29,6 +29,9 @@ # In extremely rare cases, this may be combined with Rainbows::AppPool # if you have different concurrency capabilities for different parts of # your Rack application. +# +# === RubyGem Requirements +# * cool.io 1.0.0 or later module Rainbows::CoolioThreadPool # :stopdoc: autoload :Client, 'rainbows/coolio_thread_pool/client' diff --git a/lib/rainbows/coolio_thread_spawn.rb b/lib/rainbows/coolio_thread_spawn.rb index a26c970..2e305a4 100644 --- a/lib/rainbows/coolio_thread_spawn.rb +++ b/lib/rainbows/coolio_thread_spawn.rb @@ -13,6 +13,9 @@ # # 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. +# +# === RubyGem Requirements +# * cool.io 1.0.0 or later module Rainbows::CoolioThreadSpawn include Rainbows::Coolio::Core autoload :Client, 'rainbows/coolio_thread_spawn/client' diff --git a/lib/rainbows/epoll.rb b/lib/rainbows/epoll.rb index 3a23d51..e4c956b 100644 --- a/lib/rainbows/epoll.rb +++ b/lib/rainbows/epoll.rb @@ -18,6 +18,13 @@ require 'sendfile' # if you're not serving static files, or if your working set is # small enough to aways be in your kernel page cache. This concurrency # model may starve clients if you have slow disks and large static files. +# +# === RubyGem Requirements +# +# * raindrops 0.6.0 or later +# * sleepy_penguin 2.0.0 or later +# * sendfile 1.1.0 or later +# module Rainbows::Epoll # :stopdoc: include Rainbows::Base diff --git a/lib/rainbows/event_machine.rb b/lib/rainbows/event_machine.rb index c78a406..b136518 100644 --- a/lib/rainbows/event_machine.rb +++ b/lib/rainbows/event_machine.rb @@ -40,6 +40,10 @@ EM::VERSION >= '0.12.10' or abort 'eventmachine 0.12.10 is required' # the Rack application to process data as it arrives. This means # "rack.input" will be fully buffered in memory or to a temporary file # before the application is entered. +# +# === RubyGem Requirements +# +# * event_machine 0.12.10 module Rainbows::EventMachine autoload :ResponsePipe, 'rainbows/event_machine/response_pipe' autoload :ResponseChunkPipe, 'rainbows/event_machine/response_chunk_pipe' diff --git a/lib/rainbows/revactor.rb b/lib/rainbows/revactor.rb index cfa43c8..e68fee6 100644 --- a/lib/rainbows/revactor.rb +++ b/lib/rainbows/revactor.rb @@ -22,6 +22,9 @@ Revactor::VERSION >= '0.1.5' or abort 'revactor 0.1.5 is required' # in the application using this model should be implemented using the # \Revactor library as well, to take advantage of the networking # concurrency features this model provides. +# +# === RubyGem Requirements +# * revactor 0.1.5 or later module Rainbows::Revactor autoload :Client, 'rainbows/revactor/client' autoload :Proxy, 'rainbows/revactor/proxy' diff --git a/lib/rainbows/xepoll.rb b/lib/rainbows/xepoll.rb index ef7ea05..a0dc65b 100644 --- a/lib/rainbows/xepoll.rb +++ b/lib/rainbows/xepoll.rb @@ -6,6 +6,12 @@ require 'rainbows/epoll' # (hopefully) native thread. This is just like Epoll, but recommended # for Ruby 1.9 users as it can avoid accept()-scalability issues on # multicore machines with many worker processes. +# +# === RubyGem Requirements +# +# * raindrops 0.6.0 or later +# * sleepy_penguin 2.0.0 or later +# * sendfile 1.1.0 or later module Rainbows::XEpoll # :stopdoc: include Rainbows::Base diff --git a/lib/rainbows/xepoll_thread_pool.rb b/lib/rainbows/xepoll_thread_pool.rb index c1605b8..90a4da9 100644 --- a/lib/rainbows/xepoll_thread_pool.rb +++ b/lib/rainbows/xepoll_thread_pool.rb @@ -57,7 +57,11 @@ require "raindrops" # In extremely rare cases, this may be combined with Rainbows::AppPool # if you have different concurrency capabilities for different parts of # your Rack application. - +# +# === RubyGem Requirements +# +# * raindrops 0.6.0 or later +# * sleepy_penguin 2.0.0 or later module Rainbows::XEpollThreadPool extend Rainbows::PoolSize diff --git a/lib/rainbows/xepoll_thread_spawn.rb b/lib/rainbows/xepoll_thread_spawn.rb index d94cf48..c399576 100644 --- a/lib/rainbows/xepoll_thread_spawn.rb +++ b/lib/rainbows/xepoll_thread_spawn.rb @@ -35,7 +35,11 @@ require "raindrops" # This can maintain idle connections without the memory overhead of an # idle Thread. The cost of handling/dispatching active connections is # exactly the same for an equivalent number of active connections. - +# +# === RubyGem Requirements +# +# * raindrops 0.6.0 or later +# * sleepy_penguin 2.0.0 or later module Rainbows::XEpollThreadSpawn # :stopdoc: include Rainbows::Base -- cgit v1.2.3-24-ge0c7