pub trait FileDigestCache: Send + Sync {
// Required methods
fn find(
&self,
scope: FileDigestScope,
files: &[FileIdentity],
) -> Vec<Option<CacheDigest>>;
fn record(&self, scope: FileDigestScope, entries: Vec<RecordedFileDigest>);
}Expand description
Recorded digests a session may consult instead of rehashing a file.
The agent’s file-digest ledger answers through this everywhere a caller holds one; the no-op implementation stands in where reuse must not happen, such as under verification.
Required Methods§
Sourcefn find(
&self,
scope: FileDigestScope,
files: &[FileIdentity],
) -> Vec<Option<CacheDigest>>
fn find( &self, scope: FileDigestScope, files: &[FileIdentity], ) -> Vec<Option<CacheDigest>>
Recorded digests for these identities, in request order.
Sourcefn record(&self, scope: FileDigestScope, entries: Vec<RecordedFileDigest>)
fn record(&self, scope: FileDigestScope, entries: Vec<RecordedFileDigest>)
Record digests for files read under these identities.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".