From c3e9f5ba6fc10397f55941f36da29808a105d248 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 7 Apr 2010 17:07:42 -0700 Subject: initial --- lib/raindrops.rb | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 lib/raindrops.rb (limited to 'lib/raindrops.rb') diff --git a/lib/raindrops.rb b/lib/raindrops.rb new file mode 100644 index 0000000..693358a --- /dev/null +++ b/lib/raindrops.rb @@ -0,0 +1,32 @@ +# -*- encoding: binary -*- +class Raindrops + + # Used to represent the number of +active+ and +queued+ sockets for + # a single listen socket across all threads and processes on a + # machine. + # + # For TCP listeners, only sockets in the TCP_ESTABLISHED state are + # accounted for. For Unix domain listeners, only CONNECTING and + # CONNECTED Unix domain sockets are accounted for. + # + # +active+ connections is the number of accept()-ed but not-yet-closed + # sockets in all threads/processes sharing the given listener. + # + # +queued+ connections is the number of un-accept()-ed sockets in the + # queue of a given listen socket. + # + # These stats are currently only available under Linux + class ListenStats < Struct.new(:active, :queued) + + # the sum of +active+ and +queued+ sockets + def total + active + queued + end + end + + # TODO: pure Ruby version for single processes + require 'raindrops_ext' + + autoload :Struct, 'raindrops/struct' + autoload :Middleware, 'raindrops/middleware' +end -- cgit v1.2.3-24-ge0c7