Hi,

After some test, it appears that:

1) It seems not possible to enableRemote an object that is not in the Host thread (the enable remote seems parenting some QObject to remoted object)

2) The call of a remoted object slot (even with no return value) is blocking the host thread, so the object thread, (see 1)

Thats seems to mean that each slot call from remoted is blocking the complete RO traffic on the host, so nothing can happen between the start of the slot call and the end.

Could you confirm or infirm these facts?

Is there a way i didn't see to enableRemote object from other threads?

Is there a way to call slot with return value asynchronously (without locking the host thread) ?

The best would be to have the slot executed in the object thread (or in a threadpool) and the result returned asynchronously to the host thread that would send it back to client node (that is async itself).

Thats seems to me impossible to be stuck on that, considering qt and its async philosophy.

Please tell me there is a way ;)

Daes


Le 28/05/2020 à 07:45, Daesdemon a écrit :
Hi, I would have a question about remote object slot call with return value: If a slot id called from client with a return value, it is asynchronized on client side (push), but what happens on host side ? 1) network iodevice receive the request 2) slot is called, in which thread ? network iodevice thread, or Object thread ? (i will test that today) 3) network iodevice get the return value of the call Does it mean the network iodevice thread is locked until the slot answer? or is it done by a future or something like this? Daes
_______________________________________________
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest

Reply via email to