pub struct HostViewStaged<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SB>where
AP: AccessPolicy,
PP: PersistPolicy<PK>,
PT: PersistTrigger<PK>,
BitsImpl<BC>: Bits,
SB: StagingBuffer,{ /* private fields */ }Expand description
Host view with transactional staging support.
Allows writes to be staged and previewed before committing to the shadow table.
Implementations§
Source§impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SB> HostViewStaged<'a, TS, BS, BC, AP, PP, PT, PK, SB>where
AP: AccessPolicy,
PP: PersistPolicy<PK>,
PT: PersistTrigger<PK>,
BitsImpl<BC>: Bits,
SB: StagingBuffer,
impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SB> HostViewStaged<'a, TS, BS, BC, AP, PP, PT, PK, SB>where
AP: AccessPolicy,
PP: PersistPolicy<PK>,
PT: PersistTrigger<PK>,
BitsImpl<BC>: Bits,
SB: StagingBuffer,
Sourcepub fn read_range(&self, addr: u16, out: &mut [u8]) -> Result<(), ShadowError>
pub fn read_range(&self, addr: u16, out: &mut [u8]) -> Result<(), ShadowError>
Reads data from the shadow table (ignores staged writes).
Sourcepub fn write_range(&mut self, addr: u16, data: &[u8]) -> Result<(), ShadowError>
pub fn write_range(&mut self, addr: u16, data: &[u8]) -> Result<(), ShadowError>
Writes directly to the shadow table, bypassing staging.
Sourcepub fn read_range_overlay(
&self,
addr: u16,
out: &mut [u8],
) -> Result<(), ShadowError>
pub fn read_range_overlay( &self, addr: u16, out: &mut [u8], ) -> Result<(), ShadowError>
Reads data with staged writes overlaid on top.
Sourcepub fn write_range_staged(
&mut self,
addr: u16,
data: &[u8],
) -> Result<(), ShadowError>
pub fn write_range_staged( &mut self, addr: u16, data: &[u8], ) -> Result<(), ShadowError>
Stages a write to be applied on commit.
Sourcepub fn commit(&mut self) -> Result<(), ShadowError>
pub fn commit(&mut self) -> Result<(), ShadowError>
Commits all staged writes to the shadow table.
Staged writes are applied in order, marking blocks dirty and triggering persistence as configured. The staging buffer is cleared after successful commit.
Sourcepub fn action(&mut self) -> Result<(), ShadowError>
👎Deprecated since 0.1.2: renamed to commit()
pub fn action(&mut self) -> Result<(), ShadowError>
commit()Commits all staged writes to the shadow table.
Auto Trait Implementations§
impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SB> Freeze for HostViewStaged<'a, TS, BS, BC, AP, PP, PT, PK, SB>
impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SB> !RefUnwindSafe for HostViewStaged<'a, TS, BS, BC, AP, PP, PT, PK, SB>
impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SB> !Send for HostViewStaged<'a, TS, BS, BC, AP, PP, PT, PK, SB>
impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SB> !Sync for HostViewStaged<'a, TS, BS, BC, AP, PP, PT, PK, SB>
impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SB> Unpin for HostViewStaged<'a, TS, BS, BC, AP, PP, PT, PK, SB>where
PK: Unpin,
impl<'a, const TS: usize, const BS: usize, const BC: usize, AP, PP, PT, PK, SB> !UnwindSafe for HostViewStaged<'a, TS, BS, BC, AP, PP, PT, PK, SB>
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