Skip to main content

CacheResidencyPool

Struct CacheResidencyPool 

Source
pub struct CacheResidencyPool { /* private fields */ }
Expand description

Shareable aggregate ownership boundary for scheduler and standalone caches.

Implementations§

Source§

impl CacheResidencyPool

Source

pub fn new(limits: CachePoolLimits) -> Self

Creates an empty process pool under aggregate finite limits.

Source

pub const fn id(&self) -> u64

Returns this pool’s stable process-local identity.

Source

pub const fn limits(&self) -> CachePoolLimits

Returns aggregate finite limits.

Source

pub fn register_manager( &self, manager: u64, ) -> Result<CachePoolMembership, CachePoolError>

Registers a manager and returns its exact RAII membership token.

Source

pub fn update_manager( &self, manager: u64, usage: CachePoolUsage, ) -> Result<CachePoolUsage, CachePoolError>

Replaces the published occupancy owned by one registered manager.

Backends use reservations to admit growth before allocating it, publish the resulting concrete occupancy here, and then release the reservation. Publication records physical truth even when an unavoidable allocation boundary temporarily exceeds a limit; subsequent admissions fail and the backend must synchronously rebalance or roll back that allocation.

Source

pub fn reserve( &self, usage: CachePoolUsage, ) -> Result<CachePoolReservation, CachePoolError>

Atomically admits additional occupancy until its RAII token is dropped.

Source

pub fn reserve_transfer( &self, bytes: u64, ) -> Result<CachePoolReservation, CachePoolError>

Atomically admits resources retained by one submitted transfer.

Source

pub fn report(&self) -> Result<CachePoolReport, CachePoolError>

Returns aggregate current occupancy and high-water marks.

Trait Implementations§

Source§

impl Clone for CacheResidencyPool

Source§

fn clone(&self) -> CacheResidencyPool

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CacheResidencyPool

Source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for CacheResidencyPool

Source§

impl PartialEq for CacheResidencyPool

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.