pub struct RamDiskLayer { /* private fields */ }
Expand description
A disk layer backed entirely by RAM.
Implementations§
Trait Implementations§
Source§impl Debug for RamDiskLayer
impl Debug for RamDiskLayer
Source§impl LayerIo for RamDiskLayer
impl LayerIo for RamDiskLayer
Source§fn layer_type(&self) -> &str
fn layer_type(&self) -> &str
Returns the layer type name as a string. Read more
Source§fn sector_count(&self) -> u64
fn sector_count(&self) -> u64
Returns the current sector count. Read more
Source§fn sector_size(&self) -> u32
fn sector_size(&self) -> u32
Returns the logical sector size of the backing store. Read more
Source§fn is_logically_read_only(&self) -> bool
fn is_logically_read_only(&self) -> bool
Returns true if the layer is logically read only. Read more
Source§fn disk_id(&self) -> Option<[u8; 16]>
fn disk_id(&self) -> Option<[u8; 16]>
Optionally returns a 16-byte identifier for the disk, if there is a
natural one for this backing store. Read more
Source§fn physical_sector_size(&self) -> u32
fn physical_sector_size(&self) -> u32
Returns the physical sector size of the backing store. Read more
Source§fn is_fua_respected(&self) -> bool
fn is_fua_respected(&self) -> bool
Returns true if the
fua
parameter to [LayerIo::write
] is
respected by the backing store by ensuring that the IO is immediately
committed to disk.Source§async fn read(
&self,
buffers: &RequestBuffers<'_>,
sector: u64,
marker: SectorMarker<'_>,
) -> Result<(), DiskError>
async fn read( &self, buffers: &RequestBuffers<'_>, sector: u64, marker: SectorMarker<'_>, ) -> Result<(), DiskError>
Reads sectors from the layer. Read more
Source§async fn write(
&self,
buffers: &RequestBuffers<'_>,
sector: u64,
_fua: bool,
) -> Result<(), DiskError>
async fn write( &self, buffers: &RequestBuffers<'_>, sector: u64, _fua: bool, ) -> Result<(), DiskError>
Writes sectors to the layer. Read more
Source§fn write_no_overwrite(&self) -> Option<impl WriteNoOverwrite>
fn write_no_overwrite(&self) -> Option<impl WriteNoOverwrite>
Optionally returns a write-no-overwrite implementation.
Source§async fn sync_cache(&self) -> Result<(), DiskError>
async fn sync_cache(&self) -> Result<(), DiskError>
Issues an asynchronous flush operation to the disk.
Source§async fn wait_resize(&self, sector_count: u64) -> u64
async fn wait_resize(&self, sector_count: u64) -> u64
Waits for the disk sector size to be different than the specified value.
Source§async fn unmap(
&self,
sector_offset: u64,
sector_count: u64,
_block_level_only: bool,
next_is_zero: bool,
) -> Result<(), DiskError>
async fn unmap( &self, sector_offset: u64, sector_count: u64, _block_level_only: bool, next_is_zero: bool, ) -> Result<(), DiskError>
Unmap sectors from the layer. Read more
Source§fn unmap_behavior(&self) -> UnmapBehavior
fn unmap_behavior(&self) -> UnmapBehavior
Returns the behavior of the unmap operation.
Source§fn optimal_unmap_sectors(&self) -> u32
fn optimal_unmap_sectors(&self) -> u32
Returns the optimal granularity for unmaps, in sectors.
Source§impl WriteNoOverwrite for RamDiskLayer
impl WriteNoOverwrite for RamDiskLayer
Auto Trait Implementations§
impl !Freeze for RamDiskLayer
impl !RefUnwindSafe for RamDiskLayer
impl Send for RamDiskLayer
impl Sync for RamDiskLayer
impl Unpin for RamDiskLayer
impl UnwindSafe for RamDiskLayer
Blanket Implementations§
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