Re: KITTEN: IETF 75 - 76
Nicolas Williams <Nicolas.Williams@sun.com> Thu, 03 September 2009 20:47 UTC
Return-Path: <Nicolas.Williams@sun.com>
X-Original-To: kitten@core3.amsl.com
Delivered-To: kitten@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id C11AE3A6957 for <kitten@core3.amsl.com>; Thu, 3 Sep 2009 13:47:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.848
X-Spam-Level:
X-Spam-Status: No, score=-5.848 tagged_above=-999 required=5 tests=[AWL=0.198, BAYES_00=-2.599, HELO_MISMATCH_COM=0.553, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AzbXMcNjFkNT for <kitten@core3.amsl.com>; Thu, 3 Sep 2009 13:47:22 -0700 (PDT)
Received: from sca-ea-mail-1.sun.com (sca-ea-mail-1.Sun.COM [192.18.43.24]) by core3.amsl.com (Postfix) with ESMTP id D71F33A6872 for <kitten@ietf.org>; Thu, 3 Sep 2009 13:47:17 -0700 (PDT)
Received: from dm-central-01.central.sun.com ([129.147.62.4]) by sca-ea-mail-1.sun.com (8.13.7+Sun/8.12.9) with ESMTP id n83K3J6N020022 for <kitten@ietf.org>; Thu, 3 Sep 2009 20:03:32 GMT
Received: from binky.Central.Sun.COM (binky.Central.Sun.COM [129.153.128.104]) by dm-central-01.central.sun.com (8.13.8+Sun/8.13.8/ENSMAIL, v2.2) with ESMTP id n83K3JuM039609 for <kitten@ietf.org>; Thu, 3 Sep 2009 14:03:19 -0600 (MDT)
Received: from binky.Central.Sun.COM (localhost [127.0.0.1]) by binky.Central.Sun.COM (8.14.3+Sun/8.14.3) with ESMTP id n83JbNMV010197; Thu, 3 Sep 2009 14:37:23 -0500 (CDT)
Received: (from nw141292@localhost) by binky.Central.Sun.COM (8.14.3+Sun/8.14.3/Submit) id n83JbMgf010196; Thu, 3 Sep 2009 14:37:22 -0500 (CDT)
X-Authentication-Warning: binky.Central.Sun.COM: nw141292 set sender to Nicolas.Williams@sun.com using -f
Date: Thu, 03 Sep 2009 14:37:22 -0500
From: Nicolas Williams <Nicolas.Williams@sun.com>
To: Michael B Allen <miallen@ioplex.com>
Subject: Re: KITTEN: IETF 75 - 76
Message-ID: <20090903193722.GW1033@Sun.COM>
References: <20090901173110.GL1033@Sun.COM> <396484EF-9812-40CE-9221-F1A1319FD10B@kth.se> <20090901181307.fe1d4efa.miallen@ioplex.com> <98F14484-1B48-45A1-86E7-5E78383F5109@kth.se> <20090901214059.17a309e6.miallen@ioplex.com> <4A9E22D9.9050405@samba.org> <20090902153241.GJ1033@Sun.COM> <24246_1251926735_n82LPYA9008569_20090902172015.da056c19.miallen@ioplex.com> <A24265FEB13A8A10136EC243@minbar.fac.cs.cmu.edu> <20090903111749.267187da.miallen@ioplex.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20090903111749.267187da.miallen@ioplex.com>
User-Agent: Mutt/1.5.7i
Cc: kitten@ietf.org, Love@core3.amsl.com, Volker Lendecke <vl@SerNet.DE>, Jeffrey Hutzelman <jhutz@cmu.edu>
X-BeenThere: kitten@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Common Authentication Technologies - Next Generation <kitten.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/kitten>, <mailto:kitten-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/kitten>
List-Post: <mailto:kitten@ietf.org>
List-Help: <mailto:kitten-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/kitten>, <mailto:kitten-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 03 Sep 2009 20:47:23 -0000
On Thu, Sep 03, 2009 at 11:17:49AM -0400, Michael B Allen wrote: > On Thu, 03 Sep 2009 10:38:49 -0400 > Jeffrey Hutzelman <jhutz@cmu.edu> wrote: > > > There is another model: > > > > > >> > while (1) { > > > gss_process_events(&minor, ...); > > >> > > > >> > ret = gss_call(&minor, GSS_C_NOWAIT, ...); > > >> > if (ret != 0 && minor == EAGAIN) { > > >> > continue; > > >> > } > > >> > ... > > >> > break; > > >> > } > > > > That's not another model. That's equivalent to using the synchronous form > > of the call, if gss_process_events() blocks until the mech is ready to be > > called, or to polling, if it eventually times out. > > But there only needs to be one caller of gss_process_events for any > number of NOWAIT calls. So you can build event loops with it. I'm not > sure I understand the callback model being discussed but it seems to > be an event loop powered by a separate thread firing callbacks in > response to changes in status of calls. If that is in fact the case, > you could build the callback model you're talking about using only the > NOWAIT flag model I'm talking about. It may be reasonable to have libraries use an externally provided event API (an alternative offered by Volker Lendecke). (A callback model with async-signal-safe callback functions will effectively do just that.) It is not reasonable to have libraries provide an event loop for applications to use. The reason is as I've explained before. Try putting together an application (and libraries) that uses: - an LDAP library, which uses a SASL library, which, through a plug-in, uses a GSS-API library, and through the GSS-API there's the Kerberos V5 GSS-API mechanism, which in turn might use a pluggable crypto lubrary, ... - also uses the GSS-API/SASL/crypto directly and independently of the LDAP library Now, just for fun, add PKCROSS into the picture, deep in the bowels of the krb5 mech. If each library wants to have its own event loop then each one had better provide a way for the caller to use that event loop for other purposes, else there's no way to construct such an application and libraries without resorting to threads. Now say that each library does provide a way for the caller to use the library's event loop, then each layer in the above stack will have to do just that. Once you've built that monstrosity there'll only be one thing left to do: debug it! ;) That kind of complexity is a non-starter. It's much easier to just wrap a thread around any synchronous and slow operation that I want made asynchronous. Still, if you want to write an Internet-Draft outlining your proposal, we'll review it. Nico --
- KITTEN: IETF 75 - 76 Shawn M Emery
- Re: KITTEN: IETF 75 - 76 Alexey Melnikov
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Love Hörnquist Åstrand
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Leif Johansson
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Martin Rex
- Re: KITTEN: IETF 75 - 76 Martin Rex
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Love Hörnquist Åstrand
- Re: KITTEN: IETF 75 - 76 Love Hörnquist Åstrand
- Re: KITTEN: IETF 75 - 76 Love Hörnquist Åstrand
- Re: KITTEN: IETF 75 - 76 Love Hörnquist Åstrand
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Martin Rex
- Re: KITTEN: IETF 75 - 76 Martin Rex
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Martin Rex
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Martin Rex
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Martin Rex
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Michael B Allen
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Shawn M Emery
- Re: KITTEN: IETF 75 - 76 Love Hörnquist Åstrand
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Love Hörnquist Åstrand
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Michael B Allen
- Re: KITTEN: IETF 75 - 76 Love Hörnquist Åstrand
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Love Hörnquist Åstrand
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Michael B Allen
- Re: KITTEN: IETF 75 - 76 Love Hörnquist Åstrand
- Re: KITTEN: IETF 75 - 76 Stefan (metze) Metzmacher
- Re: KITTEN: IETF 75 - 76 Michael B Allen
- Re: KITTEN: IETF 75 - 76 Love Hörnquist Åstrand
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Michael B Allen
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Michael B Allen
- Re: KITTEN: IETF 75 - 76 Jeffrey Hutzelman
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Jeffrey Hutzelman
- Re: KITTEN: IETF 75 - 76 Michael B Allen
- Re: KITTEN: IETF 75 - 76 Nicolas Williams
- Re: KITTEN: IETF 75 - 76 Jeffrey Hutzelman
- Re: KITTEN: IETF 75 - 76 Volker Lendecke
- Re: KITTEN: IETF 75 - 76 Volker Lendecke