pub struct TtlReachability { /* private fields */ }Expand description
The default: proofs live for lag_ms, in a table of at most
max_entries rows. A rewind or ref deletion is therefore visible within
the configured reachability_lag; only Reachability::invalidate
forgets one sooner.
Implementations§
Trait Implementations§
Source§impl Debug for TtlReachability
impl Debug for TtlReachability
Source§impl Reachability for TtlReachability
impl Reachability for TtlReachability
Source§fn known_reachable<'a>(
&'a self,
repo: &'a RepoId,
id: &'a Hash,
now_ms: u64,
) -> BoxFuture<'a, Result<bool, ServerError>>
fn known_reachable<'a>( &'a self, repo: &'a RepoId, id: &'a Hash, now_ms: u64, ) -> BoxFuture<'a, Result<bool, ServerError>>
Whether
id is already known to be reachable from a published ref of
repo as of now_ms. false means unknown, never unreachable. A
positive answer skips the walk, so it also skips the walk’s takedown
stop predicate: TakedownGate::check must therefore refuse a leaf
that only a blocked or tombstoned manifest reaches.Source§fn record(&self, repo: &RepoId, id: &Hash, now_ms: u64)
fn record(&self, repo: &RepoId, id: &Hash, now_ms: u64)
Record a proof: a walk found
id, or a ref-path serve resolved it.Source§fn invalidate(&self, repo: &RepoId)
fn invalidate(&self, repo: &RepoId)
Forget every proof of
repo: a takedown, suspension or visibility
change (WP-5.9a) that cannot wait out the lag calls it.Auto Trait Implementations§
impl !Freeze for TtlReachability
impl RefUnwindSafe for TtlReachability
impl Send for TtlReachability
impl Sync for TtlReachability
impl Unpin for TtlReachability
impl UnsafeUnpin for TtlReachability
impl UnwindSafe for TtlReachability
Blanket Implementations§
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