pub struct CandidateIdentity {
pub generation: u64,
pub index: usize,
}Expand description
What:
The identity of one candidate within one invocation.
u64 is an unsigned 64-bit counter (siblings u32,
usize);
usize is the
unsigned integer every index uses.
Why:
Identity must not be derived from the pathname,
which the scanner may mask.
The generation tells a candidate of an invalidated version from a current
one;
u64 cannot run out within a process.
The index is the candidate’s
position in its version,
and usize is what indexing and the scanner take.
In TS you’d write (pseudocode):
type CandidateIdentity = { generation: bigint; index: number };Fields§
§generation: u64Counts invalidations: candidates of an earlier generation are stale.
index: usizeZero-based position in the version’s candidate list.
Trait Implementations§
Source§impl Clone for CandidateIdentity
impl Clone for CandidateIdentity
impl Copy for CandidateIdentity
Source§impl Debug for CandidateIdentity
impl Debug for CandidateIdentity
impl Eq for CandidateIdentity
Source§impl PartialEq for CandidateIdentity
impl PartialEq for CandidateIdentity
impl StructuralPartialEq for CandidateIdentity
Auto Trait Implementations§
impl Freeze for CandidateIdentity
impl RefUnwindSafe for CandidateIdentity
impl Send for CandidateIdentity
impl Sync for CandidateIdentity
impl Unpin for CandidateIdentity
impl UnsafeUnpin for CandidateIdentity
impl UnwindSafe for CandidateIdentity
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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 more