pub struct DiffCache { /* private fields */ }Expand description
Thread-safe cache for diff results.
Supports both full result caching and incremental computation when only some sections change.
Implementations§
Source§impl DiffCache
impl DiffCache
Sourcepub fn with_config(config: DiffCacheConfig) -> Self
pub fn with_config(config: DiffCacheConfig) -> Self
Create a new diff cache with custom configuration.
Sourcepub fn get(&self, key: &DiffCacheKey) -> Option<Arc<DiffResult>>
pub fn get(&self, key: &DiffCacheKey) -> Option<Arc<DiffResult>>
Look up a cached result.
Returns Some if an exact match is found and still valid.
Sourcepub fn put(
&self,
key: DiffCacheKey,
result: DiffResult,
old_hashes: SectionHashes,
new_hashes: SectionHashes,
)
pub fn put( &self, key: DiffCacheKey, result: DiffResult, old_hashes: SectionHashes, new_hashes: SectionHashes, )
Store a result in the cache.
Sourcepub fn stats(&self) -> CacheStats
pub fn stats(&self) -> CacheStats
Get cache statistics.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for DiffCache
impl RefUnwindSafe for DiffCache
impl Send for DiffCache
impl Sync for DiffCache
impl Unpin for DiffCache
impl UnsafeUnpin for DiffCache
impl UnwindSafe for DiffCache
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