Return-Path: Delivered-To: apmail-incubator-trafficserver-dev-archive@minotaur.apache.org Received: (qmail 45611 invoked from network); 30 Oct 2009 22:55:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 30 Oct 2009 22:55:49 -0000 Received: (qmail 63877 invoked by uid 500); 30 Oct 2009 22:55:49 -0000 Delivered-To: apmail-incubator-trafficserver-dev-archive@incubator.apache.org Received: (qmail 63841 invoked by uid 500); 30 Oct 2009 22:55:49 -0000 Mailing-List: contact trafficserver-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: trafficserver-dev@incubator.apache.org Delivered-To: mailing list trafficserver-dev@incubator.apache.org Received: (qmail 63831 invoked by uid 99); 30 Oct 2009 22:55:48 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 Oct 2009 22:55:48 +0000 X-ASF-Spam-Status: No, hits=1.2 required=10.0 tests=SPF_NEUTRAL,UNPARSEABLE_RELAY X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [68.142.207.236] (HELO n15b.bullet.mail.mud.yahoo.com) (68.142.207.236) by apache.org (qpsmtpd/0.29) with SMTP; Fri, 30 Oct 2009 22:55:37 +0000 Received: from [68.142.200.224] by n15.bullet.mail.mud.yahoo.com with NNFMP; 30 Oct 2009 22:55:14 -0000 Received: from [68.142.201.240] by t5.bullet.mud.yahoo.com with NNFMP; 30 Oct 2009 22:55:14 -0000 Received: from [127.0.0.1] by omp401.mail.mud.yahoo.com with NNFMP; 30 Oct 2009 22:55:14 -0000 X-Yahoo-Newman-Id: 867903.81892.bm@omp401.mail.mud.yahoo.com Received: (qmail 88442 invoked from network); 30 Oct 2009 22:55:14 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=snake; d=yahoo-inc.com; h=Received:X-Yahoo-SMTP:X-YMail-OSG:X-Yahoo-Newman-Property:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject:References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=tWESxgFKeQnlTcLfqF6GsHAhR+a1l5PtEOEAK5cwiKt0FVibFd4+bqMqROdw5stW ; Received: from 97-115-62-31.ptld.qwest.net (bcall@97.115.62.31 with plain) by smtp126.plus.mail.sp1.yahoo.com with SMTP; 30 Oct 2009 15:55:14 -0700 PDT X-Yahoo-SMTP: OCINLsuswBA8Tz.dO3DtruIUUGwEFnc- X-YMail-OSG: PEmrW8QVM1m5lkz8pwSVUQnL5Pu297woZ37y1t4.hDjLyhwfB0lmnN5OSismsa_NBv4G01dTvN_sdQt8w_Vhkh0TiMidL5UfbQRelGi7FxHTz.JrBaUYNRCejb728m.XS4II2NsbtRJX.9cMUt.Zlic.43djBOExQtJA5Mn_0HA_FzJR_3phros98z.gNb1IKzEY2z9PQbUasDW3g6mhzZEt4vwoIUoijElsczRJE4etn_HlsPhAZiToHbpAOSedBNkiguX_tFUR2LSWiMc9s42UVY.PpT1840RMnotxg4d0.RpluizvMRm18ky_fCXjsgxP5cIn0snmmbVZGfXbpEZhikTUoE1d8rGO_kXQ8gJP7HqfAD2RUSyKJU5ZnH.y X-Yahoo-Newman-Property: ymail-3 Message-ID: <4AEB6ED1.9070208@yahoo-inc.com> Date: Fri, 30 Oct 2009 15:55:13 -0700 From: Bryan Call User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.4pre) Gecko/20091014 Fedora/3.0-2.8.b4.fc11 Thunderbird/3.0b4 MIME-Version: 1.0 To: trafficserver-dev@incubator.apache.org Subject: Re: Polling Library References: <4239a4320910301446w6555983rbd747d9c9798b120@mail.gmail.com> In-Reply-To: <4239a4320910301446w6555983rbd747d9c9798b120@mail.gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org I wonder how the thread support is. I think having a wrapper class so we can plugin different event handlers might be helpful. I see a lot of projects handling epoll/kqueue directly. Not saying this is ideal, I just wonder why there hasn't been the uptake in using event libraries. -Bryan On 10/30/2009 02:46 PM, Paul Querna wrote: > Hi, > > I think we need to use some kind of library to abstract IO polling, > rather than completely reinventing the wheel. > > Lief mentioned possibly using libev: > > > I took a quick look at the internals of libev, and they seemed mostly > sane. It uses callbacks, instead of exposing arrays of results to the > library user. > > The callback approach is also what APR/httpd is moving to with the > newest apr_pollcb API, and what the new Simple MPM was designed around > -- the callbacks do introduce a a frame jump, but they mean you can be > portable, and only iterate the result set of events once. > > Alternatives would include using libevent, or rolling our own. > > I am personally in favor of using libev. > > Thoughts? > > Thanks, > > Paul >