Definition at line 27 of file RIoUring.hxx.
Classes | |
| struct | RReadEvent |
| Basic read event composed of IO data and a target file descriptor. More... | |
Public Member Functions | |
| RIoUring () | |
| RIoUring (const RIoUring &)=delete | |
| RIoUring (std::uint32_t entriesHint) | |
| ~RIoUring () | |
| std::uint32_t | GetQueueDepth () |
| struct io_uring * | GetRawRing () |
| Access the raw io_uring instance. | |
| RIoUring & | operator= (const RIoUring &)=delete |
| void | SubmitReadsAndWait (RReadEvent *readEvents, unsigned int nReads) |
| Submit a number of read events and wait for completion. | |
Static Public Member Functions | |
| static bool | IsAvailable (std::string *errMsg=nullptr) |
| Probes whether io_uring is actually usable at runtime. | |
Private Attributes | |
| std::uint32_t | fDepth = 0 |
| struct io_uring | fRing |
#include <ROOT/RIoUring.hxx>
|
inline |
Definition at line 36 of file RIoUring.hxx.
|
inlineexplicit |
Definition at line 59 of file RIoUring.hxx.
|
inline |
Definition at line 71 of file RIoUring.hxx.
|
inline |
Definition at line 76 of file RIoUring.hxx.
Access the raw io_uring instance.
Definition at line 81 of file RIoUring.hxx.
Probes whether io_uring is actually usable at runtime.
The presence of liburing at build time does not imply kernel support: the running kernel may have been compiled without CONFIG_IO_URING (e.g. older EL9 kernels) or the io_uring_setup system call may be blocked by a seccomp profile. On failure, if errMsg is set, it contains a diagnostic string. The kernel is probed only once per process; afterwards the cached result is returned.
Definition at line 90 of file RIoUring.hxx.
|
inline |
Submit a number of read events and wait for completion.
Events are submitted in batches if the number of events is larger than the submission queue depth.
Definition at line 128 of file RIoUring.hxx.
|
private |
Definition at line 30 of file RIoUring.hxx.
Definition at line 29 of file RIoUring.hxx.