pub struct BatchExecutor { /* private fields */ }Expand description
Executes batched I/O operations
Uses sequential file I/O on all platforms. On Linux 5.6+, a future io_uring backend would submit all operations via the kernel submission queue for true async batched I/O.
Implementations§
Source§impl BatchExecutor
impl BatchExecutor
Sourcepub fn for_writer(writer: BlockingWriter) -> Self
pub fn for_writer(writer: BlockingWriter) -> Self
Create a new batch executor for writing
Sourcepub fn for_reader(reader: AsyncReader) -> Self
pub fn for_reader(reader: AsyncReader) -> Self
Create a new batch executor for reading
Sourcepub fn execute(&self, batch: &mut IoBatch) -> Result<Vec<BatchReadResult>>
pub fn execute(&self, batch: &mut IoBatch) -> Result<Vec<BatchReadResult>>
Execute all operations in a batch
Returns a vector of read results (for read operations) or errors
Sourcepub fn stats(&self) -> IoUringStatsSnapshot
pub fn stats(&self) -> IoUringStatsSnapshot
Get statistics
Auto Trait Implementations§
impl !Freeze for BatchExecutor
impl !RefUnwindSafe for BatchExecutor
impl Send for BatchExecutor
impl Sync for BatchExecutor
impl Unpin for BatchExecutor
impl UnsafeUnpin for BatchExecutor
impl UnwindSafe for BatchExecutor
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more