On Fri, Sep 08, 2017 at 01:49:41PM +0200, Markus Armbruster wrote: > > I also see the other problem as keeping the management level > > understanding of which commands are asynchronous; Dan's suggestion is > > that command where the management layer specifies which commands it > > expects to be asynchronous, and qemu responds with which ones actually > > are. > > "Command supports out-of-band dispatch" would be visible in > query-qmp-schema. > > Design alternative: either switching on out-of-band mode (see 6.) > switches all out-of-band commands to out-of-band dispatch, or it > doesn't, and the client has to request out-of-band dispatch explicitly. > The explicit request could either be per execute (say send {'exec-oob': > COMMAND-NAME ...} instead of {'execute': COMMAND-NAME...}), or per > session, i.e. with a new command to enable oob dispatch for a list of > oob-capable commands. > > I figure explicit is safer, because it lets us make more commands > oob-capable without upsetting existing oob-aware QMP clients.
Yep, this is fine too - it achieves the same end goals as the approach I suggest. Namely - clients can detect which commands can do OOB (via the schema) - clients can choose which commands to run OOB (via exec vs exec-oob) Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|