From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: * X-Spam-ASN: AS14383 205.234.109.0/24 X-Spam-Status: No, score=1.0 required=3.0 tests=AWL,HK_RANDOM_FROM, MSGID_FROM_MTA_HEADER shortcircuit=no autolearn=no version=3.3.2 Path: news.gmane.org!not-for-mail From: Eric Wong Newsgroups: gmane.comp.lang.ruby.rainbows.general Subject: Re: Single Threaded Async Responses Date: Mon, 19 Oct 2009 11:33:39 -0700 Message-ID: <20091019183339.GB11442@dcvr.yhbt.net> References: <0956CE27-14FE-42DF-BAD9-CED31B09D85D@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1255977533 23962 80.91.229.12 (19 Oct 2009 18:38:53 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 19 Oct 2009 18:38:53 +0000 (UTC) To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Original-X-From: rainbows-talk-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Mon Oct 19 20:38:43 2009 Return-path: Envelope-to: gclrrg-rainbows-talk@m.gmane.org X-Original-To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Delivered-To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Content-Disposition: inline In-Reply-To: <0956CE27-14FE-42DF-BAD9-CED31B09D85D-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> User-Agent: Mutt/1.5.18 (2008-05-17) X-BeenThere: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: rainbows-talk-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Errors-To: rainbows-talk-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Xref: news.gmane.org gmane.comp.lang.ruby.rainbows.general:11 Archived-At: Received: from rubyforge.org ([205.234.109.19]) by lo.gmane.org with esmtp (Exim 4.50) id 1Mzx7y-0007ot-ST for gclrrg-rainbows-talk@m.gmane.org; Mon, 19 Oct 2009 20:38:43 +0200 Received: from rubyforge.org (rubyforge.org [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id 604241858267; Mon, 19 Oct 2009 14:38:42 -0400 (EDT) Received: from dcvr.yhbt.net (dcvr.yhbt.net [64.71.152.64]) by rubyforge.org (Postfix) with ESMTP id 213CD1858293 for ; Mon, 19 Oct 2009 14:33:40 -0400 (EDT) Received: from localhost (unknown [12.186.229.34]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPSA id A1A771F9B9; Mon, 19 Oct 2009 18:33:39 +0000 (UTC) James Tucker wrote: > Hi Eric and anyone else listening in, > > I completed an async API for Thin quite some time ago well suited to > some of the design goals you have here. If you're interested we could > have a chat about supporting the same API designs that allow single > threaded reactor based concurrent responses. I believe such an API would > fit well in rainbows too. Hi James, I've looked at Thin and added this as a TODO item for Rainbows! once EventMachine support gets added. For now, we also have an a (more Rack-compatible[1] but certain Unices-only[2]) API which relies on passing file descriptors to Rev in Rainbows! 0.3.0. [1] - The only thing that keeps it from running correctly under Rack::Lint is that Rack::Lint doesn't pass body#to_path calls to up the stack even though it _allows_ it. [2] - Most Unices seem to support /dev/fd/#{io.fileno} to lookup the contents of the file descriptor table. -- Eric Wong