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