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