From 3f638bfa039d40ba4b988a6117066ab2c466ff7e Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 17 Jan 2025 14:09:22 +0100 Subject: [PATCH] io/uring/Operation: add method GetUringData() --- src/io/uring/Operation.hxx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/io/uring/Operation.hxx b/src/io/uring/Operation.hxx index aeb059ffb..92be7fb92 100644 --- a/src/io/uring/Operation.hxx +++ b/src/io/uring/Operation.hxx @@ -4,6 +4,8 @@ #pragma once +#include + namespace Uring { class CancellableOperation; @@ -33,6 +35,16 @@ public: return cancellable != nullptr; } + /** + * Returns the data pointer that can be passed to + * io_uring_prep_cancel(). + */ + void *GetUringData() const noexcept { + assert(IsUringPending()); + + return cancellable; + } + /** * Cancel the operation. OnUringCompletion() will not be * invoked. This is a no-op if none is pending.