Re: KITTEN: IETF 75 - 76
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: KITTEN: IETF 75 - 76
On Tue, 01 Sep 2009 15:18:13 -0700
Love Hörnquist Åstrand <lha at 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/
Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.