pub struct VegaFusionCache { /* private fields */ }Expand description
The VegaFusionCache uses a Segmented LRU (SLRU) cache policy (https://en.wikipedia.org/wiki/Cache_replacement_policies#Segmented_LRU_(SLRU)) where both the protected and probationary LRU caches are limited by capacity (number of entries) and memory limit.
Implementations§
Source§impl VegaFusionCache
impl VegaFusionCache
pub fn new(capacity: Option<usize>, size_limit: Option<usize>) -> Self
pub fn capacity(&self) -> Option<usize>
pub fn memory_limit(&self) -> Option<usize>
pub fn size(&self) -> usize
pub fn total_memory(&self) -> usize
pub fn protected_memory(&self) -> usize
pub fn probationary_memory(&self) -> usize
pub async fn clear(&self)
pub async fn get_or_try_insert_with<F>( &self, state_fingerprint: u64, init: F, ) -> Result<(TaskValue, Vec<TaskValue>)>
Trait Implementations§
Source§impl Clone for VegaFusionCache
impl Clone for VegaFusionCache
Source§fn clone(&self) -> VegaFusionCache
fn clone(&self) -> VegaFusionCache
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for VegaFusionCache
impl !RefUnwindSafe for VegaFusionCache
impl Send for VegaFusionCache
impl Sync for VegaFusionCache
impl Unpin for VegaFusionCache
impl !UnwindSafe for VegaFusionCache
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request