pub fn decrypt_file_with_cache(
path: &Path,
key_cache: &DashMap<[u8; 16], Arc<OnceLock<Result<Zeroizing<[u8; 32]>, String>>>>,
cache: Option<(&SaltCacheSender, &[u8])>,
master_key: &[u8],
) -> Result<()>Expand description
Decrypt a single file using streaming chunked decryption, with a thread-safe cache for derived keys and an optional cache sender for deterministic re-encryption.
The cache tuple contains (sender, relative_key) — the caller is
responsible for computing the repo-relative path key.