Multithreading behaviour (for example: does the system/client/provider/node etc. have to be deleted in the same thread as where it was created?) The api is threadsafe. So you can call any interface function from any thread. For example: If you use a client you can make requests from any thread. How do the asynch callbacks work? Where are they called from? Each client/provider you create has a own thread. If you do a request, this request is forwarded to the client thread and processed there. If there is an answer, the callback will be called in context of this client thread (asynch case). The syncronous method call simply waits for this callback and returns. Same for a provider. All onRead()/on...() methods are called from the provider thread. So there is a linearization of all requests. It's also allowed to forward the callback if your on...() method to a worker thread and call it there. So its possible to anser it in an asynchronous way. This you should use if you don't want to block your provider if the answer of the request will take a long time. The provider detects that the callback was not called and keeps the request alive this a configurable timeout.
... View more