pub struct AsyncReader { /* private fields */ }Expand description
Async-compatible reader using mutex-guarded file I/O
Portable implementation; same API as a future io_uring backend.
Implementations§
Source§impl AsyncReader
impl AsyncReader
Sourcepub fn open(path: impl AsRef<Path>, config: IoUringConfig) -> Result<Self>
pub fn open(path: impl AsRef<Path>, config: IoUringConfig) -> Result<Self>
Open a file for reading
Sourcepub fn read_at(&self, offset: u64, buf: &mut [u8]) -> Result<usize>
pub fn read_at(&self, offset: u64, buf: &mut [u8]) -> Result<usize>
Read data at the specified offset
Sourcepub fn read_exact_at(&self, offset: u64, buf: &mut [u8]) -> Result<()>
pub fn read_exact_at(&self, offset: u64, buf: &mut [u8]) -> Result<()>
Read exact amount at offset
Sourcepub fn stats(&self) -> IoUringStatsSnapshot
pub fn stats(&self) -> IoUringStatsSnapshot
Get statistics
Auto Trait Implementations§
impl !Freeze for AsyncReader
impl !RefUnwindSafe for AsyncReader
impl Send for AsyncReader
impl Sync for AsyncReader
impl Unpin for AsyncReader
impl UnsafeUnpin for AsyncReader
impl UnwindSafe for AsyncReader
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