qemu/include/qapi/qmp
Kevin Wolf 9ce44e2ce2 qmp: Move dispatcher to a coroutine
This moves the QMP dispatcher to a coroutine and runs all QMP command
handlers that declare 'coroutine': true in coroutine context so they
can avoid blocking the main loop while doing I/O or waiting for other
events.

For commands that are not declared safe to run in a coroutine, the
dispatcher drops out of coroutine context by calling the QMP command
handler from a bottom half.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20201005155855.256490-10-kwolf@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2020-10-09 07:08:20 +02:00
..
dispatch.h qmp: Move dispatcher to a coroutine 2020-10-09 07:08:20 +02:00
json-parser.h json: Clean up headers 2018-08-24 20:26:37 +02:00
qbool.h qobject: use a QObjectBase_ struct 2018-05-04 08:27:53 +02:00
qdict.h qobject: Eliminate qdict_iter(), use qdict_first(), qdict_next() 2020-04-30 06:51:15 +02:00
qerror.h scripts: Remove check-qerror.sh 2018-10-19 14:40:15 +02:00
qjson.h qobject: qobject_from_jsonv() is dangerous, hide it away 2018-08-16 08:42:06 +02:00
qlist.h qobject: Eliminate qlist_iter(), use QLIST_FOREACH_ENTRY() instead 2020-04-30 06:51:15 +02:00
qlit.h qlit: add qobject_from_qlit() 2018-03-19 10:00:14 -05:00
qnull.h qobject: Modify qobject_ref() to return obj 2018-05-04 08:27:53 +02:00
qnum.h json: Update references to RFC 7159 to RFC 8259 2018-08-24 20:27:14 +02:00
qobject.h qobject: Modify qobject_ref() to return obj 2018-05-04 08:27:53 +02:00
qstring.h qstring: add qstring_free() 2020-01-24 20:59:13 +01:00