Trait DirectBaseOperations
Source pub trait DirectBaseOperations: Send + Sync {
// Required methods
fn read(&self, buffer: &mut [u8], absolute_position: Size) -> Result<usize>;
fn write(&self, buffer: &[u8], absolute_position: Size) -> Result<usize>;
// Provided methods
fn open(&self) -> Result<()> { ... }
fn close(&self) -> Result<()> { ... }
fn read_until(
&self,
buffer: &mut [u8],
absolute_position: Size,
delimiter: &[u8],
) -> Result<usize> { ... }
fn write_pattern(
&self,
pattern: &[u8],
count: usize,
absolute_position: Size,
) -> Result<usize> { ... }
fn write_vectored(
&self,
buffers: &[&[u8]],
absolute_position: Size,
) -> Result<usize> { ... }
fn flush(&self) -> Result<()> { ... }
fn set_position(
&self,
_current_position: Size,
_position: &Position,
) -> Result<Size> { ... }
fn control(
&self,
_command: ControlCommandIdentifier,
_input: &AnyByLayout,
_output: &mut AnyByLayout,
) -> Result<()> { ... }
}