ZXFoundation™ 26h2
Loading...
Searching...
No Matches
zxfoundation.memory.page_cache.types Module Reference

Data Structures

struct  zxfoundation::memory::page_cache::cache_binding
 Stable identity for a cache mapping pin stored in a VM slot. More...
struct  zxfoundation::memory::page_cache::cache_entry
 Page-cache key and resident frame record. More...
struct  zxfoundation::memory::page_cache::page_lease
 Move-only cache mapping pin held while a PTE is being installed. More...

Enumerations

enum class  cache_entry_state : u8 {
  empty = 0 , loading = 1 , ready = 2 , writeback = 3 ,
  evicting = 4
}

Typedefs

using zxfoundation::memory::page_cache::read_page_fn = auto (*)(void* node, u32 index, void* destination) noexcept -> u32
 Read one file page into a physical frame.
using zxfoundation::memory::page_cache::write_page_fn = auto (*)(void* node, u32 index, const void* source) noexcept -> u32
 Write one dirty file page back to its backing provider.

Functions

auto clear () noexcept -> void
auto clear () noexcept -> void
auto into_binding () &&noexcept -> cache_binding
 operator bool () const noexcept
 operator bool () const noexcept
auto operator= (const page_lease &)=delete
auto operator= (page_lease &&other) noexcept -> page_lease &
 page_lease (const page_lease &)=delete
 page_lease (page_lease &&other) noexcept
 page_lease (u64 page_phys, cache_binding page_binding) noexcept

Variables

objects::memory_object_ref authority {}
cache_binding binding {}
bool dirty {false}
void * file_node {nullptr}
u32 free_next {PAGE_CACHE_SLOT_INVALID}
u32 generation {0U}
u32 generation {0}
u32 index {0}
u32 key_next {PAGE_CACHE_SLOT_INVALID}
u32 mapping_refs {0}
constexpr u32 zxfoundation::memory::page_cache::PAGE_CACHE_INDEX_SLOTS = 8192U
constexpr u32 zxfoundation::memory::page_cache::PAGE_CACHE_SLOT_INVALID = ~0U
constexpr u32 zxfoundation::memory::page_cache::PAGE_CACHE_SLOTS = 4096U
u64 phys {0}
u64 phys {0ULL}
u32 phys_next {PAGE_CACHE_SLOT_INVALID}
u32 slot {PAGE_CACHE_SLOT_INVALID}
cache_entry_state state {cache_entry_state::empty}
u8 storage_key {0}

Files

file  zxfoundation/memory/page_cache.zcomponent/types.cxxm
 Freestanding page-cache provider contracts.