Completions in C API

2010-06-03 Thread Jack Orenstein

I'm trying to figure out how to use zookeeper's C API. In particular, what can I assume 
about the execution of the completions passed to zoo_aget and zoo_aset? The documentation 
for zoo_aset says the completion is the routine to invoke when the request 
completes. Does this mean that the completion is called some arbitrary time after 
the request completes, on a different thread? Or is it guaranteed to be executed on the 
same thread as the thread initiating the zoo_aset call, and complete before zoo_aset 
returns?  Or something else?

In general, the 3.2.2 docs seem to be pretty thin on the C API. Pointers to 
other relevant material would be appreciated.

Jack


Re: Completions in C API

2010-06-03 Thread Benjamin Reed
the call is executed at a later time on a different thread. the zoo_a* 
calls are non-blocking, so (subject to the thread scheduling) usually 
they will return before the request completes.


ben

On 06/03/2010 01:24 PM, Jack Orenstein wrote:

I'm trying to figure out how to use zookeeper's C API. In particular, what can I assume 
about the execution of the completions passed to zoo_aget and zoo_aset? The documentation 
for zoo_aset says the completion is the routine to invoke when the request 
completes. Does this mean that the completion is called some arbitrary time after 
the request completes, on a different thread? Or is it guaranteed to be executed on the 
same thread as the thread initiating the zoo_aset call, and complete before zoo_aset 
returns?  Or something else?

In general, the 3.2.2 docs seem to be pretty thin on the C API. Pointers to 
other relevant material would be appreciated.

Jack