Blocking call using a manual socket poll loop.
Same contract as call_sync: does not iterate the default GLib.MainContext; demuxes Live.Invoke and Notification while waiting; supports nested call_poll (e.g. invoke handler → RPC-Live-Callback.reply). Socket / TCP only. Linux gnome-shell-rpc; not Windows or Android.
Unlike call_sync, does not attach a private GLib.MainLoop or per-frame IO watch — nested waits recurse on the call stack and read with GLib.poll. Ends with
return this.poll_close(request, entry);
(no try / finally
).
| request |
wire request; Request.id is set here |
|
wire response on success |
| GLib.Error |
same as call_sync |