pub struct PersistentCache { /* private fields */ }Expand description
File-based persistent cache
Implementations§
Source§impl PersistentCache
impl PersistentCache
Sourcepub fn new(cache_dir: impl AsRef<Path>) -> Result<Self>
pub fn new(cache_dir: impl AsRef<Path>) -> Result<Self>
Create a new persistent cache with a directory
Sourcepub fn load_symbol_table(
&mut self,
content: &str,
) -> Result<Option<SymbolTable>>
pub fn load_symbol_table( &mut self, content: &str, ) -> Result<Option<SymbolTable>>
Load SymbolTable from cache (memory or disk)
Sourcepub fn save_symbol_table(
&mut self,
content: &str,
table: &SymbolTable,
) -> Result<()>
pub fn save_symbol_table( &mut self, content: &str, table: &SymbolTable, ) -> Result<()>
Save SymbolTable to cache (memory and disk)
Sourcepub fn load_schema(
&mut self,
content: &str,
) -> Result<Option<(IndexMap<String, ClassInfo>, IndexMap<String, PropertyInfo>)>>
pub fn load_schema( &mut self, content: &str, ) -> Result<Option<(IndexMap<String, ClassInfo>, IndexMap<String, PropertyInfo>)>>
Load schema from cache (memory or disk)
Sourcepub fn save_schema(
&mut self,
content: &str,
classes: &IndexMap<String, ClassInfo>,
properties: &IndexMap<String, PropertyInfo>,
) -> Result<()>
pub fn save_schema( &mut self, content: &str, classes: &IndexMap<String, ClassInfo>, properties: &IndexMap<String, PropertyInfo>, ) -> Result<()>
Save schema to cache (memory and disk)
Sourcepub fn stats(&self) -> CacheStats
pub fn stats(&self) -> CacheStats
Get cache statistics
Auto Trait Implementations§
impl Freeze for PersistentCache
impl RefUnwindSafe for PersistentCache
impl Send for PersistentCache
impl Sync for PersistentCache
impl Unpin for PersistentCache
impl UnwindSafe for PersistentCache
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 more