pub trait IoDriver: 'static {
// Required method
fn drive(
&self,
stream: impl Stream<Item = SegmentRequest> + 'static,
) -> impl Stream<Item = VortexResult<()>> + 'static;
}
Expand description
An I/O driver for executing segment requests.
Each request contains a vortex_layout::segments::SegmentId
as well as a one-shot callback
channel to post back the result.
I/O drivers are able to coalesce, debounce, or otherwise group the requests, as well as control the concurrency
of the I/O operations with buffered
.
Required Methods§
fn drive( &self, stream: impl Stream<Item = SegmentRequest> + 'static, ) -> impl Stream<Item = VortexResult<()>> + 'static
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.