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§
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 Methods§
Sourcefn discard_record(&mut self, _disk_slot: usize)
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.