pub struct SaltCacheReader { /* private fields */ }Expand description
Read-only salt cache backed by memory-mapped file + rkyv zero-copy access.
Used during encryption to look up previously cached salt/file_id
values without allocating or fully deserializing the cache.
Implementations§
Source§impl SaltCacheReader
impl SaltCacheReader
Sourcepub fn load(repo_path: &Path) -> Self
pub fn load(repo_path: &Path) -> Self
Open the salt cache for the given repository.
If the cache file does not exist or is corrupted, returns an empty
reader (all lookups will return None). This never fails — a missing
or corrupt cache simply means we start fresh (new salts will be
generated during encryption).
Sourcepub fn get(&self, key: &[u8]) -> Option<CachedEntry>
pub fn get(&self, key: &[u8]) -> Option<CachedEntry>
Look up a cached entry by repo-relative path key (bytes). Zero-copy.
The key should be forward-slash normalized repo-relative path bytes,
computed by the caller.
Returns None if no cache file exists or the key is not cached.
Auto Trait Implementations§
impl Freeze for SaltCacheReader
impl RefUnwindSafe for SaltCacheReader
impl Send for SaltCacheReader
impl Sync for SaltCacheReader
impl Unpin for SaltCacheReader
impl UnsafeUnpin for SaltCacheReader
impl UnwindSafe for SaltCacheReader
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<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>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.