pub struct CacheEvictionService { /* private fields */ }Expand description
Background service that manages cache eviction
Implementations§
Source§impl CacheEvictionService
impl CacheEvictionService
Sourcepub fn new(
database: ModelDatabase,
config: CacheEvictionConfig,
cache_directory: PathBuf,
) -> Self
pub fn new( database: ModelDatabase, config: CacheEvictionConfig, cache_directory: PathBuf, ) -> Self
Create a new cache eviction service
Sourcepub async fn start(
self,
shutdown_receiver: Receiver<()>,
) -> Result<(), Box<dyn Error + Send + Sync>>
pub async fn start( self, shutdown_receiver: Receiver<()>, ) -> Result<(), Box<dyn Error + Send + Sync>>
Start the background eviction service
Sourcepub async fn manual_evict(
&self,
model_names: &[String],
) -> Result<EvictionResult, Box<dyn Error + Send + Sync>>
pub async fn manual_evict( &self, model_names: &[String], ) -> Result<EvictionResult, Box<dyn Error + Send + Sync>>
Manually trigger eviction for specific models
Sourcepub async fn get_cache_stats(
&self,
) -> Result<CacheStats, Box<dyn Error + Send + Sync>>
pub async fn get_cache_stats( &self, ) -> Result<CacheStats, Box<dyn Error + Send + Sync>>
Get statistics about the current cache state
Auto Trait Implementations§
impl Freeze for CacheEvictionService
impl RefUnwindSafe for CacheEvictionService
impl Send for CacheEvictionService
impl Sync for CacheEvictionService
impl Unpin for CacheEvictionService
impl UnsafeUnpin for CacheEvictionService
impl UnwindSafe for CacheEvictionService
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> 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