23 #include <kvikio/error.hpp>
24 #include <kvikio/file_handle.hpp>
25 #include <kvikio/shim/cufile.hpp>
44 CUfileOpcode_t opcode;
47 #ifdef KVIKIO_CUFILE_BATCH_API_FOUND
64 bool _initialized{
false};
65 int _max_num_events{};
66 CUfileBatchHandle_t _handle{};
70 BatchHandle() noexcept = default;
81 BatchHandle(
int max_num_events);
83 BatchHandle(BatchHandle const&) = delete;
85 BatchHandle& operator=(BatchHandle const&) = delete;
87 BatchHandle(BatchHandle&& o) noexcept;
89 ~BatchHandle() noexcept;
92 [[nodiscard]]
bool closed() const noexcept;
95 void close() noexcept;
118 struct timespec* timeout =
nullptr);
132 [[nodiscard]]
bool closed()
const noexcept;
134 void close() noexcept;
136 void submit(std::vector<BatchOp>
const& operations);
138 std::vector<CUfileIOEvents_t> status(
unsigned min_nr,
140 struct timespec* timeout =
nullptr);