/* * QEMU event-loop backend * * Copyright (C) 2022 Red Hat Inc * * Authors: * Nicolas Saenz Julienne <nsaenzju@redhat.com> * * This work is licensed under the terms of the GNU GPL, version 2 or later. * See the COPYING file in the top-level directory. */ #ifndef QEMU_EVENT_LOOP_BASE_H #define QEMU_EVENT_LOOP_BASE_H #include "qom/object.h" #include "block/aio.h" #include "qemu/typedefs.h" #define TYPE_EVENT_LOOP_BASE "event-loop-base" OBJECT_DECLARE_TYPE(EventLoopBase, EventLoopBaseClass, EVENT_LOOP_BASE) struct EventLoopBaseClass { ObjectClass parent_class; void (*init)(EventLoopBase *base, Error **errp); void (*update_params)(EventLoopBase *base, Error **errp); bool (*can_be_deleted)(EventLoopBase *base); }; struct EventLoopBase { Object parent; /* AioContext AIO engine parameters */ int64_t aio_max_batch; /* AioContext thread pool parameters */ int64_t thread_pool_min; int64_t thread_pool_max; }; #endif