qemu-e2k/qapi
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
..
acpi.json qapi: Extract ACPI commands to 'acpi.json' 2020-09-29 15:41:36 +02:00
audio.json qapi: Fix indentation, again 2020-09-07 17:13:19 +02:00
authz.json
block-core.json replay: introduce info hmp/qmp command 2020-10-06 08:34:49 +02:00
block-export.json nbd: Deprecate nbd-server-add/remove 2020-10-02 15:46:40 +02:00
block.json qapi/block.json: Add newline after "Example:" for block-latency-histogram-set 2020-09-29 17:55:39 +02:00
char.json qapi: Document event VSERPORT_CHANGE is rate-limited 2020-09-03 09:58:26 +02:00
common.json
control.json qapi: Fix indentation, again 2020-09-07 17:13:19 +02:00
crypto.json qapi/: fix some comment spelling errors 2020-09-17 20:41:08 +02:00
dump.json
error.json
introspect.json
job.json
machine-target.json
machine.json qapi/machine.json: Escape a literal '*' in doc comment 2020-09-29 17:55:39 +02:00
meson.build qapi: introduce replay.json for record/replay-related stuff 2020-10-06 08:34:49 +02:00
migration.json qapi: Fix doc comment indentation again 2020-09-29 17:50:55 +02:00
misc-target.json
misc.json qapi: introduce replay.json for record/replay-related stuff 2020-10-06 08:34:49 +02:00
net.json qapi: Fix indentation, again 2020-09-07 17:13:19 +02:00
opts-visitor.c
pci.json qapi: Extract PCI commands to 'pci.json' 2020-09-29 15:41:36 +02:00
pragma.json
qapi-clone-visitor.c
qapi-dealloc-visitor.c
qapi-schema.json qapi: introduce replay.json for record/replay-related stuff 2020-10-06 08:34:49 +02:00
qapi-util.c
qapi-visit-core.c
qdev.json
qmp-dispatch.c qmp: Move dispatcher to a coroutine 2020-10-09 07:08:20 +02:00
qmp-event.c
qmp-registry.c qmp: Move dispatcher to a coroutine 2020-10-09 07:08:20 +02:00
qobject-input-visitor.c
qobject-output-visitor.c
qom.json
rdma.json
replay.json replay: implement replay-seek command 2020-10-06 08:34:49 +02:00
rocker.json
run-state.json qapi/run-state.json: introduce memory failure event 2020-10-04 18:36:23 +02:00
sockets.json
string-input-visitor.c
string-output-visitor.c
tpm.json
trace-events
trace.h
trace.json
transaction.json
ui.json