Stephan and Scott,
It is in a way using push notifications like many others; when we tell the server to do so (Setup and define a channel), we then listen to that channel (Set up a listener).
Instead of us having to poll the server every so many minutes or even seconds, we simply wait for the server to send the message to us. Less network traffic and processing required this way.
Exactly in this way works Valentina Server.
Exactly in this way works postgreSQL.
I try explain this few times. :-)
You ***NOT*** poll VSERVER, when you just CHECK
client-side queue.
IF queue is empty then It is empty. Nothing happens!
There is NO any command to VSERVER by network!
Only when something happens on server side, then server do broadcasting to subscribed N listeners of this channel.
Do I say the same as you?
Once again -- there is no ANY network traffic every second, as you have decide on some reason.
In the listener thread we can then act on the message the server has sent to us, and do something like maybe a refresh, and then carry on listening.
I think problem is that you see that timer, which checks
the client-side queue once per second.
Stephan, what problems to make Xojo thread and call GetNotification() there in thread? if you want that.
Xojo have any other way to implement Listener better ?
If yes, please point it to us.
Don't forget that we talking now about construction Xojo <-> plugin.
May be of course exists way to call async Event from plugin to some Xojo Class.Event(),
but as I remember, Xojo have cooperative threads only.