diff options
author | Stefan Hajnoczi <stefanha@redhat.com> | 2018-06-02 09:52:59 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2018-06-28 19:05:30 +0200 |
commit | d29a8a1b0758a905b148929dd14b79bfeb297a80 (patch) | |
tree | 66a6ec6a7634ec89db11ab204b223419694f4345 | |
parent | 1507bd136fd9a516226fce8738d361a64f45b699 (diff) | |
download | qemu-d29a8a1b0758a905b148929dd14b79bfeb297a80.zip qemu-d29a8a1b0758a905b148929dd14b79bfeb297a80.tar.gz qemu-d29a8a1b0758a905b148929dd14b79bfeb297a80.tar.bz2 |
main-loop: document IOCanReadHandler
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20180602085259.17853-1-stefanha@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
-rw-r--r-- | include/qemu/main-loop.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/qemu/main-loop.h b/include/qemu/main-loop.h index 6b4b60b..721aa24 100644 --- a/include/qemu/main-loop.h +++ b/include/qemu/main-loop.h @@ -168,6 +168,20 @@ void qemu_del_wait_object(HANDLE handle, WaitObjectFunc *func, void *opaque); /* async I/O support */ typedef void IOReadHandler(void *opaque, const uint8_t *buf, int size); + +/** + * IOCanReadHandler: Return the number of bytes that #IOReadHandler can accept + * + * This function reports how many bytes #IOReadHandler is prepared to accept. + * #IOReadHandler may be invoked with up to this number of bytes. If this + * function returns 0 then #IOReadHandler is not invoked. + * + * This function is typically called from an event loop. If the number of + * bytes changes outside the event loop (e.g. because a vcpu thread drained the + * buffer), then it is necessary to kick the event loop so that this function + * is called again. aio_notify() or qemu_notify_event() can be used to kick + * the event loop. + */ typedef int IOCanReadHandler(void *opaque); /** |