Re: KITTEN: IETF 75 - 76

Michael B Allen <miallen@ioplex.com> Wed, 02 September 2009 01:41 UTC

Return-Path: <miallen@ioplex.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 11CE628C646 for <kitten@core3.amsl.com>; Tue, 1 Sep 2009 18:41:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.724
X-Spam-Level:
X-Spam-Status: No, score=-1.724 tagged_above=-999 required=5 tests=[AWL=0.575, BAYES_00=-2.599, MIME_8BIT_HEADER=0.3]
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 sEMwlxfU+1aA for <kitten@core3.amsl.com>; Tue, 1 Sep 2009 18:41:56 -0700 (PDT)
Received: from mail.ioplex.com (li31-113.members.linode.com [207.192.69.113]) by core3.amsl.com (Postfix) with ESMTP id D8F6528C2D6 for <kitten@ietf.org>; Tue, 1 Sep 2009 18:41:52 -0700 (PDT)
Received: from proton.foo.net (pool-71-187-189-103.nwrknj.fios.verizon.net [71.187.189.103]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: miallen) by mail.ioplex.com (Postfix) with ESMTP id 1BCDB411DC; Tue, 1 Sep 2009 21:41:00 -0400 (EDT)
Date: Tue, 01 Sep 2009 21:40:59 -0400
From: Michael B Allen <miallen@ioplex.com>
To: Love Hörnquist Åstrand <lha@kth.se>
Subject: Re: KITTEN: IETF 75 - 76
Message-Id: <20090901214059.17a309e6.miallen@ioplex.com>
In-Reply-To: <98F14484-1B48-45A1-86E7-5E78383F5109@kth.se>
References: <4A87A69A.3050408@sun.com> <4A87E02D.7030503@isode.com> <200908180013.29152.leifj@mnt.se> <20090901131202.137bdd90.miallen@ioplex.com> <20090901173110.GL1033@Sun.COM> <396484EF-9812-40CE-9221-F1A1319FD10B@kth.se> <20090901181307.fe1d4efa.miallen@ioplex.com> <98F14484-1B48-45A1-86E7-5E78383F5109@kth.se>
Organization: IOPLEX Software
X-Mailer: Sylpheed 2.6.0 (GTK+ 2.12.12; i386-redhat-linux-gnu)
Mime-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: "kitten@ietf.org" <kitten@ietf.org>, Nicolas Williams <Nicolas.Williams@sun.com>
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: Wed, 02 Sep 2009 01:41:59 -0000

On Tue, 01 Sep 2009 15:18:13 -0700
Love Hörnquist Åstrand <lha@kth.se> wrote:

> 
> 1 sep 2009 kl. 15:13 skrev Michael B Allen:
> 
> >  it means that you need to call it again later
> 
> When is later unless you get a callback ?

When you call the function with the flag GSS_C_NOWAIT, the implementation transmits the network request [1] and then checks to see if data can be read (such as by using select(2)). If data is not available, the function simply returns a status of EAGAIN. Now the caller is free to perform other work (and thus it is async). But the caller now knows that the function needs to be called again to complete the operation. So later, it calls the function again. If the network response has been received, it returns success. Otherwise, if GSS_C_NOWAIT was supplied, it again returns EAGAIN. If GSS_C_NOWAIT was not supplied, it waits for the operation to complete (e.g. for a network response to be received) just like the non-async call. In fact async and non-async uses the same function - the GSS_C_NOWAIT flag alone controls async behavior.

Mike

[1] A network request is only one example, the behavior is the same for any blocking operation.

-- 
Michael B Allen
Java Active Directory Integration
http://www.ioplex.com/