pub struct RevocationCache { /* private fields */ }Expand description
A cache of RFC-ACDP-0014 revocation facts and discovery-freshness
markers, injectable into a crate::RegistryClient via
crate::RegistryClient::with_revocation_cache.
Clone, cheap (an Arc handle around a Mutex<HashMap<..>>>, following
the same hand-rolled-bound pattern CrossRegistryResolver already uses
for client_cache/caps_cache — see crate::cross_registry). Sharing
one clone across multiple RegistryClients (or multiple producers’
verify calls) is the point: it is how a caller amortizes discovery
across many verify_retrieved calls against the same producer, and how
issue #260’s cross-registry walk will later share one cache across the
per-authority clients it builds.
Attaching a cache changes nothing observable by itself: with the default
freshness: Duration::ZERO (both RevocationDiscovery named
constructors), markers never suppress a lookup — see
marker_fresh’s fast path (crate-private). The only behavioral change from
attaching a cache at the default is anti-rollback (facts persisting
across an induced discovery failure); saving requests is a further,
opt-in step that requires setting freshness above zero.