Hi there, In the last few weeks we've had some proposals for new QMP commands that need to be asynchronous. As we lack a standard asynchronous API today, each command ends up adding its own way to execute in the background.
This multiplies the API complexity as each command has to be implemented and learned by clients separately, with their own way of doing more or less the same things. The solution for this, envisioned for us for a long time now, is to introduce an unified QMP API for asynchronous commands. But before doing this we have to: 1. Finish the commands conversion to the QAPI This is almost done, the only missing commands are: add_graphics_client, do_closefd, do_device_add, do_device_del, do_getfd, do_migrate, do_netdev_add, do_netdev_del, do_qmp_capabilities and do_screen_dump. Note that do_migrate has already been posted to the list, and I have the screendump more or less done. Also, Anthony has an old branch where most of the conversions are already done, they just need to be rebased & tested. 2. Integrate the new QAPI server Implemented by Anthony, may have missing pieces. 3. Implement async command support I think the missing commands to be converted can be done in around one week, but unfortunately I've been busy at other things and will need a few days to resume this work. Then there's the new QAPI server & async support, which I'm not sure how much time we'll need to integrate them, but we should have this done for 1.1. The main question is: what should we do for the already posted async commands? Should we hold them until we finish this work?