pub struct ScriptCache { /* private fields */ }Expand description
Shard cache keyed by canonical script path. One per shard file.
Implementations§
Source§impl ScriptCache
impl ScriptCache
pub fn open(path: &Path) -> Result<Self>
Sourcepub fn get(
&self,
path: &str,
mtime_secs: i64,
mtime_nsecs: i64,
) -> Option<Vec<u8>>
pub fn get( &self, path: &str, mtime_secs: i64, mtime_nsecs: i64, ) -> Option<Vec<u8>>
Cache lookup. Returns None on miss, mtime mismatch, version drift, or
zshrs binary newer than the cached entry.
Sourcepub fn put(
&self,
path: &str,
mtime_secs: i64,
mtime_nsecs: i64,
chunk_blob: Vec<u8>,
) -> Result<(), String>
pub fn put( &self, path: &str, mtime_secs: i64, mtime_nsecs: i64, chunk_blob: Vec<u8>, ) -> Result<(), String>
Insert / replace an entry. Serializes the whole shard and atomic-renames.
Sourcepub fn list_scripts(&self) -> Vec<(String, f64, String, String)>
pub fn list_scripts(&self) -> Vec<(String, f64, String, String)>
(path, chunk_kb, version, cached_at_localstr) per entry,
sorted by cached_at desc.
Sourcepub fn evict_stale(&self) -> usize
pub fn evict_stale(&self) -> usize
Drop entries whose source file vanished or whose mtime changed.
pub fn clear(&self) -> Result<()>
Auto Trait Implementations§
impl !Freeze for ScriptCache
impl !RefUnwindSafe for ScriptCache
impl Send for ScriptCache
impl Sync for ScriptCache
impl Unpin for ScriptCache
impl UnsafeUnpin for ScriptCache
impl UnwindSafe for ScriptCache
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.