Skip to main content

CacheMetadataManager

Struct CacheMetadataManager 

Source
pub struct CacheMetadataManager<'a, F: FileSystem> { /* private fields */ }
Expand description

Manages cache metadata for optimized version checking

Implementations§

Source§

impl<'a, F: FileSystem> CacheMetadataManager<'a, F>

Source

pub const fn new(fs: &'a F) -> Self

Source

pub fn load_metadata<P: AsRef<Path>>( &self, cache_dir: P, ) -> Result<GlobalCacheMetadata, Error>

Load global cache metadata, creating default if it doesn’t exist

§Errors

Returns an error if the metadata file exists but cannot be read or parsed

Source

pub fn save_metadata<P: AsRef<Path>>( &self, cache_dir: P, metadata: &GlobalCacheMetadata, ) -> Result<(), Error>

Save global cache metadata

§Errors

Returns an error if the metadata cannot be serialized or written to disk

Source

pub fn check_spec_version<P: AsRef<Path>>( &self, cache_dir: P, spec_name: &str, ) -> Result<bool, Error>

Check if a spec’s cache is compatible with current version

§Errors

Returns an error if the metadata file cannot be loaded

Source

pub fn update_spec_metadata<P: AsRef<Path>>( &self, cache_dir: P, spec_name: &str, file_size: u64, ) -> Result<(), Error>

Update metadata for a specific spec

§Errors

Returns an error if the metadata cannot be loaded or saved

Source

pub fn update_spec_metadata_with_fingerprint<P: AsRef<Path>>( &self, cache_dir: P, spec_name: &str, file_size: u64, content_hash: Option<String>, mtime_secs: Option<u64>, spec_file_size: Option<u64>, ) -> Result<(), Error>

Update metadata for a specific spec including fingerprint data for cache invalidation

§Errors

Returns an error if the metadata cannot be loaded or saved

Source

pub fn get_stored_fingerprint<P: AsRef<Path>>( &self, cache_dir: P, spec_name: &str, ) -> Result<Option<(String, u64, u64)>, Error>

Retrieve the stored fingerprint for a spec (content hash, mtime, file size).

Returns None if the spec is not in metadata or has no fingerprint data (legacy metadata created before fingerprinting was added).

§Errors

Returns an error if the metadata file cannot be loaded

Source

pub fn remove_spec_metadata<P: AsRef<Path>>( &self, cache_dir: P, spec_name: &str, ) -> Result<(), Error>

Remove spec from metadata

§Errors

Returns an error if the metadata cannot be loaded or saved

Source

pub fn list_cached_specs<P: AsRef<Path>>( &self, cache_dir: P, ) -> Result<Vec<String>, Error>

Get all specs in metadata

§Errors

Returns an error if the metadata file cannot be loaded

Auto Trait Implementations§

§

impl<'a, F> Freeze for CacheMetadataManager<'a, F>

§

impl<'a, F> RefUnwindSafe for CacheMetadataManager<'a, F>
where F: RefUnwindSafe,

§

impl<'a, F> Send for CacheMetadataManager<'a, F>
where F: Sync,

§

impl<'a, F> Sync for CacheMetadataManager<'a, F>
where F: Sync,

§

impl<'a, F> Unpin for CacheMetadataManager<'a, F>

§

impl<'a, F> UnsafeUnpin for CacheMetadataManager<'a, F>

§

impl<'a, F> UnwindSafe for CacheMetadataManager<'a, F>
where F: RefUnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,