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?

Reply via email to