SwapStore

Trait SwapStore 

Source
pub trait SwapStore: Send {
    // Required methods
    fn record_bytes(&self) -> usize;
    fn write_record(&mut self, disk_slot: usize, bytes: &[u8]) -> Result<()>;
    fn read_record(&self, disk_slot: usize, out: &mut [u8]) -> Result<()>;

    // Provided method
    fn discard_record(&mut self, _disk_slot: usize) { ... }
}
Expand description

2026-09-25: The cold tier: records of record_bytes each, addressed by a disk_slot index that Residency allocates and reuses. Implemented by DirectSwapFile (a file) and MemSwapStore (host RAM).

Required Methods§

Source

fn record_bytes(&self) -> usize

Source

fn write_record(&mut self, disk_slot: usize, bytes: &[u8]) -> Result<()>

Source

fn read_record(&self, disk_slot: usize, out: &mut [u8]) -> Result<()>

Provided Methods§

Source

fn discard_record(&mut self, _disk_slot: usize)

2026-09-25: Called when disk_slot is freed. The default does nothing; Residency reuses the index from its free list either way.

Implementations on Foreign Types§

Source§

impl<T: SwapStore + ?Sized> SwapStore for Box<T>

Source§

fn record_bytes(&self) -> usize

Source§

fn write_record(&mut self, disk_slot: usize, bytes: &[u8]) -> Result<()>

Source§

fn read_record(&self, disk_slot: usize, out: &mut [u8]) -> Result<()>

Source§

fn discard_record(&mut self, disk_slot: usize)

Implementors§