[Interest] QRemoteObject : slot call with return value

Daesdemon daesdemon at free.fr
Thu May 28 21:57:15 CEST 2020


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20200528/008b278c/attachment.html>


More information about the Interest mailing list