pub struct IoUring { /* private fields */ }Expand description
IoUring instance
Implementations
sourceimpl IoUring
impl IoUring
sourcepub fn new(entries: u32) -> Result<IoUring>
pub fn new(entries: u32) -> Result<IoUring>
Create a new IoUring instance with default configuration parameters. See Builder to
customize it further.
The entries sets the size of queue,
and its value should be the power of two.
sourcepub fn submitter(&self) -> Submitter<'_>
pub fn submitter(&self) -> Submitter<'_>
Get the submitter of this io_uring instance, which can be used to submit submission queue events to the kernel for execution and to register files or buffers with it.
sourcepub fn params(&self) -> &Parameters
pub fn params(&self) -> &Parameters
Get the parameters that were used to construct this instance.
sourcepub fn submit(&self) -> Result<usize>
pub fn submit(&self) -> Result<usize>
Initiate asynchronous I/O. See Submitter::submit for more details.
sourcepub fn submit_and_wait(&self, want: usize) -> Result<usize>
pub fn submit_and_wait(&self, want: usize) -> Result<usize>
Initiate and/or complete asynchronous I/O. See Submitter::submit_and_wait for more
details.
sourcepub fn split(
&mut self
) -> (Submitter<'_>, SubmissionQueue<'_>, CompletionQueue<'_>)
pub fn split(
&mut self
) -> (Submitter<'_>, SubmissionQueue<'_>, CompletionQueue<'_>)
Get the submitter, submission queue and completion queue of the io_uring instance. This can be used to operate on the different parts of the io_uring instance independently.
If you use this method to obtain sq and cq,
please note that you need to drop or sync the queue before and after submit,
otherwise the queue will not be updated.
sourcepub fn submission(&mut self) -> SubmissionQueue<'_>
pub fn submission(&mut self) -> SubmissionQueue<'_>
Get the submission queue of the io_uring instance. This is used to send I/O requests to the kernel.
Get the submission queue of the io_uring instance from a shared reference.
Safety
No other SubmissionQueues may exist when calling this function.
sourcepub fn completion(&mut self) -> CompletionQueue<'_>ⓘNotable traits for CompletionQueue<'_>impl Iterator for CompletionQueue<'_> type Item = Entry;
pub fn completion(&mut self) -> CompletionQueue<'_>ⓘNotable traits for CompletionQueue<'_>impl Iterator for CompletionQueue<'_> type Item = Entry;
Get completion queue of the io_uring instance. This is used to receive I/O completion events from the kernel.
Get the completion queue of the io_uring instance from a shared reference.
Safety
No other CompletionQueues may exist when calling this function.
Trait Implementations
Auto Trait Implementations
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more