pub struct ParseCache { /* private fields */ }Expand description
LRU cache for parsed prose extraction results keyed by file path.
Only returns cached results when the content hash matches, ensuring stale entries are automatically invalidated on file change.
Implementations§
Source§impl ParseCache
impl ParseCache
Sourcepub fn new(capacity: usize) -> Self
pub fn new(capacity: usize) -> Self
Create a new cache with the given capacity (number of files).
Sourcepub fn get(&mut self, path: &Path, content: &str) -> Option<Vec<ProseRange>>
pub fn get(&mut self, path: &Path, content: &str) -> Option<Vec<ProseRange>>
Look up cached prose ranges for a file. Returns None if the file is not
cached or the content has changed since the last parse.
Sourcepub fn put(
&mut self,
path: PathBuf,
content: &str,
prose_ranges: Vec<ProseRange>,
)
pub fn put( &mut self, path: PathBuf, content: &str, prose_ranges: Vec<ProseRange>, )
Insert (or update) a cache entry for the given file.
Sourcepub fn invalidate(&mut self, path: &Path)
pub fn invalidate(&mut self, path: &Path)
Evict a specific file from the cache.
Auto Trait Implementations§
impl Freeze for ParseCache
impl RefUnwindSafe for ParseCache
impl Send for ParseCache
impl Sync for ParseCache
impl Unpin for ParseCache
impl UnsafeUnpin for ParseCache
impl UnwindSafe for ParseCache
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> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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