Skip to main content

CacheData

Struct CacheData 

Source
pub struct CacheData {
    pub cache_version: String,
    pub directory: String,
    pub file_snapshot: Vec<SnapshotItem>,
    pub match_operations: Vec<OpItem>,
    pub created_at: u64,
    pub ai_model_used: String,
    pub config_hash: String,
    pub original_relocation_mode: String,
    pub original_backup_enabled: bool,
}
Expand description

Dry-run cache data structure containing snapshot and match history.

Stores the complete state of a directory scan and match operations, enabling efficient incremental processing and result caching.

Fields§

§cache_version: String

Version of the cache format for compatibility checking

§directory: String

Path to the directory that was processed

§file_snapshot: Vec<SnapshotItem>

Snapshot of all files found during scanning

§match_operations: Vec<OpItem>

List of all match operations performed

§created_at: u64

Timestamp when the cache was created

§ai_model_used: String

AI model used for matching operations

§config_hash: String

Hash of configuration used for matching

§original_relocation_mode: String

Records the relocation mode when the cache was generated

§original_backup_enabled: bool

Records whether backup was enabled when the cache was generated

Implementations§

Source§

impl CacheData

Source

pub fn load(path: &Path) -> Result<Self, Error>

Loads cache data from the specified file path.

Source

pub fn has_empty_snapshot(&self) -> bool

Returns true when the cache carries no file snapshot entries.

Legacy caches generated before snapshot population was implemented will report true; callers should treat such caches as unable to perform freshness validation.

Source

pub fn validate_snapshot(&self) -> Vec<StaleFile>

Validates every snapshot entry against the current filesystem state.

Returns a list of StaleFile records describing each file whose on-disk state diverges from the snapshot (missing, size mismatch, or modification-time mismatch). An empty result indicates that the snapshot is still consistent with the filesystem.

Source

pub fn validate_target_paths(&self) -> Vec<PathBuf>

Checks whether any planned subtitle target path already exists on disk.

For every cached operation, the target path is computed based on the recorded relocation mode: when the mode is anything other than "None", the target resides next to the video file; otherwise it stays alongside the original subtitle file. Returns the list of target paths that already exist and would therefore conflict with applying the cached plan.

Trait Implementations§

Source§

impl Clone for CacheData

Source§

fn clone(&self) -> CacheData

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CacheData

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for CacheData

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for CacheData

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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<F, T> IntoSample<T> for F
where T: FromSample<F>,

Source§

fn into_sample(self) -> T

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> Serialize for T
where T: Serialize + ?Sized,

Source§

fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>

Source§

fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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<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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,