Struct io_uring::IoUring[][src]

pub struct IoUring { /* fields omitted */ }

IoUring instance

Implementations

impl IoUring[src]

pub fn new(entries: u32) -> Result<IoUring>[src]

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.

#[must_use]pub fn builder() -> Builder[src]

Create a Builder for an IoUring instance.

This allows for further customization than new.

pub fn submitter(&self) -> Submitter<'_>[src]

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.

pub fn params(&self) -> &Parameters[src]

Get the parameters that were used to construct this instance.

pub fn submit(&self) -> Result<usize>[src]

Initiate asynchronous I/O. See Submitter::submit for more details.

pub fn submit_and_wait(&self, want: usize) -> Result<usize>[src]

Initiate and/or complete asynchronous I/O. See Submitter::submit_and_wait for more details.

pub fn split(
    &mut self
) -> (Submitter<'_>, SubmissionQueue<'_>, CompletionQueue<'_>)
[src]

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.

pub fn submission(&mut self) -> SubmissionQueue<'_>[src]

Get the submission queue of the io_uring instance. This is used to send I/O requests to the kernel.

pub unsafe fn submission_shared(&self) -> SubmissionQueue<'_>[src]

Get the submission queue of the io_uring instance from a shared reference.

Safety

No other SubmissionQueues may exist when calling this function.

pub fn completion(&mut self) -> CompletionQueue<'_>

Notable traits for CompletionQueue<'_>

impl Iterator for CompletionQueue<'_> type Item = Entry;
[src]

Get completion queue of the io_uring instance. This is used to receive I/O completion events from the kernel.

pub unsafe fn completion_shared(&self) -> CompletionQueue<'_>

Notable traits for CompletionQueue<'_>

impl Iterator for CompletionQueue<'_> type Item = Entry;
[src]

Get the completion queue of the io_uring instance from a shared reference.

Safety

No other CompletionQueues may exist when calling this function.

pub fn owned_split(self) -> (SubmitterUring, SubmissionUring, CompletionUring)[src]

Trait Implementations

impl AsRawFd for IoUring[src]

impl Drop for IoUring[src]

impl Send for IoUring[src]

impl Sync for IoUring[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.