pub struct UringReader { /* private fields */ }Expand description
io_uring-based reader for local files.
This reader uses a dedicated process-wide thread running an io_uring event loop for high-performance asynchronous I/O.
Trait Implementations§
Source§impl Debug for UringReader
impl Debug for UringReader
Source§impl DeepSizeOf for UringReader
impl DeepSizeOf for UringReader
fn deep_size_of_children(&self, context: &mut Context) -> usize
fn deep_size_of(&self) -> usize
Source§impl Reader for UringReader
impl Reader for UringReader
Source§fn get_range(&self, range: Range<usize>) -> BoxFuture<'static, Result<Bytes>>
fn get_range(&self, range: Range<usize>) -> BoxFuture<'static, Result<Bytes>>
Read a range of bytes using io_uring.
fn path(&self) -> &Path
Source§fn block_size(&self) -> usize
fn block_size(&self) -> usize
Suggest optimal I/O size per storage device.
Source§fn io_parallelism(&self) -> usize
fn io_parallelism(&self) -> usize
Suggest optimal I/O parallelism per storage device.
Source§fn get_stream(&self) -> BoxFuture<'_, Result<ByteStream>>
fn get_stream(&self) -> BoxFuture<'_, Result<ByteStream>>
Read the entire object as a byte stream.
Source§fn get_range_stream(
&self,
range: Range<usize>,
) -> BoxFuture<'_, Result<ByteStream>>
fn get_range_stream( &self, range: Range<usize>, ) -> BoxFuture<'_, Result<ByteStream>>
Read a byte range as a byte stream.
Auto Trait Implementations§
impl Freeze for UringReader
impl RefUnwindSafe for UringReader
impl Send for UringReader
impl Sync for UringReader
impl Unpin for UringReader
impl UnsafeUnpin for UringReader
impl UnwindSafe for UringReader
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 moreCreates a shared type from an unshared type.