pub struct InvalidationEngine { /* private fields */ }Expand description
Core invalidation engine
Implementations§
Source§impl InvalidationEngine
impl InvalidationEngine
Sourcepub fn new(strategy: InvalidationStrategy) -> Self
pub fn new(strategy: InvalidationStrategy) -> Self
Create new invalidation engine
Sourcepub fn with_config(
strategy: InvalidationStrategy,
config: InvalidationConfig,
) -> Self
pub fn with_config( strategy: InvalidationStrategy, config: InvalidationConfig, ) -> Self
Create with configuration
Sourcepub fn register_dependencies(
&self,
cache_key: CacheKey,
patterns: Vec<TriplePattern>,
) -> Result<()>
pub fn register_dependencies( &self, cache_key: CacheKey, patterns: Vec<TriplePattern>, ) -> Result<()>
Register dependencies for a cache entry with default TTL
Sourcepub fn register_dependencies_with_ttl(
&self,
cache_key: CacheKey,
patterns: Vec<TriplePattern>,
ttl: Option<Duration>,
) -> Result<()>
pub fn register_dependencies_with_ttl( &self, cache_key: CacheKey, patterns: Vec<TriplePattern>, ttl: Option<Duration>, ) -> Result<()>
Register dependencies for a cache entry with custom TTL
Sourcepub fn cleanup_expired<F>(&self, invalidate_fn: F) -> Result<usize>
pub fn cleanup_expired<F>(&self, invalidate_fn: F) -> Result<usize>
Clean up expired cache entries based on TTL
Sourcepub fn start_ttl_cleanup_task<F>(&self, invalidate_fn: F)
pub fn start_ttl_cleanup_task<F>(&self, invalidate_fn: F)
Start background TTL cleanup task
Sourcepub fn remove_entry(&self, cache_key: &CacheKey) -> Result<()>
pub fn remove_entry(&self, cache_key: &CacheKey) -> Result<()>
Remove cache entry and its dependencies
Sourcepub fn find_affected_entries(
&self,
triple: &TriplePattern,
) -> Result<HashSet<CacheKey>>
pub fn find_affected_entries( &self, triple: &TriplePattern, ) -> Result<HashSet<CacheKey>>
Find entries that should be invalidated due to a triple update
Sourcepub fn invalidate<F>(
&self,
triple: &TriplePattern,
invalidate_fn: F,
) -> Result<()>
pub fn invalidate<F>( &self, triple: &TriplePattern, invalidate_fn: F, ) -> Result<()>
Invalidate cache entries (strategy-dependent)
Sourcepub fn flush_pending<F>(&self, invalidate_fn: F) -> Result<()>
pub fn flush_pending<F>(&self, invalidate_fn: F) -> Result<()>
Force flush all pending invalidations
Sourcepub fn statistics(&self) -> InvalidationStatistics
pub fn statistics(&self) -> InvalidationStatistics
Get invalidation statistics
Trait Implementations§
Auto Trait Implementations§
impl Freeze for InvalidationEngine
impl !RefUnwindSafe for InvalidationEngine
impl Send for InvalidationEngine
impl Sync for InvalidationEngine
impl Unpin for InvalidationEngine
impl UnsafeUnpin for InvalidationEngine
impl !UnwindSafe for InvalidationEngine
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> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.